On Fri, 22 Feb 2008 11:04:21 +0100, Enrico Tröger enrico.troeger@uvena.de wrote:
Hi,
There is still some more work needed in plugins/Makefile.am which isn't doesn't build any DLl's at all at the moment.
if anyone wants to spend some time on this, attached is a patch (geany_crosscompile_plugins.patch) which should be basically be enough to build plugin DLLs when cross-compiling.
For some reason, this doesn't work out of box on my system. I'm not sure if it is a real error or if it is only related to my cross-compiling setup. The problem is, libtool doesn't detect the file format of libiberty.a correctly and so it refuses to link any shared library and you end up with static libraries only. I always get the following error message:
*** Warning: linker path does not have real file for library -liberty. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libiberty and none of the candidates passed a file format test *** using a file magic. Last file checked: /usr/local/cross-tools/usr/lib//libiberty.a
*** Warning: libtool could not satisfy all declared inter-library *** dependencies of module classbuilder. Therefore, libtool will create *** a static module, that should work as long as the dlopening *** application is linked with the -dlopen flag.
After some googling, I started to modify the created libtool ;-). I attached a patch for libtool which solves the problem, at least in some way. Apply it *after* you ran configure otherwise the configure script will overwrite the libtool script again. With this little change in the patch, dynamic linking will work. But patching libtool doesn't seem to be a reasonable solution, not even a workaround. So, if anyone has the time and some will to find and maybe solve the real cause for this troubles, feel free to do it and report any progress.
Regards, Enrico