octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shouldn't liboctave et al. be linked against libgnulib.la?


From: John W. Eaton
Subject: Re: Shouldn't liboctave et al. be linked against libgnulib.la?
Date: Sat, 3 Sep 2011 12:31:09 -0400

On  3-Sep-2011, Michael Goffioul wrote:

| On Sat, Sep 3, 2011 at 3:46 PM, John W. Eaton <address@hidden> wrote:
| > On  3-Sep-2011, Michael Goffioul wrote:
| >
| > | As the title says, liboctave et al. uses direct calls to functions from 
gnulib.
| > | But only libcruft is linked against it. Is this normal?
| >
| > Yes, libgnu is built as a "convenience library" (the term used by
| > the automake and libtool manuals) and all of its functions are supposed
| > to be inserted into libcruft.
| 
| This is not how the MSVC linker works.
| 
| > There is not supposed to be a separate
| > libgnu library that we would need to link with.  Do you see an error?
| 
| All libgnu/librand symbols that liboctave uses are not found.
| 
| > Are the functions from libgnu not being inserted into the libcruft
| > library?
| 
| The symbols used by libcruft are inserted, the rest is discarded.

OK, maybe I'm missing an option (or libtool is) to tell the linker to
insert all the symbols from libgnu and libranlib.  That is what
libtool is supposed to be doing.  On my system, it does it using the
following in the command that builds the libcruft shared library:

   -Wl,--whole-archive ./.libs/libranlib.a ../libgnu/.libs/libgnu.a 
-Wl,--no-whole-archive

I don't know what is required for your linker, but I think libtool is
the place for the fix.

jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]