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

Re: [Xen-devel] ocaml bindings



Op woensdag 3 april 2013 21:33:00 schreef Andrew Cooper:
> 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?
[...]

i've found out that there is a file (i presume like ld.so.conf):
[root@localhost ~]# cat /usr/lib64/ocaml/ld.conf
/usr/lib64/ocaml/stublibs
/usr/lib64/ocaml

and most of all the dllXXXXX_stubs.so files from other packages are in that 
first directory

perhaps it should be put there, not sure if this is something that you guys 
should do, or i would just fix in my packages

Maarten

_______________________________________________
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®.