libtool
[Top][All Lists]
Advanced

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

Re: Darwin, convenience libs, and global symbols


From: Peter O'Gorman
Subject: Re: Darwin, convenience libs, and global symbols
Date: Wed, 10 Dec 2003 04:18:59 +0000
User-agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Matt Fago wrote:

| Peter O'Gorman wrote:
|
|> Matt Fago wrote:
|>
|> | The main application compiles and links correctly, but a test
|> program --
|> |  which links the same convenience libraries -- fails with "ld:
|> Undefined
|> | symbols" corresponding to the global variables in one of the libraries.
|> |
|
| The tarball is located at:

God darwin is strange.

The symbols the linker can't find are all common symbols, ranlib's
default behavior is not to include common symbols in the archive table
of contents. You have many choices for fixing this:

1) RANLIB="ranlib -c" ./configure
2) CPPFLAGS="-fno-common" ./configure
3) edit laminate.c and change "int icomputetan;" to "int icomputetan=0;"

Although this behavior from apple's ranlib and ld is decidedly
different, I'm not sure that it constitutes a bug in libtool. Anyway,
I'd suggest option 3 above. While you are in there you could remove the
other common symbols too, but it isn't really required.

Usually when building shared libtool adds -fno-common to the compile
line and -all_load to the link line for convenience libraries, you
aren't building shared, so that is not happening, either one (or both)
of these would also solve the linking issue.

Hope this helps,
Peter
- --
Peter O'Gorman - http://www.pogma.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (Darwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iQCVAwUBP9aesLiDAg3OZTLPAQL2tQP/Wh8lGUVbOhpTEOYAmyVa5NkaOQmn7xUj
/Bndg/zSfqjCTi0GJM/By7E6ipHBZhC6vDHz0IxOZdCv8rf4JzgJgk8K6y1ix1nF
cREf+creqcphN+aJrD7kNro83Pa5aiQka5YUD/9RUWakJHJ0zRhhVC1AuG8exFfT
rDrsmYAfPb4=
=iJrq
-----END PGP SIGNATURE-----




reply via email to

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