Problem with build system when cross-compiling

From: Wookey <wookey_at_aleph1.co.uk>
Date: Wed Aug 04 2004 - 04:17:56 CEST

Hi I'm trying to integrate abiword into Open Embedded - an environment for
cross-building complete, but minimal GNU/ Linux systems.

Abiword configures OK (once I imported libfribidi into the OE system), but
won't make anything. I get this error:
wookey@xios:~/oe/oe-netbook/tmp/work/abiword-2.0.9-r0/abiword-2.0.9/abi$ make
make -C ./../wv BUILD_FOR_ABIWORD=1
make[1]: Entering directory /home/wookey/oe/oe-netbook/tmp/work/abiword-2.0.9-r0/abiword-2.0.9/ wv'
using system xml support... will not compile expat
making magick in magick
...
<snip>
...
Making all in xp
make[4]: Entering directory /home/wookey/oe/oe-netbook/tmp/work/abiword-2.0.9-r0/abiword-2.0.9/abi/src/tools/cdump/xp'
GNUmakefile:203: .deps/cdump.Po: No such file or directory
make[4]: *** No rule to make target .deps/cdump.Po'. Stop.
make[4]: Leaving directory
/home/wookey/oe/oe-netbook/tmp/work/abiword-2.0.9-r0/abiword-2.0.9/abi/src/tools/cdump/xp'
make[3]: *** [all-recursive] Error 1

or in a different dir:
GNUmakefile:393: .deps/UnixMain.Po: No such file or directory
GNUmakefile:394: .deps/abi_ver.Po: No such file or directory
make: *** No rule to make target .deps/abi_ver.Po'. Stop.

So it looks to me like the .deps files are not being generated before the
makefiles comes along and tries to use them.

I've spent quite some time peering at abi's remakable build system which all
seems very nicely set out, but I can't work out what it is that is
responsible for making these .deps files, or perhaps more importantly for
making the rules in a makefile that generates them.
                
It seems that abi/ac-helpers/depcomp is something to do with generating .Po
                and .TPo files and that gets a mention in this rule:
.cpp.o:
         source='$<' object='$@' libtool=no \
         depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
         $(CXXDEPMODE) $(depcomp) \
         $(CXXCOMPILE) -c -o $@ test -f $< || echo '$(srcdir)/'$<

which is in ./src/wp/main/unix/GNUmakefile, amongst others.

But this file also contains
include $(DEPDIR)/UnixMain.Po
include $(DEPDIR)/abi_ver.Po
which generates the error in the second example above, because it obviously
expects these files to already exist. And I can't find the
rules that would generate these files.

So, as I've now stared at this for about 4 hours and my automagic knowledge
is not sufficient to work out what's going on, I'm hoping someone who
understands the system can tell me how it works, or give me a clue as to
what might be going wrong.

Presumably either a rule is failing to be referenced, or something that
would run early on in the compile and build these dependency files is not
getting run. WHen should it happen? At configure time, or at build time? By
autoconf, automake or configure?

And of course this is supposed to be working yesterday and important clients
are getting upset at abiword's continued absence, so there is some urgency
in my request!

Here's hoping someone has some idea about this

thanx

Wookey

-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/     play: http://www.chaos.org.uk/~wookey/
Received on Wed Aug 4 04:08:01 2004

This archive was generated by hypermail 2.1.8 : Wed Aug 04 2004 - 04:08:01 CEST