使用不同的glibc版本制作卷曲:未解析的GLIBC_PRIVATE

时间:2016-01-30 01:23:01

标签: gcc curl cuda makefile glibc

分发版glibc版本为2.11.3。我将版本2.22编译成/usr/glibc/

make版本7.46运行curl我收到此错误:

/usr/glibc/lib/libpthread.so.0: undefined reference to `__mktemp@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__tfind@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__tdelete@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__twalk@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__call_tls_dtors@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__madvise@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `memcpy@GLIBC_2.14'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__getrlimit@GLIBC_PRIVATE'
/usr/glibc/lib/libresolv.so.2: undefined reference to `__sendmmsg@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__ctype_init@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__h_errno@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__tsearch@GLIBC_PRIVATE'
/usr/glibc/lib/libpthread.so.0: undefined reference to `__libc_vfork@GLIBC_PRIVATE'

我确信它一定是个问题,因为新的glibc版本但我的linux知识太弱而无法提供新glibc版本的正确路径。

我做错了什么? THX!

1 个答案:

答案 0 :(得分:0)

有几个问题:

  1. <TextBlock Text="{Binding MyDouble, StringFormat={x:Static local:StringFormats.LocalCurrencyFormat}}" /> 2.22 - 发行版本为2.11.3
  2. glibc 1.0.2f - 发行版本为0.9.8j [自2009年起!]
  3. openssl 7.46.0 - 发行版本为7.19.7
  4. curl,其中包含分发
  5. 的有效libmemcached版本

    我在我的CUDA项目中使用了所有这些库,因为我想将所有这些库更新为这些步骤要执行的最新版本:

    1. sasl:构建为glibc
    2. /usr/glibc:构建为openssl。在运行/usr/glibc/openssl-curl/
    3. 之前
    4. export $LDFLAGS=-L/usr/glibc/lib:运行curl - 非常重要: ./configure --prefix=/usr/glibc/openssl-curl/ --with-ssl=/usr/glibc/openssl-curl/ --disable-ldap在运行$LDFLAGS时必须为空,因为脚本会将值添加到{{ 1}}并且由于新configure和分发版本的版本不匹配,所有程序都会与$LD_LIBRARY_PATH一起崩溃。在glibc再次运行之前segmentation fault
    5. 对于我的项目,我还要使用此命令使用新的make版本重建export $LDFLAGS=-L/usr/glibc/liblibmemcached
    6. 在CUDA中,我必须设置新库的路径,现在一切正常。同样非常重要的是,链接选项glibc./configure --prefix=/usr/local/libmemcached --disable-sasl的设置是为了加载新的-Wl,--rpath=/usr/glibc/lib版本。

      对于我的linux系统,我不得在路径-Wl,--dynamic-linker=/usr/glibc/lib/ld-linux-x86-64.so.2中添加glibc,否则整个系统崩溃。