更新:好的,我在此页上找到了它:您必须运行./配置--启用-mono参数。然后,您还会发现缺少更多的依赖项,而这些依赖项在任何地方都没有提到。
可悲的是,这给我留下了另一个我无法解决的问题。既然我们还有未完成的赏金,那就问问这个吧。
在执行./autogen和..配置-enable_mono(在代码分支develop/6和develop/7上尝试过)之后,我得到以下错误:
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:42:22: fatal error: gc_typed.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这个链接有问题文件的内容。如果删除gc_typed.h的导入,则找不到下一个导入。我刚做了sudo apt-get install libgc-dev,它起作用了。Make给了我同样的错误。我相信在这个文件和编译的某个地方错误是隐藏的,但我无法修复它。
我是一个Linux新手,有人能给我一些建议吗?这里的问题可能是什么,或者如何解决?
附加信息: 1. 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
...- the README on the Virtuoso [GitHub page](https://github.com/openlink/virtuoso-opensource)
- I had small problems doing the exports on [this Mono-Virtuoso page](http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSBldMono), might one of those be the problem?
。
。
原题: 我在Ubuntu服务器上安装了Virtuoso和Mono,使用本教程将sanity.cs类编译成sanity.dll文件。当我尝试导入“向量”时,我收到了一条消息: SQLState: 42001消息: SR185:未定义过程DB.DBA.import_clr。 这是否意味着我把.dll放在了错误的位置?还是安装了错误版本的Virtuoso? 我用apt-get安装Virtuoso和Mono。 更新:好吧,Virtuoso的apt-get版本太老了。OpenLink的推特账号告诉我,新版本应该是从Github帐户构建的。 现在,我在Ubuntu上构建了Virtuoso,遵循https://github.com/openlink/virtuoso-opensource上的自述,但这并不能解释如何以任何方式集成Mono。
。
Mono ;MONO_TRACE = Off ;MONO_PATH = ;MONO_ROOT = ;MONO_CFG_DIR = ;virtclr.dll =
我将默认路径放在这个文件中,如下所示:
Mono ;MONO_TRACE = Off ;MONO_PATH = /usr/bin/mono ;MONO_ROOT = /usr/lib/mono ;MONO_CFG_DIR = /etc/mono ;virtclr.dll =
我不能在我的系统上find一个virtclr.dll。我怎样才能产生它?有人能帮我提供一个链接来解释如何在Virtuoso中集成Mono,或者告诉我如何继续吗?我应该用不同的设置来构建Virtuoso吗?
发布于 2013-04-09 16:02:41
有点乱。它依赖于mono-1.1.7,并且在尝试使用它所依赖的项之前不构建它;所以构建是混乱的。我强烈怀疑开发人员没有构建/测试他们的项目的这一方面。
您需要手动下载mono-1.1.7 --这是因为单目标球的位置不是他们认为的位置。例如:
wget -O binsrc/mono/mono-1.1.7.tar.gz ftp://ftp1.freebsd.org/mirror/FreeBSD-Archive/ports/distfiles/mono-1.1.7.tar.gz如果您没有wget,那么您可以使用curl:
curl -o binsrc/mono/mono-1.1.7.tar.gz ftp://ftp1.freebsd.org/mirror/FreeBSD-Archive/ports/distfiles/mono-1.1.7.tar.gz运行配置:
./configure --enable-mono交换binsrc和libsrc子目录在Makefile中的顺序
sed -i 's/libsrc binsrc/binsrc libsrc/' Makefile运行make (如果希望使其更快,请使用-j选项,例如-j2):
make建造将失败。不要惊慌。交换binsrc和libsrc 再一次
sed -i 's/binsrc libsrc/libsrc binsrc/' Makefile并重新运行:
make在这一点上,构建应该成功。
请记住,它使用的是mono-1.1.7的私有副本,而大多数现代linux发行版都使用2.0,因此可能会有一些冲突。
https://stackoverflow.com/questions/15274537
复制相似问题