최종 목표는 내 Synology DiskStation DS1813 +에 DSM 6.0.1-7393 업데이트 1을 사용하여 Nagios를 설치하는 것입니다.하지만 패키지를 컴파일 할 수도 없습니다. .Synology DSM6 - libc.so.6 - 파일 형식이 인식되지 않습니다.
$ gcc hello.c -o hello.o
/lib/libc.so.6: file not recognized: File format not recognized
collect2: ld returned 1 exit status
가 여기 내 쉘 환경의 :
나는 항상 다음과 같은 오류 메시지가 내 Synology DiskStation을에 GCC를 사용하려고
. 다른 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 로 설치하고 그 사양은 다음과 같이 :
$ /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>.
도있다 :
$ 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
문제를 일으키는 라이브러리는이 정보를 반환
/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의 지원은 명령 커맨드 라인 패키지 설치를 지원하지 않는다고 말했습니다.
약 2 년 전에이 Diskstation에 처음 gcc를 설치했을 때 모든 것이 잘 작동했습니다. 나는이 문제를 몇 달 전에 발견했다. (아마 DSM 업데이트 이후).
누구도이 문제를 보거나 다시 작동시키는 방법에 대한 단서가 있습니까? 감사! 나는 ++ 다른 g을 사용하고 같은
'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