cpuminer-multi icon indicating copy to clipboard operation
cpuminer-multi copied to clipboard

can't build with statically linked library

Open jm33-m0 opened this issue 8 years ago • 7 comments

  • CentOS does not have glibc 2.14+, nor libcurl4
  • if built with dynamically linked libs, the binary file runs fine on Debian based linux
  • so how do i compile a generic ELF with statically linked libs?

jm33-m0 avatar Sep 18 '16 14:09 jm33-m0

Same question !

0xAliNik avatar Jun 09 '17 20:06 0xAliNik

when use : ./configure CFLAGS="-static"

get this error :

checking for libcurl >= version 7.15.2... yes
checking whether libcurl is usable... no
configure: error: Missing required libcurl >= 7.15.2

0xAliNik avatar Jun 09 '17 21:06 0xAliNik

Any idea !?

0xAliNik avatar Jun 11 '17 16:06 0xAliNik

If the static libcurl libraries aren't in the centos package repos you'll have to compile them yourself, so that cpuminer can statically link it (instructions: https://curl.haxx.se/docs/install.html)

lucasjones avatar Jun 11 '17 17:06 lucasjones

I'm in ARM (raspberry), and I compile curl manually with : ./configure --disable-shared --enable-static

and use this for cpuminer : ./configure CFLAGS="-static" LDFLAGS="-L/usr/local/lib/libcurl.a" LIBS="-lssl -lcrypto -lssl -lcrypto -lz" CFLAGS="-DCURL_STATICLIB"

but : file minerd : minerd: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=a9541f017f019a12994119910c2f7a72fc427e7d, not stripped

ldd minerd : linux-vdso.so.1 (0x7ecc4000) /usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76fa9000) libcurl.so.4 => /usr/lib/arm-linux-gnueabihf/libcurl.so.4 (0x76f20000) libssl.so.1.0.0 => /usr/lib/arm-linux-gnueabihf/libssl.so.1.0.0 (0x76ec6000) libcrypto.so.1.0.0 => /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0 (0x76d58000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x76d31000) libjansson.so.4 => /usr/lib/arm-linux-gnueabihf/libjansson.so.4 (0x76d15000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76cec000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76bab000) libidn.so.11 => /usr/lib/arm-linux-gnueabihf/libidn.so.11 (0x76b6a000) librtmp.so.1 => /usr/lib/arm-linux-gnueabihf/librtmp.so.1 (0x76b41000) libssh2.so.1 => /usr/lib/arm-linux-gnueabihf/libssh2.so.1 (0x76b1f000) libgssapi_krb5.so.2 => /usr/lib/arm-linux-gnueabihf/libgssapi_krb5.so.2 (0x76ad4000) libkrb5.so.3 => /usr/lib/arm-linux-gnueabihf/libkrb5.so.3 (0x76a20000) libk5crypto.so.3 => /usr/lib/arm-linux-gnueabihf/libk5crypto.so.3 (0x769e2000) libcom_err.so.2 => /lib/arm-linux-gnueabihf/libcom_err.so.2 (0x769cf000) liblber-2.4.so.2 => /usr/lib/arm-linux-gnueabihf/liblber-2.4.so.2 (0x769b3000) libldap_r-2.4.so.2 => /usr/lib/arm-linux-gnueabihf/libldap_r-2.4.so.2 (0x7695e000) /lib/ld-linux-armhf.so.3 (0x54b4b000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x7694b000) libgnutls-deb0.so.28 => /usr/lib/arm-linux-gnueabihf/libgnutls-deb0.so.28 (0x7683e000) libhogweed.so.2 => /usr/lib/arm-linux-gnueabihf/libhogweed.so.2 (0x76805000) libnettle.so.4 => /usr/lib/arm-linux-gnueabihf/libnettle.so.4 (0x767c5000) libgmp.so.10 => /usr/lib/arm-linux-gnueabihf/libgmp.so.10 (0x76752000) libgcrypt.so.20 => /lib/arm-linux-gnueabihf/libgcrypt.so.20 (0x766af000) libkrb5support.so.0 => /usr/lib/arm-linux-gnueabihf/libkrb5support.so.0 (0x76696000) libkeyutils.so.1 => /lib/arm-linux-gnueabihf/libkeyutils.so.1 (0x7668b000) libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0x76666000) libsasl2.so.2 => /usr/lib/arm-linux-gnueabihf/libsasl2.so.2 (0x7663e000) libp11-kit.so.0 => /usr/lib/arm-linux-gnueabihf/libp11-kit.so.0 (0x765fd000) libtasn1.so.6 => /usr/lib/arm-linux-gnueabihf/libtasn1.so.6 (0x765dd000) libgpg-error.so.0 => /lib/arm-linux-gnueabihf/libgpg-error.so.0 (0x765bf000) libffi.so.6 => /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0x765ae000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76581000)

I tried many ways but always get the dynamic lib..help me please.

thanks a lot.

0xAliNik avatar Jun 12 '17 20:06 0xAliNik

any idea for static build !?

0xAliNik avatar Jun 23 '17 12:06 0xAliNik

checking whether le32enc is declared... no checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking for getopt_long... yes checking for json_loads in -ljansson... no checking for pthread_create in -lpthread... yes checking for OPENSSL_init in -lcrypto... yes checking whether __uint128_t is supported... no checking for gawk... (cached) gawk checking for curl-config... /usr/local/curl/bin/curl-config checking for the version of libcurl... 7.54.1 checking for libcurl >= version 7.15.2... yes checking whether libcurl is usable... no configure: error: Missing required libcurl >= 7.15.2 ubs14@ubuntu14-32:~/cpuminer-multi$ ./configure --with-libcurl=/usr/local/curl LDFLAGS="-static"

compile curl by myself and set curl-config --static-libs but then..

ghost avatar Jul 10 '17 19:07 ghost