Re: DarwinPorts 1.3.1

Paul Guyot <[email protected]>
Newsgroups gmane.os.opendarwin.darwinports
Message-ID <[email protected]>
Le 1 août 06 à 09:52, Anthony Agelastos a écrit :

> On Jul 31, 2006, at 7:56 PM, Juan Manuel Palacios wrote:
>>
>> 	Readline compilation is failing for you:
> This is the synopsis I have received from the three people who have  
> replied thus far. So, I took jk's suggestion and uninstalled  
> readline (and gnuplot) and then re-did the sudo port -d selfupdate  
> and I still have, more or less, the same problem. I have attached  
> the latest version of the build for an environment where I have  
> deinstalled readline.
>>
>> 	The symbols that were previously determined to exist in your  
>> system libraries weren't really found. Have you performed any type  
>> of surgery on your system? Particularly with the readline libraries?
> I have not performed any surgery on my system. I have Gerben  
> Wierda's MacTeX and Gaurav Khanna's Octave installed in /usr/ 
> local ; other than that, this machine is Apple-standard. Any ideas?  
> I am aware that I can probably just download the binary updater and  
> go from there. I mention this problem with selfupdate to assist the  
> developers in finding any potential software bugs. I hope this  
> helps. Thank you for the quick replies, and thank you to the  
> developers who have made DarwinPorts a great tool.

Anthony,

You have a copy of readline in /usr/local.
This copy is a recent version unlike the one in /usr/lib and it  
defines symbols with an rl_ prefix:

> checking whether rl_username_completion_function is declared... yes
> checking whether rl_filename_completion_function is declared... yes
> checking whether rl_completion_matches is declared... yes
> checking whether username_completion_function is declared... no
> checking whether filename_completion_function is declared... no
> checking whether completion_matches is declared... no

But here, ld tries to link with the copy in /usr/lib which doesn't  
have such symbols:

> cc -dynamiclib -L/usr/lib -lcurl -lssl -lcrypto -lz Pextlib.o  
> strsed.o fgetln.o md5cmd.o setmode.o xinstall.o find.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/lib -lcurl -lssl - 
> lcrypto -lz -lreadline  -lcrypto
> ld: warning prebinding disabled because of undefined symbols
> ld: Undefined symbols:
> _rl_completion_matches
> _rl_filename_completion_function
> _rl_username_completion_function

The only good solution to this would be to add /usr/local/lib in the  
library search path when building base/ but it's contrary to the  
tradition of darwinports which says that /usr/local is evil.  
Preventing gcc to use /usr/local/include would cause way too much  
harms by preventing the software to be compiled on non-standard  
installs.

Paul
-- 
Ministre ultraplénipotentiaire en disponibilité.
Mobile. Sans baignoire fixe.
http://www.kallisys.com/
http://www-poleia.lip6.fr/~guyot/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.