Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Problems installing

Abierto
#949 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
c, cmake, ruby

Línea de trabajo

El informe contiene un registro de compilación nativa parcial de gem install y hace referencia a vendor/libgit2/deps y vendor/libgit2/src/libgit2/annotated_commit.c. Reproduce la instalación en Termux, captura el error completo del compilador después de la salida mostrada y determina si la gema puede instalarse correctamente en Android.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hello, I'm trying to install rugged in Termux for Android and I'm having problems:

Running gem install rugged, or downloading the github repo and running gem install -g produces:

LD_LIBRARY_PATH=.:/data/data/com.termux/files/usr/lib /data/data/com.termux/files/usr/bin/make
[  0%] Building C object deps/http-parser/CMakeFiles/http-parser.dir/http_parser.c.o
[  0%] Built target http-parser
[  0%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_byte_order.c.o
[  1%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_chartables.c.o
[  1%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_compile.c.o
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/pcre/pcre_compile.c:4558:7: warning: variable 'class_has_8bitchar' set but not used [-Wunused-but-set-variable]
  int class_has_8bitchar;
      ^
1 warning generated.
[  2%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_config.c.o
[  2%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_dfa_exec.c.o
[  3%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_exec.c.o
[  3%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_fullinfo.c.o
[  4%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_get.c.o
[  4%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_globals.c.o
[  5%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_jit_compile.c.o
[  5%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_maketables.c.o
[  6%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_newline.c.o
[  6%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_ord2utf8.c.o
[  7%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_refcount.c.o
[  7%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_string_utils.c.o
[  8%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_study.c.o
[  8%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_tables.c.o
[  9%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_ucd.c.o
[  9%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_valid_utf8.c.o
[ 10%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_version.c.o
[ 10%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_xclass.c.o
[ 11%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcreposix.c.o
[ 11%] Built target pcre
[ 11%] Building C object deps/ntlmclient/CMakeFiles/ntlmclient.dir/ntlm.c.o
[ 12%] Building C object deps/ntlmclient/CMakeFiles/ntlmclient.dir/util.c.o
[ 12%] Building C object deps/ntlmclient/CMakeFiles/ntlmclient.dir/unicode_builtin.c.o
[ 13%] Building C object deps/ntlmclient/CMakeFiles/ntlmclient.dir/crypt_openssl.c.o
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/ntlmclient/crypt_openssl.c:130:35: warning: 'DES_set_key' is deprecated [-Wdeprecated-declarations]
        ntlm->crypt_ctx.des_set_key_fn = DES_set_key;
                                         ^
/data/data/com.termux/files/usr/include/openssl/des.h:185:1: note: 'DES_set_key' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0
^
/data/data/com.termux/files/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/data/data/com.termux/files/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/ntlmclient/crypt_openssl.c:131:39: warning: 'DES_ecb_encrypt' is deprecated [-Wdeprecated-declarations]
        ntlm->crypt_ctx.des_ecb_encrypt_fn = DES_ecb_encrypt;
                                             ^
/data/data/com.termux/files/usr/include/openssl/des.h:104:1: note: 'DES_ecb_encrypt' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0
^
/data/data/com.termux/files/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/data/data/com.termux/files/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/ntlmclient/crypt_openssl.c:135:36: warning: 'HMAC_CTX_new' is deprecated [-Wdeprecated-declarations]
        ntlm->crypt_ctx.hmac_ctx_new_fn = HMAC_CTX_new;
                                          ^
/data/data/com.termux/files/usr/include/openssl/hmac.h:33:1: note: 'HMAC_CTX_new' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 HMAC_CTX *HMAC_CTX_new(void);
^
/data/data/com.termux/files/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/data/data/com.termux/files/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/ntlmclient/crypt_openssl.c:136:37: warning: 'HMAC_CTX_free' is deprecated [-Wdeprecated-declarations]
        ntlm->crypt_ctx.hmac_ctx_free_fn = HMAC_CTX_free;
                                           ^
/data/data/com.termux/files/usr/include/openssl/hmac.h:35:1: note: 'HMAC_CTX_free' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_free(HMAC_CTX *ctx);
^
/data/data/com.termux/files/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/data/data/com.termux/files/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/ntlmclient/crypt_openssl.c:137:38: warning: 'HMAC_CTX_reset' is deprecated [-Wdeprecated-declarations]
        ntlm->crypt_ctx.hmac_ctx_reset_fn = HMAC_CTX_reset;
                                            ^
/data/data/com.termux/files/usr/include/openssl/hmac.h:34:1: note: 'HMAC_CTX_reset' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int HMAC_CTX_reset(HMAC_CTX *ctx);
^
/data/data/com.termux/files/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/data/data/com.termux/files/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/ntlmclient/crypt_openssl.c:139:36: warning: 'HMAC_Init_ex' is deprecated [-Wdeprecated-declarations]
        ntlm->crypt_ctx.hmac_init_ex_fn = HMAC_Init_ex;
                                          ^
/data/data/com.termux/files/usr/include/openssl/hmac.h:43:1: note: 'HMAC_Init_ex' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
^
/data/data/com.termux/files/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/data/data/com.termux/files/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/ntlmclient/crypt_openssl.c:140:35: warning: 'HMAC_Update' is deprecated [-Wdeprecated-declarations]
        ntlm->crypt_ctx.hmac_update_fn = HMAC_Update;
                                         ^
/data/data/com.termux/files/usr/include/openssl/hmac.h:45:1: note: 'HMAC_Update' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
^
/data/data/com.termux/files/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/data/data/com.termux/files/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/ntlmclient/crypt_openssl.c:141:34: warning: 'HMAC_Final' is deprecated [-Wdeprecated-declarations]
        ntlm->crypt_ctx.hmac_final_fn = HMAC_Final;
                                        ^
/data/data/com.termux/files/usr/include/openssl/hmac.h:47:1: note: 'HMAC_Final' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,
^
/data/data/com.termux/files/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/data/data/com.termux/files/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
/data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/deps/ntlmclient/crypt_openssl.c:142:27: warning: 'MD4' is deprecated [-Wdeprecated-declarations]
        ntlm->crypt_ctx.md4_fn = MD4;
                                 ^
/data/data/com.termux/files/usr/include/openssl/md4.h:53:1: note: 'MD4' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 unsigned char *MD4(const unsigned char *d, size_t n,
^
/data/data/com.termux/files/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/data/data/com.termux/files/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
9 warnings generated.
[ 13%] Built target ntlmclient
[ 14%] Building C object src/libgit2/CMakeFiles/libgit2.dir/annotated_commit.c.o
In file included from /data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/src/libgit2/annotated_commit.c:8:
In file included from /data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/src/libgit2/annotated_commit.h:10:
In file included from /data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/src/libgit2/common.h:10:
In file included from /data/data/com.termux/files/usr/lib/ruby/gems/3.2.0/gems/rugged-1.5.1/vendor/libgit2/src/util/git2_util.h:96:
In file included from /data/data/com.termux/files/usr/include/arpa/inet.h:32:
In file included from /data/data/com.termux/files/usr/include/netinet/in.h:45:
In file included from /data/data/com.termux/files/usr/include/linux/in.h:238:
In file included from /data/data/com.termux/files/usr/include/aarch64-linux-android/asm/byteorder.h:24:
In file included from /data/data/com.termux/files/usr/include/linux/byteorder/little_endian.h:29:
/data/data/com.termux/files/usr/include/linux/swab.h:40:8: error: unknown type name 'inline'
static inline __attribute__((__const__)) __u32 __fswahw32(__u32 val) {
       ^
/data/data/com.termux/files/usr/include/linux/swab.h:40:47: error: expected ';' after top level declarator
static inline __attribute__((__const__)) __u32 __fswahw32(__u32 val) {
                                              ^
2 errors generated.
make[2]: *** [src/libgit2/CMakeFiles/libgit2.dir/build.make:76: src/libgit2/CMakeFiles/libgit2.dir/annotated_commit.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:265: src/libgit2/CMakeFiles/libgit2.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

That looks like a problem related to the fact that I'm using clang instead of gcc maybe? or a problem with Termux and not your fault?

Then I tried running gem install -g -- --use-system-libraries and I get this:

LD_LIBRARY_PATH=.:/data/data/com.termux/files/usr/lib pkg-config --exists libgit2
LD_LIBRARY_PATH=.:/data/data/com.termux/files/usr/lib pkg-config --libs libgit2 |
=> "-L/data/data/com.termux/files/usr/lib -lgit2\n"
LD_LIBRARY_PATH=.:/data/data/com.termux/files/usr/lib "aarch64-linux-android-clang -o conftest -I/data/data/com.termux/files/usr/include/ruby-3.2.0/aarch64-linux-android -I/data/data/com.termux/files/usr/include/ruby-3.2.0/ruby/backward -I/data/data/com.termux/files/usr/include/ruby-3.2.0 -I.  -I/data/data/com.termux/files/usr/include   -fstack-protector-strong -Oz -fno-strict-aliasing -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wundef -fPIC  -g -O3 -Wall -Wno-comment conftest.c  -L. -L/data/data/com.termux/files/usr/lib -L. -L/data/data/com.termux/files/usr/lib -Wl,-rpath=/data/data/com.termux/files/usr/lib -fopenmp -static-openmp -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,relro,-z,now -Wl,--no-as-needed,-landroid-support,--as-needed -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed     -lruby  -lm  -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return !!argv[argc];
6: }
/* end */

LD_LIBRARY_PATH=.:/data/data/com.termux/files/usr/lib "aarch64-linux-android-clang -o conftest -I/data/data/com.termux/files/usr/include/ruby-3.2.0/aarch64-linux-android -I/data/data/com.termux/files/usr/include/ruby-3.2.0/ruby/backward -I/data/data/com.termux/files/usr/include/ruby-3.2.0 -I.  -I/data/data/com.termux/files/usr/include   -fstack-protector-strong -Oz -fno-strict-aliasing -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wundef -fPIC  -g -O3 -Wall -Wno-comment conftest.c  -L. -L/data/data/com.termux/files/usr/lib -L. -L/data/data/com.termux/files/usr/lib -Wl,-rpath=/data/data/com.termux/files/usr/lib -fopenmp -static-openmp -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,relro,-z,now -Wl,--no-as-needed,-landroid-support,--as-needed -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed     -lruby -L/data/data/com.termux/files/usr/lib -lgit2 -lm  -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return !!argv[argc];
6: }
/* end */

LD_LIBRARY_PATH=.:/data/data/com.termux/files/usr/lib pkg-config --cflags-only-I libgit2 |
=> "-I/data/data/com.termux/files/usr/include\n"
LD_LIBRARY_PATH=.:/data/data/com.termux/files/usr/lib pkg-config --cflags-only-other libgit2 |
=> "\n"
LD_LIBRARY_PATH=.:/data/data/com.termux/files/usr/lib pkg-config --libs-only-l libgit2 |
=> "-lgit2\n"
package configuration for libgit2
incflags: -I/data/data/com.termux/files/usr/include
cflags: 
ldflags: -L/data/data/com.termux/files/usr/lib
libs: -lgit2

LD_LIBRARY_PATH=.:/data/data/com.termux/files/usr/lib "aarch64-linux-android-clang -I/data/data/com.termux/files/usr/include/ruby-3.2.0/aarch64-linux-android -I/data/data/com.termux/files/usr/include/ruby-3.2.0/ruby/backward -I/data/data/com.termux/files/usr/include/ruby-3.2.0 -I. -I/data/data/com.termux/files/usr/include  -I/data/data/com.termux/files/usr/include   -fstack-protector-strong -Oz -fno-strict-aliasing -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wundef -fPIC  -g -O3 -Wall -Wno-comment    -c conftest.c"
conftest.c:5:27: error: invalid token at start of a preprocessor expression
#if LIBGIT2_VER_MAJOR !=  || LIBGIT2_VER_MINOR !=
                          ^
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <git2/version.h>
4: 
5: #if LIBGIT2_VER_MAJOR !=  || LIBGIT2_VER_MINOR !=
6: #error libgit2 version is not compatible
7: #endif
/* end */

This time I don't know what is happening. I have the libgit2 package installed which includes the .h headers. If I read /usr/include/git2/version.h I see that the version is 1.5.1, and the version of rugged is 1.5.1 too.

Apparently it is a problem in ext/rugged/extconf.rb. I tried to edit it but apparently my changes are not used when I run gem install again

Any ideas? Thanks!

Lenguaje dominante
C
Estrellas
2.3k
Forks
293
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de libgit2/rugged

Todos los issues de libgit2/rugged

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.