On Aug 21, 2007, at 07:31, Tommaso Urli wrote:
Ok, I renamed libreadline.a and tried "port install readline". Now let's see if it works.
On Aug 21, 2007, at 12:16, Tommaso Urli wrote:
As I said I reinstalled redaline through MacPorts, but still:
frodo:/usr/local/lib root# port selfupdate [snip] cc -dynamiclib -L/usr/local/lib Pextlib.o strsed.o fgetln.o md5cmd.o setmode.o xinstall.o fs-traverse.o strcasecmp.o vercomp.o filemap.o sha1cmd.o compat.o curl.o rmd160cmd.o readline.o uid.o -o Pextlib.dylib -L/System/Library/Frameworks/Tcl.framework/Versions/8.4 -ltclstub8.4 -L/usr/local/lib -L/usr/lib -lcurl -lssl -lcrypto -lz -lcrypto -lreadline ld: warning prebinding disabled because of undefined symbols ld: Undefined symbols: _rl_completion_matches _rl_filename_completion_function _rl_username_completion_function /usr/bin/libtool: internal link edit command failed make[2]: *** [Pextlib.dylib] Error 1 make[1]: *** [all] Error 1 make: *** [all] Error 1
libreadline.a is the statically-linked library. Are you sure there aren't also any dynamically-linked libraries of readline in /usr/ local/lib? Their names would be libreadline.*.dylib. You'll also want to check for and remove any readline includes in / usr/local/include. Others have encountered this problem before; see: http://rob.cogit8.org/blog/2006/Nov/06/macports-and-removing-fink/ http://lists.macosforge.org/pipermail/macports-users/2007-May/ 003230.html I guess we should write a FAQ entry about it. Anyone wanna do that? Devs: I think this problem occurs because MacPorts needs a newer version of readline than the one you have in /usr/local. Couldn't we add a check to ./configure to make sure the correct version of readline is available, and issue a sensible error message if not, rather than failing with this unfortunate undefined symbols error later on? Or, couldn't we instruct configure never to look for anything in /usr/local? I believe the latter has been suggested before but I don't remember the outcome.