MacPorts and removing fink
I discovered MacPorts (nee DarwinPorts) this weekend and for some reason I like the way DarwinPorts works over how Fink works. So I set out to remove Fink and install MacPorts. Then ran into some troubles...
First was how to uninstall Fink? I found this blog post which got me most of the way. I ran this command found there to remove most packages successfully:
fink list | perl -lne '/^\s*i\s+(\S+)/ and print $1' | xargs fink purge
When that completed, I simply removed the /sw directory:
sudo rm -rf /sw
Next I installed MacPorts and attempted to selfupdate but ran into an error that appeared to be a readline library error. Here's the tail of the output:
cc -dynamiclib -L/usr/local/lib -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/local/lib -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
/usr/bin/libtool: internal link edit command failed
make[2]: *** [Pextlib.dylib] Error 1
make[1]: *** [all] Error 1
make: *** [all] Error 1
The above error is because I was mucking around with a different readline library for either Python or Ruby, I can't remember which. So I had some readline stuff in /usr/local/lib and /usr/local/include. For those not familiar with traditional Unix paths /usr/local is typically reserved for libraries installed by the user and external to the system itself while /usr (and /usr/lib, /usr/include) are for system installed libraries.
So I blew away my readline stuff:
sudo rm /usr/local/lib/libreadline*
sudo rm -rf /usr/local/include/readline
Now MacPorts did a selfupdate perfectly. NOTE: MacPorts would have self updated just fine on a normal Mac OS X system. I just got the error because of my previously installed readline library.
About this entry
Date Posted:
November 6th 2006 at 9:11:00 AM
Tagged:
mac os x
Previous Entry:
Pygmalion - Python Interface to Ma.gnolia
Next Entry:
Reducing HTTP requests using make
Comments
blog comments powered by Disqus