更新:好的,我在this page上找到了它:必须使用--enable-mono参数运行./configure。然后你会发现还有一些更多的依赖没有被提及到。在Ubuntu上构建Virtuoso(与Mono集成):在libgc上生成错误
不幸的是,这给我带来了另一个我无法解决的问题。由于我们在这里还没有完成的赏金,让我们来问一下。
做./autogen和的./configure --enable_mono后(尝试过的代码分支开发/ 6和开发/ 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
This link拥有的内容有问题的文件。如果我删除gc_typed.h
的导入,则找不到下一个导入。我只是做了sudo apt-get install libgc-dev
哪些工作。让仍然给我同样的错误。我相信这个文件和这个汇编的错误被埋没了,但我无法修复它。
我是一个Linux noob,有人可以给我建议这里可能是什么问题或如何解决它?
附加信息: 1. ldconfig -v -p
清楚地说,libgc.so存在,那么为什么这使脚本寻找头?
...
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
...
要使用单声道支持安装炫技,我用下面的教程:
- 自述的炫技GitHub page
- 我有小问题上做this Mono-Virtuoso page的出口,可能一个那些是问题?
Virtuoso一直在工作,我只是没有让Virtuoso用--enable-mono构建。单声道工作良好,可以建立和执行DLL和EXE没有问题。 。
。
。
ORIGINAL QUESTION:
I installed Virtuoso and Mono on a Ubuntu server and using this tutorial compiled the sanity.cs class to a sanity.dll file. When I tried importing the 'vector' I got a message:
SQLState: 42001 Message: SR185: Undefined procedure DB.DBA.import_clr.
Does that mean that I put the .dll in the wrong place? Or do I have the wrong version of Virtuoso installed?
I used apt-get to install Virtuoso and Mono.
UPDATE: Okay, the apt-get version of Virtuoso was waaay too old. The OpenLink Twitter account told me that the new versions should be built from the Github account.
Now I built Virtuoso on Ubuntu following the readme on https://github.com/openlink/virtuoso-opensource , but that doesn't explain how to integrate Mono in any way.
- I already made the sanity.cs Hello World file work, confirming that Mono is setup correctly.
- The server runs, but the Mono section in the Virtuoso.ini is empty:
.
[Mono] ;MONO_TRACE = Off ;MONO_PATH = <path_here> ;MONO_ROOT = <path_here> ;MONO_CFG_DIR = <path_here> ;virtclr.dll =
I put the default paths in this file like this:
[Mono] ;MONO_TRACE = Off ;MONO_PATH = /usr/bin/mono ;MONO_ROOT = /usr/lib/mono ;MONO_CFG_DIR = /etc/mono ;virtclr.dll =
I cannot
find
a virtclr.dll on my system. How can I generate it? Can someone help me with a link explaining how to integrate Mono in Virtuoso or tell me how to proceed? Should I have built Virtuoso with different settings?
谢谢,我明天会测试一下:-) – Akku 2013-04-09 16:22:57
没有工作,但至少不是一样的错误;-) – Akku 2013-04-10 08:06:42
我删除了整个安装,再次克隆git repo,得到旧的mono运行时再次,做了./autogen.sh,因为./configure else不会运行,并执行你建议的其余命令。可悲的是,在第二次运行还是有错误:'.../libvirtuoso-GC-TA(libthrp_gc_la-sched_pthread_gc.o):在功能'oplthread_create': ..../sched_pthread.c:424:未定义参考到'GC_pthread_create” ..../libvirtuoso-GC-TA(libthrp_gc_la-sched_pthread_gc.o):在功能'thread_exit ': ..../sched_pthread.c:571:未定义参考'GC_pthread_detach' collect2: LD返回1退出status' – Akku 2013-04-10 09:07:47