[Pkg-octave-devel] Bug#637787: Bug#637787: Bug#637787: Bug#637787: Bug#637787: Bug#637787: Bug#637787: Bug#637787: Bug#637787: trivial fix
John W. Eaton
jwe at octave.org
Tue Nov 1 16:45:05 UTC 2011
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-devel at lists.alioth.debian.org
| http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-octave-devel
More information about the Pkg-octave-devel
mailing list