[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Fix for libtool (lt_preloaded_symbol) (was: Kio compile error)
From:       Stephan Kulow <coolo () kde ! org>
Date:       2000-03-03 11:29:36
[Download RAW message or body]

Michael Matz wrote:
> 
> Hi,
> 
> you can forward to core-devel if you want.
> 
> On Fri, 3 Mar 2000, Stephan Kulow wrote:
> > > > > kioslave.o: In function `main':
> > > > > kioslave.o(.text+0x1b24): undefined reference to `lt_preloaded_symbols'
> > > > > collect2: ld returned 1 exit status
> > > > > make[3]: *** [kioslave] Error 1
> > > >
> > > > I fixed that.
> > > >
> > > > Greetings, Stephan
> > >
> > > I am sorry, but it still does not work...
> > >
> > Hmm, what compiler do you have? I tried it with egcs both with shared
> > libs
> > and static libs. in the command line you'll see .libs/kioslaveS.o - this
> > file should define this symbol
> 
> I see it also with egcs 1.1.2. The problem is libtool or g++. The
> generated kioslaveS.c file is compiled in libtool with "$CC -c blabla" and
> it seems in libtool, as it is called, CC==g++. Now the problem is, that
> the resulting kioslaveS.o file define's the symbol lt_preloaded_symbols to
> be _local_. If it's compiled with gcc it correctly is global. It may be a
> bug in g++.
Ah - you all use the HEAD branch of admin, right? ;-)

> 
> It goes away if either:
>  * in libtool we add "-x c" which is nonportable,
>  * declare lt_preloaded_symbol to be non-const (but then g++ puts it in
>    .data not .rodata, but at least now it's global)
>  * declare lt_preloaded_symbol to be "extern const". I think this would be
>    best. (patch for ltmain.sh attached)
> 
Hmm, the right fix is to compile the file with the C compiler and not
with g++.
I always thought gcc would understand the language by extension, but
I'll apply
your change til I merge the branch of admin into HEAD.

Greetings, Stephan

-- 
It said Windows 95 or better, so in theory Linux should run it
                                                GeorgeH on /.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic