Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux libgc似乎缺失(安装支持Mono的Virtuoso开源软件)_Linux_Mono_Makefile_Virtuoso - Fatal编程技术网

Linux libgc似乎缺失(安装支持Mono的Virtuoso开源软件)

Linux libgc似乎缺失(安装支持Mono的Virtuoso开源软件),linux,mono,makefile,virtuoso,Linux,Mono,Makefile,Virtuoso,在完成/configure--enable\u mono-之后,我正在构建Virtuoso开源。调用make会给我一个错误,因为找不到libgc 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 -f

在完成
/configure--enable\u mono
-之后,我正在构建Virtuoso开源。调用
make
会给我一个错误,因为找不到
libgc

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
dellas@india672:/usr/local/src/virtuoso-opensource$ 
我刚刚做了
sudo apt-get-install-libgc-dev
,效果很好。Make仍然给我同样的错误。我是一个Linux noob,有人能给我一些建议吗?这里可能有什么问题,或者如何解决

编辑:仅供参考:
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
...

您应该检查
libgc-dev
包提供的内容。在
/usr/include
中通常有一个名为
gc.h
的兼容性文件,它的唯一目的是
\include
。您的发行版可能没有此文件,这导致了编译问题

要检查
libgc dev
的内容,请执行以下操作:

dpkg-query -L libgc-dev
这将列出此包提供的所有文件。如果它不包含
/usr/include/gc.h
,那么您可能需要将
#include
更改为
#include
,或者将makefile更改为添加:
-I/usr/include/gc
。作为最后手段,我会更改
-I
选项

或者,您可以在
/usr/include
中添加一个名为
gc.h
的文件,其中包含以下简单内容:

/* This file is installed for backward compatibility. */
#include <gc/gc.h>
/*安装此文件是为了向后兼容*/
#包括

Virtuoso mono主机支持适用于1.x版,不适用于当前的2.x版和更高版本,需要为其添加支持计划

是您正在寻求的特定mono运行时支持,或者可能只是mono的ADO.Net提供程序,可以使用以下方式构建:

cd binsrc/VirtuosoClient.Net
gmake -f Makefile.mono
致意
Hugh Williams

事实上,我复制的代码中有些地方似乎出错了。现在可以在这个问题中找到实际问题,您也可以回答这个问题: