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/