bug-libtool
[Top][All Lists]
Advanced

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

Re: 2.2.7a: unresolved external symbol _lt_libltdlc_LTX_preloaded_symbol


From: Ralf Wildenhues
Subject: Re: 2.2.7a: unresolved external symbol _lt_libltdlc_LTX_preloaded_symbols
Date: Thu, 27 Nov 2008 19:41:17 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

Hello Akim, Matthieu,

* Akim Demaille wrote on Thu, Nov 27, 2008 at 03:48:25PM CET:
>
> Well, I'm trying to have the libtool test suite pass on this platform  
> (ie., GNU/Linux running VC++ on top of Wine).  There are a number of  
> things that don't work cleanly, and maybe we should go step by step.  I 
> need the changes Paolo posted.

First of all, we should consider getting the pr-msvc-support branch up
to date.  With it, I assume most of your problems to vanish.  This
branch has patches to support MSVC without a wrapper.  While it was
developed for working with MinGW/MSYS as $build and $host, I suppose it
will still help your quest.

> First of all, it is my understanding (from what told my Matthieu) that  
> VC++ will not make dynamic libraries (*.lib) in addition to dlopen- 
> modules (*.dll) unless there are dllexport requests.

I'm afraid this is not quite correct, on a couple of accounts.  On w32,
shared libraries are *.dll (case-insensitively).  Static libraries are
*.lib if created by MSVC.  However, shared libraries typically *also*
come with import libraries alongside of them, which are *.lib or *.dll.a
(the latter is typical for using GCC in conjunction with MinGW, for
example, not MSVC).

On systems where shared libraries may not have undefined symbols (which
includes w32), libtool will not create a shared libraries at --mode=link
time unless you pass -no-undefined.

dllexport requests are yet another matter.  Let's not go into detail on
this right now.

> And the test suite 
> does not seem to do that, which results in total failure.  The following 
> patch in the test suite fixes this.

ENOPATCH.

> I am surprised that this issue was 
> not reported before, did I miss something?

This is the very first time I hear somebody using MSVC on GNU/Linux with
Libtool.  So no, I'm not surprised.

> The test (make -C mdemo) fails a bit farther anyway:
>
> /bin/sh ./libtool --tag=CC   --mode=link cl.exe  -g -no-undefined - 
> module -export-symbols-regex "libfoo2.*"  -o libfoo2.la -rpath /tmp/ 
> libtool-2.2.7a/_inst/lib foo2.lo  libsub.la
> libtool: link: link -dump -symbols  .libs/foo2.obj   |  | /bin/sed 's/.* 
> //' | sort | uniq > .libs/libfoo2.exp
> ./libtool: eval: line 967: syntax error near unexpected token `|'
> ./libtool: eval: line 967: `link -dump -symbols  .libs/foo2.obj   |  | 
> /bin/sed 's/.* //' | sort | uniq > .libs/libfoo2.exp'
> gmake: *** [libfoo2.la] Error 1

This should all be solved with Peter's patches from the branch.

Cheers,
Ralf




reply via email to

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