我最終的目標是在DSM 6.0.1-7393 Update 1的Synology DiskStation DS1813 +上安裝Nagios。但我甚至無法開始編譯軟件包。 。Synology DSM6 - libc.so.6 - 文件格式無法識別
當我嘗試使用GCC我的Synology DiskStation上我總是得到以下錯誤消息:
$ gcc hello.c -o hello.o
/lib/libc.so.6: file not recognized: File format not recognized
collect2: ld returned 1 exit status
這裏是我的shell環境。我試過用不同的LD_LIBRARY_PATH設置,但是即使省略它也沒有什麼區別。
$ env
TERM=xterm-256color
SHELL=/bin/sh
SSH_CLIENT=192.168.2.110 51079 22
OLDPWD=/var/services/homes/egi
SSH_TTY=/dev/pts/7
LC_ALL=en_US.utf8
USER=egi
LD_LIBRARY_PATH=/opt/lib:
PAGER=more
MAIL=/var/mail/egi
PATH=/opt/sbin:/opt/bin:/sbin:/bin:/usr/sbin:/usr/bin
PWD=/var/services/homes/egi/exer
LANG=en_US.utf8
PS1=[\[email protected]\h \W]$
SHLVL=1
HOME=/var/services/homes/egi
TERMINFO=/usr/share/terminfo
LOGNAME=shunyam
SSH_CONNECTION=xxx.xxx.xxx.xxx 51079 yyy.yyy.yyy.yyy 22
PGDATA=/var/services/pgsql
CC=gcc
_=/opt/bin/env
編譯器已經安裝了的ipkg及其規格如下所示:
$ gcc --verbose
Using built-in specs.
Target: i686-linux-gnu
Configured with: ../gcc-4.2.1/configure --build=i386-pc-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu --prefix=/opt --disable-nls --disable-static --with-as=/home/slug/optware/syno-i686/toolchain/gcc-4.2.1-glibc-2.3.6/i686-linux-gnu/bin/i686-linux-gnu-as --with-ld=/home/slug/optware/syno-i686/toolchain/gcc-4.2.1-glibc-2.3.6/i686-linux-gnu/bin/i686-linux-gnu-ld --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 4.2.1
導致問題庫返回此信息:
$ /lib/libc.so.6
GNU C Library (crosstool-NG 1.20.0) stable release version 2.20-2014.11, by Roland McGrath et al.
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.9.3 20150311 (prerelease).
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
還有/opt/lib/libc.so上的鏈接描述文件:
$ cat /opt/lib/libc.so
/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
OUTPUT_FORMAT(elf32-i386)
GROUP (/lib/libc.so.6 /opt/lib/libc_nonshared.a)
圖書館實際上不能被打破,否則什麼都不會。
除gcc所有其他所需的軟件包也已安裝ipkg。
奇怪的是,我似乎是唯一有這個問題的人,因爲我沒有在Google上找到相關帖子。 Synology的支持告訴我,他們不支持安裝命令行命令包。
大約兩年前,當我第一次在此DiskStation上安裝gcc時,一切正常。幾個月前我已經注意到這個問題(可能在DSM更新之後)。
有沒有人也遇到過這個問題,或有線索如何讓它再次工作?謝謝!
什麼'file -L/lib/libc.so.6'打印? –
'$ file -L /lib/libc.so.6 /lib/libc.so.6:ELF 64位LSB共享對象,x86-64,版本1(GNU/Linux),動態鏈接(使用共享庫),對於GNU/Linux 2.6.32,已刪除 分段錯誤# – Gfy