bug-ncurses
[Top][All Lists]
Advanced

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

Re: Compile on MacOS


From: Thomas Dickey
Subject: Re: Compile on MacOS
Date: Tue, 8 Nov 2005 06:49:46 -0500 (EST)

On Tue, 8 Nov 2005, Andrea -XFox- Govoni wrote:

According to file PROBLEMS of openssl-0.9.8a source code distribution
[1], it's a misfeature in Apple's ld:

;-)

This is really a misfeature in ld, which seems to look for .dylib
libraries along the whole library path before it bothers looking for .a
libraries.  This means that -L switches won't matter unless OpenSSL is
built with shared library support.

As I read it, it doesn't mention the problem that you're seeing with
ncurses - adding new symbols produces a linker problem since the
new tic/infocmp use the symbols which aren't present earlier in the path.

Another solution that many seem to recommend is to move the libraries
/usr/lib/libcrypto.0.9.dylib, /usr/lib/libssl.0.9.dylib to a different
directory, build and install OpenSSL and anything that depends on your
build, then move libcrypto.0.9.dylib and libssl.0.9.dylib back to their
original places.  Note that the version numbers on those two libraries
may differ on your machine.

That could be a painful experience with ncurses, since often your shell
is linked to it.

So, either gcc silently passes -dynamic to ld, or it's an ld bug.

or it's a hack in the spec file that controls the behavior.  I found
that QNX's spec file was as you're describing, looking for _its_ system
libraries before looking for any other libraries.

So, I tried to configure with:
% ./configure --with-normal --without-debug
"LDFLAGS=-Wl,-search_paths_first"

Well, it builds! :-D

I don't know how to do, but it would be nice make configure able to
detect Mac OS X and automatically add "-Wl,-search_paths_first" to the
LDFLAGS variable.

I'll check into that (thanks).

--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net




reply via email to

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