= Problem Hotlist = == 1. Fetch failures - readline port and others == When MacPorts' fetches via ftp, it contacts servers in passive mode by trying "EPSV" first and then, if that fails, trying "PASV". The server at ftp.cwru.edu, and presumable more servers, break the connection after the "EPSV" request, making it impossible to try "PASV" so the fetch fails. #10832. Various options are being considered to deal with this in a future release. Right now many ports exhibit this behavior behind firewalls and the only solution is to download the file with the ftp link in a browser or ftp client and copy the file to ${prefix}/var/macports/distfiles//. If a 'port clean --all' has been done the distfile directory will have been removed. The directory for each port is created at the beginning of the fetch phase. '''Note:''' Checksum failures after a fetch are typically a separate issue. See the [wiki:FAQ FAQ]. == 2. A port failed to build, upgrade, or run with a message referring to libintl.3.dylib == {{{ dyld: Library not loaded: /opt/local/lib/libintl.3.dylib }}} When the gettext port was updated from 0.14.x to 0.15.x, the libintl library version changed from 3 to 8. Software always links against a specific library version, so the ports you currently have installed that depend on gettext are linked to the now-nonexistent version 3 libintl library. To fix this problem, all ports that depend on gettext will need to be rebuilt so that they link with the new version 8 libintl library. This may be quite a few ports. Here is a script that can tell you what ports you have installed that depend on gettext. {{{ #!/bin/bash if test -z "$1"; then echo "usage: $0 " exit 1 fi for file in `find /opt/local/lib -name *.dylib; find /opt/local/bin`; do # Skip this match if it's a symbolic link if test -f $file -a ! -L $file; then # Look for references to the missing library otool -L $file | grep --silent $1 if test "$?" = "0"; then port provides `echo $file` fi fi # Grab the name of the port and make sure to list each port just once done | awk -F: ' { print $2 } ' | sort | uniq }}} Copy this script, paste it into a text editor, and save it, e.g. as depsearch.sh. Then run it in the Terminal, passing it the name of the library you want it to search for. In this case, to search for ports that depend on gettext, tell it to look for the library "libintl". E.g. if you saved the script to your Desktop, run it this way: {{{ bash ~/Desktop/depsearch.sh libintl }}} Now you’ve got a list of ports you need to fix. Force uninstall each of these ports and remove their archives. {{{ port uninstall -f port clean --archive }}} Once that’s done, force an install of each one. {{{ port install -f }}} If you’ve got old nonactivated versions of the port installed, you'll need to remove the old versions first. You may remove all old versions this way. {{{ port -duf uninstall }}} == 3. A port failed to build with a message referring to 1/lib: No such file or directory == {{{ apple-darwin9-gcc-4.0.1: 1/lib: No such file or directory make: *** Error 1 }}} When upgrading from Tiger to Leopard without removing the previous Mac OS version, updated versions of some libraries in {{{/usr/}}} and {{{/usr/lib/}}} are moved from {{{/old/path/}}} to {{{/old/path 1/}}}. Notice the space before {{{1}}}. This makes some {{{configure}}} scripts build bad build instructions, making the build phases of several ports fail. Two incriminated directories have been encountered : {{{ /usr/X11R6 1/ /usr/lib/ruby 1/ }}} In order to fix this problem, you can remove the backups created by the installers. == 4. .profile not set up == Contrary to the documentation, after a fresh installation of MacPorts 1.6.0, the .profile is not set up, and users aren't able to just type the "port" command. Users must set up the .profile manually. This is a bug in the 1.6.0 installer. This will be fixed in the next release of MacPorts.