This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libtool bug


Han-Wen Nienhuys wrote:
No, this is not correct. My original email exactly described the
problem: when linking the libsrfi-1 library with libtool 1.5.10 on
Cygwin, libguile.dll.a is not linked, causing the link to fail.

For mysterious reasons (libtool brokenness, I suppose), the compile
and make install do continue, but at run-time the (use-modules .. )
call throws error 126, which is entirely understandable, since
/usr/lib/ does not contain the libsrfi-1 DLL.

When linking libsrfi-1 by hand (inserting libguile.dll.a into the
command line),  and copying the resulting DLL to /usr/lib/ , use-modules
works correctly.

You still haven't answered MY question, from several days ago:


I wrote:
This:

    gcc -shared .libs/srfi-1.o -L/lib -L/usr/lib
    -L/home/Hanwen/src/guile-1.7.1/libguile-ltdl/.libs -L/usr/local/lib
    -lguile -lpthread -lgmp -lcrypt -o
    .libs/cygguile-srfi-srfi-1-v-2-2.dll -Wl,--image-base=0x10000000
    -Wl,--out-implib,.libs/libguile-srfi-srfi-1-v-2.dll.a

ought to succeed, IF
  /home/Hanwen/src/guile-1.7.1/libguile-ltdl/.libs
contains any of the following:

          libguile.dll.a
          guile.dll.a
          libguile.a
          cygguile.dll
          libguile.dll
          guile.dll

That's what
-L/home/Hanwen/src/guile-1.7.1/libguile-ltdl/.libs -lguile
MEANS, after all.

And then I wrote:
BTW, note that the problem (whatever it is) exposed here, will be hidden by the patch I'm about to post to this list and to libtool-patches.

I really hope somebody (Jan? Han-Wen Nienhuys?) will try their guile build with unmodified libtool-1.5.10, and when the relink fails manually execute

    gcc -shared .libs/srfi-1.o -L/lib -L/usr/lib
    -L/home/Hanwen/src/guile-1.7.1/libguile-ltdl/.libs -L/usr/local/lib
    -lguile -lpthread -lgmp -lcrypt -o
    .libs/cygguile-srfi-srfi-1-v-2-2.dll -Wl,--image-base=0x10000000
    -Wl,--out-implib,.libs/libguile-srfi-srfi-1-v-2.dll.a

from the appropriate directory, but adding "-v -Wl,-verbose" for verbose output from both gcc and ld. When THAT fails, figure out why it can't find libguile.dll.a in /home/Hanwen/src/guile-1.7.1/libguile-ltdl/.libs, because if it is there, it really ought to be able to find it given


-L/home/Hanwen/src/guile-1.7.1/libguile-ltdl/.libs -lguile

-- Chuck






-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]