Problems installing

Aperta
#949 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
c, cmake, ruby

Direzione di ricerca

Il report contiene un log di compilazione nativa parziale proveniente da gem install e fa riferimento a vendor/libgit2/deps e vendor/libgit2/src/libgit2/annotated_commit.c. Riproduci l’installazione in Termux, acquisisci l’errore completo del compilatore dopo l’output mostrato e determina se la gem può essere installata correttamente su Android.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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!

Lingua principale
C
Stelle
2.3k
Fork
293
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di libgit2/rugged

Tutte le issue di libgit2/rugged

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.