Hi, Did you see the following message from me? I think I found the reason that libranlib.la is not being built, and a relatively simple fix.
jwe On 25-Oct-2011, John W. Eaton wrote: | On 24-Oct-2011, John W. Eaton wrote: | | | On 24-Oct-2011, Thomas Weber wrote: | | | | | On Thu, Sep 01, 2011 at 09:03:57PM +0200, Thomas Weber wrote: | | | > On Tue, Aug 23, 2011 at 12:24:17PM -0400, John W. Eaton wrote: | | | > > If you don't want to change octlibdir, then you can change the lines | | | > > like | | | > > | | | > > octlib_LTLIBRARIES = liboctave.la | | | > > | | | > > in the Makefile.am files to be | | | > > | | | > > lib_LTLIBRARIES = liboctave.la | | | > > | | | > > instead. It's the octlib (or lib) prefix that is used to generate the | | | > > variable that determines the installation directory. | | | | | | I did the change above, but the build fails almost always (almost = in a | | | clean chroot). It builds reliable in my normal work directory, which is | | | strange (I already looked at timestamp issues, but I do not think that | | | that is the problem). It always fails when linking in libcruft/ with the | | | error message: | | | | | | libtool: link: cannot find the library `libranlib.la' or unhandled | | | argument `libranlib.la' | | | | | | I've put a log file of the build at | | | http://people.debian.org/~tweber/octave.log.bz2 | | | | | | The commands effectively run are: | | | automake --foreign --verbose | | | ./configure --build=x86_64-linux-gnu --prefix=/usr | | | make -j1 | | | | | | Do you have any ideas? | | | | I can't reproduce the problem, but I'm not sure I'm doing exactly the | | same thing as you. | | | | Can you please give me step-by-step instructions for how to download | | exactly the Debian package files and what to do with them to try to | | generate the package? Jordi gave me that info a few days ago and with | | what he showed me, I was able to generate the error you mention | | above. But now I can't find his instructions. | | OK, Jordi gave me the instructions and I can reproduce the problem. | | When libcruft/Makefile.am contains | | octlib_LTLIBRARIES = libcruft.la | noinst_LTLIBRARIES = libranlib.la | | The generated Makefile.in file contains | | LTLIBRARIES = $(noinst_LTLIBRARIES) $(octlib_LTLIBRARIES) | ... | all-am: Makefile $(LTLIBRARIES) $(HEADERS) | | and when it contains | | lib_LTLIBRARIES = libcruft.la | noinst_LTLIBRARIES = libranlib.la | | LTLIBRARIES is defined to be | | LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) | | So apparently these variables are sorted alphabetically when creating | the LTLIBRARIES variable. Then Make is building these libraries in | the order they are listed, so the latter fails, because libcruft.la | depends on libranlib.la, but it is not built yet. | | I think automake is supposed to be using the libcruft_la_LIBADD | variable to generate the dependency list for libcruft.la, but it | doesn't seem to be doing that. | | The quick fix appears to be adding libranlib.la to the | libcruft_la_DEPENDENCIES variable, so change the line | | libcruft_la_DEPENDENCIES = cruft.def | | in libcruft/Makefile.am to be | | libcruft_la_DEPENDENCIES = cruft.def libranlib.la | | instead. | | jwe | | | | _______________________________________________ | Pkg-octave-devel mailing list | pkg-octave-de...@lists.alioth.debian.org | http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-octave-devel -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org