hey, i'm trying to build xapian python-binding in cygwin, but i got some errors message like this: *** Warning: This system can not link to static lib archive /opt/xapian/lib/libxapian.la. *** 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. *** But as you try to build a module library, libtool will still create *** a static module, that should work as long as the dlopening application *** is linked with the -dlopen flag to resolve symbols at runtime. ar cru .libs/_xapian.a .libs/xapian_wrap.o ranlib .libs/_xapian.a creating _xapian.la (cd .libs && rm -f _xapian.la && ln -s ../_xapian.la _xapian.la) cp `test -f modern/xapian.py || echo './'`modern/xapian.py . /bin/sh ../libtool --config > libtoolconfig.tmp . ./libtoolconfig.tmp; cp $objdir/_xapian.dll . cp: cannot stat `.libs/_xapian.dll': No such file or directory make[4]: *** [_xapian.dll] Error 1 make[4]: Leaving directory `/opt/xapian-bindings-1.0.10/python' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/opt/xapian-bindings-1.0.10/python' make[2]: *** [all] Error 2 make[2]: Leaving directory `/opt/xapian-bindings-1.0.10/python' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/xapian-bindings-1.0.10' make: *** [all] Error 2 does anyone know what the problem is ? thank you. Matt
Matt Chen wrote:> hey, > > i'm trying to build xapian python-binding in cygwin, but i got some > errors message like this: > > *** Warning: This system can not link to static lib archive > /opt/xapian/lib/libxapian.la. > *** 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. > *** But as you try to build a module library, libtool will still create > *** a static module, that should work as long as the dlopening application > *** is linked with the -dlopen flag to resolve symbols at runtime. > ar cru .libs/_xapian.a .libs/xapian_wrap.o > ranlib .libs/_xapian.a > creating _xapian.la > (cd .libs && rm -f _xapian.la && ln -s ../_xapian.la _xapian.la) > cp `test -f modern/xapian.py || echo './'`modern/xapian.py . > /bin/sh ../libtool --config > libtoolconfig.tmp > . ./libtoolconfig.tmp; cp $objdir/_xapian.dll . > cp: cannot stat `.libs/_xapian.dll': No such file or directory > make[4]: *** [_xapian.dll] Error 1 > make[4]: Leaving directory `/opt/xapian-bindings-1.0.10/python' > make[3]: *** [all-recursive] Error 1 > make[3]: Leaving directory `/opt/xapian-bindings-1.0.10/python' > make[2]: *** [all] Error 2 > make[2]: Leaving directory `/opt/xapian-bindings-1.0.10/python' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/opt/xapian-bindings-1.0.10' > make: *** [all] Error 2 > > > does anyone know what the problem is ? thank you.Have you already built Xapian itself? I'm not so familiar with Cygwin, but with the Win32 Visual C++ makefiles you have to build Xapian before you build the bindings to Xapian. Charlie> > > Matt > > _______________________________________________ > Xapian-discuss mailing list > Xapian-discuss at lists.xapian.org > http://lists.xapian.org/mailman/listinfo/xapian-discuss >
There are cygwin ports packages of Xapian - looking at them here I see various patches are being applied, but nobody has told me about these before so they aren't in the source code tarballs: http://cygwin-ports.svn.sourceforge.net/viewvc/cygwin-ports/ports/trunk/libs/xapian-bindings/ I'll apply the fixes I actually understand shortly, but I don't follow why all of them are needed - for example, why -module is dropped from *_la_LDFLAGS (but not in all cases - e.g. for Ruby it is left in)? Cheers, Olly