Le 18/06/2012 00:27, Florent Monnier a écrit : > In the current ocamlsdl the libs "libsdlgfxstub.a" and "dllsdlgfxstub.so" > uses > functions that are defined in "common.c" but these libs are built without > "common.o". > > Now the module "Sdlgfx" in made to work with "Sdlvideo" which stub is built > with "common.o", so the fact that some symbols are missing in gfx's stub is > hidden.
IIUC: Sdlgfx depends on Sdlvideo, and common.o is built in Sdlvideo's stub (-lsdlstub) and used by Sdlgfx (-lsdlgfxstub). It looks fine to me without the patch, then. Moreover, it looks like the patch duplicates common.o (in -lsdlstub and in -lsdlgfxstub), which is actually bad. > Also gfx's .so doesn't seem to be linked with video's .so. You mean dllsdlgfxstub.so is not linked with dllsdlstub.so? This is not grave, since all dependencies are (recursively and) explicitly linked in by the ocaml toolchain/runtime (e.g. ocamlrun dlopen()-s dllsdlstub.so before dllsdlgfxstub.so). The OCaml toolchain is not aware of the asymmetry of *.so vs *.a (where there is not the same notion of "linked with"). Looking at dllsdlgfxstub.so's undefined symbols, some also come from the runtime which is statically linked in ocamlrun, so I don't think it's very useful to do more than what is currently done... Cheers, -- Stéphane -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

