[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] ocaml bindings



On 03/04/13 21:24, AL13N wrote:
> Op woensdag 3 april 2013 20:36:51 schreef Andrew Cooper:
>> On 03/04/13 20:24, AL13N wrote:
>>> Op woensdag 3 april 2013 20:18:53 schreef AL13N:
>>>> Op woensdag 3 april 2013 18:12:21 schreef Andrew Cooper:
>>>>> On 03/04/13 18:03, AL13N wrote:
>>>>>> i'm the Mageia Xen package maintainer, and a user reported that i had
>>>>>> missing symbols in my ocaml bindings:
>>>>>>
>>>>>> https://bugs.mageia.org/show_bug.cgi?id=5199
>>>>>>
>>>>>> i'm using Xen 4.2.1 and ocaml 3.12.1
>>>>>>
>>>>>> the problem is that if you just to a simple hello world and you're
>>>>>> using
>>>>>> certain bindings (eg: xeneventch): you get missing symbols. (others
>>>>>> appear
>>>>>> to be fine).
>>>>>>
>>>>>> I know next to nothing about ocaml, and it could be my build process,
>>>>>> but
>>>>>> i
>>>>>> kinda need some help about this.
>>>>>>
>>>>>> this is my spec file:
>>>>>> http://svnweb.mageia.org/packages/cauldron/xen/current
>>>>>>
>>>>>> Thanks in advance
>>>>>>
>>>>>> PS: we're at version freeze and release freeze is pretty soon :-S
>>>>> This is because the ocaml tools embed the build target links in the
>>>>> generated libs.  If you try to link against them later outside the build
>>>>> environment, it will break.
>>>>>
>>>>> Attached is the patch used to fix this problem for XenServer for Xen
>>>>> 4.2.
>>>> thanks alot for the very quick help, i'm testing right now...
>>> it seems the tests definately improve things...
>>>
>>> [root@localhost ~]# cat testfile.ml
>>> print_string "hello"
>>> [root@localhost ~]# ocamlfind ocamlc -o test -thread -package xeneventchn
>>> -
>>> linkpkg -g testfile.ml
>>> [root@localhost ~]# ./test
>>> Fatal error: cannot load shared library dllxeneventchn_stubs
>>> Reason: dllxeneventchn_stubs.so: cannot open shared object file: No such
>>> file or directory
>>>
>>>
>>> (i have no idea if i need to ./test execute this, or if this is normal
>>> behavior)
>> You presumably need tools/ocaml/libs/eventchn/dllxeneventchn_stubs.so on
>> your load path.  Under my system, would be installed to
>> /usr/local/lib/ocaml/3.11.2/xeneventchn/dllxeneventchn_stubs.so
> [root@localhost ~]# ls /usr/lib64/ocaml/xeneventchn/ -lsha
> total 64K
>    0 drwxr-xr-x 1 root root  246 Apr  3 19:16 ./
>    0 drwxr-xr-x 1 root root 7.2K Apr  3 19:02 ../
> 4.0K -rw-r--r-- 1 root root  150 Apr  3 18:35 META
>  12K -rwxr-xr-x 1 root root  11K Apr  3 18:40 dllxeneventchn_stubs.so*
>  24K -rw-r--r-- 1 root root  21K Apr  3 18:35 libxeneventchn_stubs.a
> 8.0K -rw-r--r-- 1 root root 4.5K Apr  3 18:35 xeneventchn.a
> 4.0K -rw-r--r-- 1 root root 2.8K Apr  3 18:35 xeneventchn.cma
> 4.0K -rw-r--r-- 1 root root 1.2K Apr  3 18:35 xeneventchn.cmi
> 4.0K -rw-r--r-- 1 root root  223 Apr  3 18:35 xeneventchn.cmx
> 4.0K -rw-r--r-- 1 root root  258 Apr  3 18:35 xeneventchn.cmxa
>
> what is this "load path" is this something like LD_LIBRARY_PATH ?

Unfortunately I am no expert in the workings of Ocaml.  I will have to
defer to others.  Jon/Dave - any ideas?

~Andrew

>
>
>>> one more thing:
>>>
>>> [root@localhost ~]# cat /usr/lib64/ocaml/xenlight/META
>>> version = "4.1"
>>> description = "Xen Toolstack Library"
>>> archive(byte) = "xl.cma"
>>> archive(native) = "xl.cmxa"
>>>
>>> it should be xenlight.cma
>>>
>>> (the others are fine)
>> Looks like it is still broken upstream.  I will submit another patch.
> thank you!


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.