Bugs item #1666069, was opened at 2007-02-22 07:33
Message generated for change (Comment added) made by eblanton
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1666069&group_id=235

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: solaris
Group: 2.0.0 beta 6
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: lingforum (lingforum)
Assigned to: Ethan Blanton (eblanton)
Summary: Solaris linking error (gaim static library)

Initial Comment:
Solaris(SunOS 5.10) linking error while using gaim-2.0.0beta6 static library 
into a c++ application.

The error is mentioned below.

Undefined symbol: gaim_init_oscar_plugin, gaim_init_jabber_plugin, 
gaim_init_yahoo_plugin              , gaim_init_msn_plugin.
First reference in file:gaim-2.0.0beta6/install/lib/libgaim.a(core.o)

Configure option used for compiling gaim:

./configure --disable-gtkui --disable-consoleui --enable-gnutls=yes 
--with-gnutls-includes=/usr/include --with-gnutls-libs=/usr/lib --disable-perl 
--disable-schemas-install CPPFLAGS=-D_REENTRANT 
--prefix=gaim-2.0.0beta6/install --enable-shared=no --enable-static=yes  
--with-static-prpls=yahoo,msn,oscar,jabber 
GLIB_CFLAGS=-I/glib-2.12.3/install/include/glib-2.0 
-I/glib-2.12.3/install/lib/glib-2.0/include 
GLIB_LIBS=-L/glib-2.12.3/install/lib -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 
-lglib-2.0


----------------------------------------------------------------------

>Comment By: Ethan Blanton (eblanton)
Date: 2007-03-03 12:05

Message:
Logged In: YES 
user_id=298616
Originator: NO

Hmm, this looks like a libtool problem, though I'm not sure if we're
causing it or if it's a libtool bug or what.  It sounds like we should be
compiling the protocols with -fPIC etc., and then linking them statically,
rather than compiling them statically and then linking them statically,
because libgaim is a dynamic library.  I'll have to look into this.

Ethan

----------------------------------------------------------------------

Comment By: lingforum (lingforum)
Date: 2007-02-26 00:19

Message:
Logged In: YES 
user_id=1710963
Originator: YES

Hi Ethan,

Please find the detail report. I got the below, at the end of the gaim
make:

/bin/bash ../libtool --silent --tag=CC --mode=link gcc  -g -g -O2   -o
libgaim.la -rpath /export/home/durai/test/gaim-2.0.0beta6/install/lib
-export-dynamic account.lo accountopt.lo blist.lo buddyicon.lo cipher.lo
circbuffer.lo cmds.lo connection.lo conversation.lo core.lo debug.lo
desktopitem.lo eventloop.lo ft.lo idle.lo imgstore.lo log.lo mime.lo
network.lo ntlm.lo notify.lo plugin.lo pluginpref.lo pounce.lo prefix.lo
prefs.lo privacy.lo proxy.lo prpl.lo request.lo roomlist.lo
savedstatuses.lo server.lo signals.lo dnsquery.lo dnssrv.lo status.lo
stringref.lo stun.lo sound.lo sslconn.lo upnp.lo util.lo value.lo
xmlnode.lo whiteboard.lo  
-L/export/home/durai/final/gateway/SunOS-i86pc/glib-2.12.3/install/lib
-lgobject-2.0 -lgmodule-2
.0 -lgthread-2.0 -lglib-2.0 -lxml2 -lpthread -lz -lm -lsocket -lnsl   
protocols/yahoo/libyahoo.a protocols/msn/libmsn.a
protocols/oscar/liboscar.a protocols/jabber/libjabber.a  -lm -lsocket -lnsl
-lresolv

*** Warning: Linking the shared library libgaim.la against the
*** static library protocols/yahoo/libyahoo.a is not portable!

*** Warning: Linking the shared library libgaim.la against the
*** static library protocols/msn/libmsn.a is not portable!

*** Warning: Linking the shared library libgaim.la against the
*** static library protocols/oscar/liboscar.a is not portable!

*** Warning: Linking the shared library libgaim.la against the
*** static library protocols/jabber/libjabber.a is not portable!

ar: protocols/yahoo/libyahoo.a is in archive format - embedded archives
are not allowed
ar: protocols/msn/libmsn.a is in archive format - embedded archives are
not allowed
ar: protocols/oscar/liboscar.a is in archive format - embedded archives
are not allowed
ar: protocols/jabber/libjabber.a is in archive format - embedded archives
are not allowed

---------------------------------------------
I just checked the "ar" version:
bash-3.00$ ar -V
ar: Software Generation Utilities (SGU) Solaris-ELF (4.0)
---------------------------------------------
I just checked the libraries file type:

bash-3.00$ file gaim-2.0.0beta6/libgaim/protocols/yahoo/libyahoo.a
gaim-2.0.0beta6/libgaim/protocols/yahoo/libyahoo.a:     current ar
archive, not a dynamic executable or shared object
bash-3.00$
bash-3.00$ file gaim-2.0.0beta6/libgaim/protocols/msn/libmsn.a
gaim-2.0.0beta6/libgaim/protocols/msn/libmsn.a: current ar archive, not a
dynamic executable or shared object
bash-3.00$
bash-3.00$ file gaim-2.0.0beta6/libgaim/protocols/jabber/libjabber.a
gaim-2.0.0beta6/libgaim/protocols/jabber/libjabber.a:   current ar
archive, not a dynamic executable or shared object
bash-3.00$
bash-3.00$ file gaim-2.0.0beta6/libgaim/protocols/oscar/liboscar.a
gaim-2.0.0beta6/libgaim/protocols/oscar/liboscar.a:     current ar
archive, not a dynamic executable or shared object
bash-3.00$
bash-3.00$ file gaim-2.0.0beta6/install/lib/libgaim.a
gaim-2.0.0beta6/install/lib/libgaim.a:  current ar archive, not a dynamic
executable or shared object
bash-3.00$
--------------------
I checked "nm" on libgaim and got the messages like,
/usr/ccs/bin/nm: libyahoo.a: invalid file type
/usr/ccs/bin/nm: libmsn.a: invalid file type
/usr/ccs/bin/nm: libjabber.a: invalid file type
/usr/ccs/bin/nm: liboscar.a: invalid file type\

Please find the attached log file (nm_libgaim_log.tar.gz) for "nm" of
libgaim.a for your reference.
This tar.gz file contains the nm_libgaim_log.txt log file

Thanks.
File Added: nm_libgaim_log.tar.gz

----------------------------------------------------------------------

Comment By: Ethan Blanton (eblanton)
Date: 2007-02-24 11:18

Message:
Logged In: YES 
user_id=298616
Originator: NO

For the first question, I'd like to see the actual ld invocation done at
compile time, after all those Makefile.am variables are expanded; it should
be right above the error you pasted.  It includes all of the .o files going
into the library, all of the compile flags, etc.

When I said ldd, I didn't mean ldd, I meant nm.  Could you re-run that
with nm?  (You'll probably want to make it an attachment, it will be very
large).

----------------------------------------------------------------------

Comment By: lingforum (lingforum)
Date: 2007-02-24 01:28

Message:
Logged In: YES 
user_id=1710963
Originator: YES

1. In my Makefile.am, I link gaim library as
AM_LDFLAGS = -L$(top_srcdir)/$(GAIM_LIB_DIR)-lgaim
Where GAIM_LIB_DIR is
"/export/home/lingforum/SunOS-i86pc/gaim-2.0.0beta6/install/lib"

The linking error is as follows:
----------8<------------
Undefined                       first referenced
 symbol                             in file
gaim_init_oscar_plugin  
/export/home/lingforum/SunOS-i86pc/gaim-2.0.0beta6/install/lib/libgaim.a(core.o)
gaim_init_jabber_plugin 
/export/home/lingforum/SunOS-i86pc/gaim-2.0.0beta6/install/lib/libgaim.a(core.o)
gaim_init_yahoo_plugin  
/export/home/lingforum/SunOS-i86pc/gaim-2.0.0beta6/install/lib/libgaim.a(core.o)
gaim_init_msn_plugin    
/export/home/lingforum/SunOS-i86pc/gaim-2.0.0beta6/install/lib/libgaim.a(core.o)
ld: fatal: Symbol referencing errors. No output written to gaimtest
collect2: ld returned 1 exit status
---------->8------------

2. I think "ldd" can be used for executable or shared libraries. Anyway
here is the output.
$ ldd libgaim.a
ldd: libgaim.a: file is not a dynamic executable or shared object

Thanks.

----------------------------------------------------------------------

Comment By: Ethan Blanton (eblanton)
Date: 2007-02-23 13:39

Message:
Logged In: YES 
user_id=298616
Originator: NO

lingforum, can you get me the final linking line for libgaim.a?  Also, I
would appreciate the output of 'ldd libgaim.a'.

Ethan

----------------------------------------------------------------------

Comment By: Luke Schierer (lschiere)
Date: 2007-02-22 14:54

Message:
Logged In: YES 
user_id=28833
Originator: NO

Ethan, can you shed any light here? 

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1666069&group_id=235

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Gaim-bugs mailing list
Gaim-bugs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gaim-bugs

Reply via email to