GNOME Bugzilla – Bug 161153
compilation failure in the howl module
Last modified: 2005-06-20 07:24:27 UTC
It's probably not the right place to report this bug, but since howl was added to the gnoem 2.10 module set, I can't successfully complete a jhbuild build: make[3]: Entering directory `/usr/src/gnome2A/howl-0.9.8/src/autoipd' /bin/sh ../../libtool --mode=link gcc -DHOWL_KERNEL -static -o autoipd autoip.o linux_autoip.lo posix_main.lo ../../src/lib/howl/libhowl.la -lpthread gcc -DHOWL_KERNEL -o autoipd autoip.o linux_autoip.o posix_main.o ../../src/lib/howl/.libs/libhowl.so -lpthread -Wl,--rpath -Wl,/usr/src/gnome2A/howl-0.9.8/src/lib/howl/.libs -Wl,--rpath -Wl,/opt/gnome29/lib gcc: linux_autoip.o: No such file or directory gcc: posix_main.o: No such file or directory make[3]: *** [autoipd] Erreur 1 make[3]: Leaving directory `/usr/src/gnome2A/howl-0.9.8/src/autoipd' make[2]: *** [all-recursive] Erreur 1 make[2]: Leaving directory `/usr/src/gnome2A/howl-0.9.8/src/autoipd' make[1]: *** [all-recursive] Erreur 1 make[1]: Leaving directory `/usr/src/gnome2A/howl-0.9.8/src' make: *** [all-recursive] Erreur 1 This is on a debian sid system, I haven't taken time to try to figure out what could be wrong.
This problem turned up on Luis's tinderbox too, but didn't turn up when I was playing round with howl. I think I've worked out what the problem is now. Assuming your jhbuild config is based on one of the samples without too many modifications, then "--disable-static" was passed to the configure script. Now in src/autoipd/Makefile.am, there is the following: AM_LDFLAGS = -static So it attempts to link with the non-PIC .o files, rather than the PIC .lo files. However, since --disable-static was used the .o files don't exist. I'm not sure why howl is insisting on building its utilities static though ...
Hrm, so, James: is there a way within jhbuild to override the global --disable-static on a per-module basis?
this should work: module_autogenargs['howl'] = 'args I want to pass to configure' Or even: module_autogenargs['howl'] = autogenargs.replace('--disable-static', '') It would be good if Howl didn't need this hack though.
Confirming that it builds successfully with module_autogenargs['howl'] = autogenargs.replace('--disable-static', '') after a make clean, thanks for the tip.
Well, yes, I agree, and I'll send an email to howl-users, I guess. In the meantime I just wanted to get tinderbox back up and running, returning it to it's regularly scheduled nautilus-media warnings.;)
I got his too and to solve it I went to shell and did : cd src/autoipd ln -s linux_autoip.lo linux_autoip.o ln -s posix_main.lo posix_main.o I hope this can helps.
I, also, got this. I modified the modulesets/gnome-2.10.modules file to have this reference to howl: <tarball id="howl" version="0.9.10"> <source href="http://www.porchdogsoft.com/download/howl-0.9.10.tar.gz" size="541004" md5sum="444f2c1fe8eaf16d6822c01bfafba99b" /> </tarball>
I just updated gnome-2.10.modules to use 0.9.10, and it looks like we have a different problem with --disable-static. The explicit "AM_LDFLAGS = -static" bits are gone, but things still fail to build in the autoipd directory. On Linux, the configure script defines the following (rewrapped for clarrity): AUTOIPD_EXTRA_OBJECTS='$(top_builddir)/src/autoipd/linux_autoip.lo $(top_builddir)/src/autoipd/posix_main.lo' Now in the src/autoipd/ Makefile.am, we have the following: LDADD = $(AUTOIPD_EXTRA_OBJECTS) $(top_builddir)/src/lib/howl/libhowl.la \ $(PLATFORM_LIBS) ... autoipd_DEPENDENCIES = linux_autoip.o posix_main.o So linux_autoip.o and posix_main.o get built before trying to link autoipd. However, when linking it looks for linux_autoip.lo and posix_main.lo. However, the .lo files aren't listed as dependencies, so don't get built. If I change to the directory and run "make linux_autoip.lo posix_main.lo", things build okay. I believe the correct fix is to get AUTOIPD_EXTRA_OBJECTS to list the .o files instead of .lo files.
Blah. Given the licensing issues, can we just drop howl, at least from the default vfs deps?
Fixed in CVS. I added the above as a patch, and updated to howl-1.0.0.