Open eggbean opened 1 year ago
I'm trying to build a statically-linked binary as I have that I cannot use git-crypt on Oracle Linux 9.1 (and I have become pretty dependent on it).
I add the CXXFLAGS from the Makefile and add -static and -pthread, but I get these errors:
-static
-pthread
$ CXXFLAGS='-Wall -pedantic -Wno-long-long -O2 -static -pthread' make g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o git-crypt.o git-crypt.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o commands.o commands.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o crypto.o crypto.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o gpg.o gpg.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o key.o key.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o util.o util.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o parse_options.o parse_options.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o coprocess.o coprocess.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o fhstream.o fhstream.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o crypto-openssl-10.o crypto-openssl-10.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -c -o crypto-openssl-11.o crypto-openssl-11.cpp g++ -Wall -pedantic -Wno-long-long -O2 -static -pthread -std=c++11 -o git-crypt git-crypt.o commands.o crypto.o gpg.o key.o util.o parse_options.o coprocess.o fhstream.o crypto-openssl-10.o crypto-openssl-11.o -lcrypto /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libcrypto.a(b_addr.o): in function `BIO_lookup_ex': (.text+0xcef): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libcrypto.a(b_sock.o): in function `BIO_gethostbyname': (.text+0x71): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libcrypto.a(dso_dlfcn.o): in function `dlfcn_globallookup': (.text+0x13): undefined reference to `dlopen' /usr/bin/ld: (.text+0x26): undefined reference to `dlsym' /usr/bin/ld: (.text+0x31): undefined reference to `dlclose' /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libcrypto.a(dso_dlfcn.o): in function `dlfcn_pathbyaddr': (.text+0x72): undefined reference to `dladdr' /usr/bin/ld: (.text+0xe7): undefined reference to `dlerror' /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libcrypto.a(dso_dlfcn.o): in function `dlfcn_bind_func': (.text+0x3f7): undefined reference to `dlsym' /usr/bin/ld: (.text+0x4c2): undefined reference to `dlerror' /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libcrypto.a(dso_dlfcn.o): in function `dlfcn_load': (.text+0x531): undefined reference to `dlopen' /usr/bin/ld: (.text+0x5a9): undefined reference to `dlclose' /usr/bin/ld: (.text+0x5e5): undefined reference to `dlerror' /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/libcrypto.a(dso_dlfcn.o): in function `dlfcn_unload': (.text+0x6a4): undefined reference to `dlclose' collect2: error: ld returned 1 exit status make: *** [Makefile:50: git-crypt] Error 1
What can I do? I'm using Debian/Ubuntu.
I'm trying to build a statically-linked binary as I have that I cannot use git-crypt on Oracle Linux 9.1 (and I have become pretty dependent on it).
I add the CXXFLAGS from the Makefile and add
-static
and-pthread
, but I get these errors:What can I do? I'm using Debian/Ubuntu.