2013-04-09 22 views
1

我在做./configure --enable_mono之後構建Virtuoso Opensource - 工作正常。調用make然後給我一個錯誤,因爲找不到libgclibgc似乎缺失(安裝支持Mono的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哪些工作。讓仍然給我同樣的錯誤。我是一個Linux noob,有人可以給我建議這裏可能是什麼問題或如何解決它?

編輯︰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的工作並支持需求以後的版本中是另外的時間表...

難道又是你正在尋找具體單運行時支持或者只是在ADO.Net提供單聲道,可使用內置:

cd binsrc/VirtuosoClient.Net 
gmake -f Makefile.mono 

問候 休威廉姆斯

2

您應該檢查libgc-dev軟件包提供的內容。 /usr/include中通常有一個兼容性文件gc.h,其唯一用途是#include <gc/gc.h>。你的分佈可能沒有這個文件,這是導致編譯問題。

要檢查libgc-dev的內容,你做一個:

dpkg-query -L libgc-dev 

這將列出所有這個包中提供的文件。如果它不包含/usr/include/gc.h,那麼您可能需要將#include更改爲#include <gc/gc.h>,或者更改makefile以添加:-I/usr/include/gc。作爲最後的手段,我會更改-I選項。

作爲替代方案,您可以添加在/usr/include文件與簡單的內容稱爲gc.h

/* 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 2013-04-09 13:20:13