2013-04-09 4 views
1

./configure --enable_mono을 수행 한 후 Virtuoso Opensource를 빌드 중입니다. 정상적으로 작동합니다. make을 호출하면 libgc을 찾을 수 없으므로 오류가 발생합니다.libgc가 누락 된 것 같습니다 (모노 지원으로 Virtuoso-Opensource 설치)

make[2]: Entering directory `/usr/local/src/virtuoso-opensource/libsrc/Thread' 
/bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../libsrc/Dk -fno-strict-aliasing -O2 -DMONO_USE_EXC_TABLES -fexceptions -D_REENTRANT -D_GNU_SOURCE -Wall -DNDEBUG -DPOINTER_64 -I/usr/local/src/virtuoso-opensource/libsrc/Xml.new -DOPENSSL_NO_KRB5 -Dlinux -D_GNU_SOURCE -DFILE64 -D_LARGEFILE64_SOURCE -I../../binsrc/mono/mono-1.1.7/libgc/include -I../../libsrc -I../../libsrc/Dk -DNO_UDBC_SDK -DUSE_INCLUDED_LIBGC=1 -g -O2 -MT libthrp_gc_la-sched_pthread_gc.lo -MD -MP -MF .deps/libthrp_gc_la-sched_pthread_gc.Tpo -c -o libthrp_gc_la-sched_pthread_gc.lo `test -f 'sched_pthread_gc.c' || echo './'`sched_pthread_gc.c 
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../libsrc/Dk -fno-strict-aliasing -O2 -DMONO_USE_EXC_TABLES -fexceptions -D_REENTRANT -D_GNU_SOURCE -Wall -DNDEBUG -DPOINTER_64 -I/usr/local/src/virtuoso-opensource/libsrc/Xml.new -DOPENSSL_NO_KRB5 -Dlinux -D_GNU_SOURCE -DFILE64 -D_LARGEFILE64_SOURCE -I../../binsrc/mono/mono-1.1.7/libgc/include -I../../libsrc -I../../libsrc/Dk -DNO_UDBC_SDK -DUSE_INCLUDED_LIBGC=1 -g -O2 -MT libthrp_gc_la-sched_pthread_gc.lo -MD -MP -MF .deps/libthrp_gc_la-sched_pthread_gc.Tpo -c sched_pthread_gc.c -fPIC -DPIC -o .libs/libthrp_gc_la-sched_pthread_gc.o 
sched_pthread_gc.c:41:16: fatal error: gc.h: No such file or directory 
compilation terminated. 
make[2]: *** [libthrp_gc_la-sched_pthread_gc.lo] Error 1 
make[2]: Leaving directory `/usr/local/src/virtuoso-opensource/libsrc/Thread' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/usr/local/src/virtuoso-opensource/libsrc' 
make: *** [all-recursive] Error 1 
[email protected]:/usr/local/src/virtuoso-opensource$ 

나는 방금 작업 한 sudo apt-get install libgc-dev을했습니다. make는 나에게 같은 에러를 준다. 나는 리눅스 멍청한 녀석이다. 누군가가 나에게 조언을 해 줄 수있다.

편집 : FYI : ldconfig -v -p은 분명히 libgc.so이 존재하므로이 make 스크립트가 헤더를 찾고있는 이유는 무엇입니까?

... 
libgdbm_compat.so.3 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgdbm_compat.so.3 
libgdbm.so.3 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgdbm.so.3 
libgd.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgd.so.2 
libgcrypt.so.11 (libc6,x86-64) => /lib/x86_64-linux-gnu/libgcrypt.so.11 
libgccpp.so.1 (libc6,x86-64) => /usr/lib/libgccpp.so.1 
libgccpp.so (libc6,x86-64) => /usr/lib/libgccpp.so 
libgcc_s.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libgcc_s.so.1 
libgc.so.1 (libc6,x86-64) => /usr/lib/libgc.so.1 
libgc.so (libc6,x86-64) => /usr/lib/libgc.so 
libgamin-1.so.0 (libc6,x86-64) => /usr/lib/libgamin-1.so.0 
libgailutil.so.18 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgailutil.so.18 
libfuse.so.2 (libc6,x86-64) => /lib/libfuse.so.2 
... 

답변

0

거장 모노 호스팅 지원 버전 1.x 용이며 현재 2.x에서 작동하지 않습니다 :

대안으로

, 당신은 간단한 내용으로 gc.h라는 /usr/include에서 파일을 추가 할 수 있습니다

: 및 요구 사항을 지원하는 이후 릴리스는

가 사용을 구축 할 수 어쩌면 특히 모노 런타임 당신이 찾고있는 지원 또는 모노에 딱 ADO.Net 제공 업체입니다 ... 추가에 대한 일정이 될 수 있습니다 10

안부 휴 윌리엄스 내가 복사 한 코드에서 사실 뭔가에

2

당신은 libgc-dev 패키지에서 제공 한 내용을 확인해야합니다. 일반적으로 이라는 호환성 파일이 gc.h이며, 유일한 목적은 #include <gc/gc.h>입니다. distirbution에 컴파일 문제를 일으키는 파일이 없을 수 있습니다.

libgc-dev의 내용을 확인하려면, 당신이 할 A :

dpkg-query -L libgc-dev 

이이 패키지에서 제공 한 모든 파일을 나열합니다. /usr/include/gc.h이 포함되어 있지 않은 경우 #include을 변경하여 #include <gc/gc.h>으로 읽거나 makefile을 변경하여 -I/usr/include/gc으로 변경해야 할 수 있습니다. 최후의 수단으로 -I 옵션을 변경했습니다.

/* This file is installed for backward compatibility. */ 
#include <gc/gc.h> 
+0

실제 문제는 지금이 질문에서 찾을 수 있습니다 잘못된 듯, 당신이뿐만 아니라 대답 할 수있을 무언가가있다 : HTTP : // stackoverflow.com/questions/15274537/build-virtuoso-with-mono-integration-on-ubuntu-build-error-on-libgc – Akku