読者です 読者をやめる 読者になる 読者になる

error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument

cloud

$HOME/local以下に、gcc4.8.3導入後、glibc2.20を投入。しかし、aria2コンパイル後できた実行ファイルで、表題のエラーが出る。

 

実行ファイルを調べてみると。

 

/lib64/ld-linux-x86-64.so.2 --list $HOME/local/bin/aria2c

    linux-vdso.so.1 => (0x00007fffccffe000)

    libaria2.so.0 => $HOME/local/lib/libaria2.so.0 (0x00007fb310027000)

    libcares.so.2 => $HOME/local/lib/libcares.so.2 (0x00007fb30fe16000)

    libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x00007fb30fb8f000)

    libdl.so.2 => $HOME/local/lib/libdl.so.2 (0x00007fb30f98b000)

    libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007fb30f786000)

    libgnutls.so.26 => /usr/lib64/libgnutls.so.26 (0x00007fb30f4e3000)

    libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00007fb30f254000)

    libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fb30ef01000)

    libz.so.1 => /lib64/libz.so.1 (0x00007fb30eceb000)

    libstdc++.so.6 => $HOME/local/gcc/lib64/libstdc++.so.6 (0x00007fb30e9e8000)

    libm.so.6 => $HOME/local/lib/libm.so.6 (0x00007fb30e6e5000)

    libgcc_s.so.1 => $HOME/local/gcc/lib64/libgcc_s.so.1 (0x00007fb30e4cf000)

    libc.so.6 => $HOME/local/lib/libc.so.6 (0x00007fb30e132000)

    librt.so.1 => $HOME/local/lib/librt.so.1 (0x00007fb30df29000)

    /lib64/ld-linux-x86-64.so.2 (0x00007fb3105ea000)

    libtasn1.so.3 => /usr/lib64/libtasn1.so.3 (0x00007fb30dd19000)

    libpthread.so.0 => $HOME/local/lib/libpthread.so.0 (0x00007fb30dafd000)

 

$HOME/local/lib/ld-linux-x86-64.so.2 --list $HOME/local/bin/aria2c

    linux-vdso.so.1 (0x00007fff69f79000)

    libaria2.so.0 => $HOME/local/lib/libaria2.so.0 (0x00007f7d26dfa000)

    libcares.so.2 => $HOME/local/lib/libcares.so.2 (0x00007f7d26be9000)

    libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x00007f7d26961000)

    libdl.so.2 => $HOME/local/lib/libdl.so.2 (0x00007f7d2675d000)

    libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f7d26558000)

    libgnutls.so.26 => /usr/lib64/libgnutls.so.26 (0x00007f7d262b5000)

    libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00007f7d26026000)

    libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f7d25cd3000)

    libz.so.1 => /lib64/libz.so.1 (0x00007f7d25abd000)

    libstdc++.so.6 => $HOME/local/gcc/lib64/libstdc++.so.6 (0x00007f7d257ba000)

    libm.so.6 => $HOME/local/lib/libm.so.6 (0x00007f7d254b7000)

    libgcc_s.so.1 => $HOME/local/gcc/lib64/libgcc_s.so.1 (0x00007f7d252a1000)

    libc.so.6 => $HOME/local/lib/libc.so.6 (0x00007f7d24f04000)

    librt.so.1 => $HOME/local/lib/librt.so.1 (0x00007f7d24cfb000)

    /lib64/ld-linux-x86-64.so.2 => $HOME/local/lib/ld-linux-x86-64.so.2 (0x00007f7d273bd000)

    libtasn1.so.3 => /usr/lib64/libtasn1.so.3 (0x00007f7d24aeb000)

    libpthread.so.0 => $HOME/local/lib/libpthread.so.0 (0x00007f7d248cf000)

 

ls -l /lib64/ld-linux-x86-64.so.2

    lrwxrwxrwx 1 root root 10 11月 4 21:44 2014 /lib64/ld-linux-x86-64.so.2 -> ld-2.12.so*

ls -l $HOME/local/lib/ld-linux-x86-64.so.2

    lrwxrwxrwx 1 user user 10 11月 6 15:41 2014 $HOME/local/lib/ld-linux-x86-64.so.2 -> ld-2.20.so*

 

という事で、rootでシンボリックファイルを張り直せばOKのような気がしたが、root権限が無いuserなので、これはできない。。。

 

LDFLAGS="-Wl,--dynamic-linker=$HOME/local/lib/ld-linux-x86-64.so.2" ./configure --prefix=$HOME/local --enable-libaria2

 

1週間程度時間を費やし、上記でようやく解決。