= Problem Hotlist = (Note, if you're using Mac OS X 10.5.x, be sure also to check the LeopardProblems page) == man port fails with error message == If you get following error message, when trying to access the man page for port or installed ports. {{{ Cannot open the message catalog "man" for locale "de_DE.UTF-8" (NLSPATH="") No manual entry for port }}} Add the following line to your .profile or .bash_profile. {{{ unset MANPATH }}} Tracked in ticket #13444. == port fails with: Image error: /opt/local/bin/a2p... == #perl5-image-error The perl ports are currently in flux, and can potentially cause issues resulting in the error message {{{ Error: Activating perl5 5.8.8_0 failed: Image error: /opt/local/bin/a2p is being used by the active perl5.8 port. Please deactivate this port first, or use the -f flag to force the activation. }}} The current method to get around this issue is to run {{{ port -f uninstall perl5 }}} then run your initial install command. == Fetch failures == If fetch failed for a port, you can still get the distfile from anywhere else. Maybe the homepage of the software lists alternative download locations for source tarballs. Just download the distfile and save it to `${prefix}/var/macports/distfiles//`. Make sure you get a file with exactly the same name (watch out for `.tar.gz` and `.tar.bz2`!) 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. There is in additional possibility to use our new [http://distfiles.macports.org distfiles mirror], which is automatically used as of the 1.7.0 release. If a fetch fails with MacPorts 1.6.x, try: {{{ sudo env MASTER_SITE_LOCAL=http://distfiles.macports.org/ port -v fetch }}} Unless it's a port that starts with p5-, py-, py25-, or rb-, in which case you use one of the following: {{{ sudo env MASTER_SITE_LOCAL=http://distfiles.macports.org/perl5 port -v fetch p5- sudo env MASTER_SITE_LOCAL=http://distfiles.macports.org/python port -v fetch py- sudo env MASTER_SITE_LOCAL=http://distfiles.macports.org/python port -v fetch py25- sudo env MASTER_SITE_LOCAL=http://distfiles.macports.org/ruby port -v fetch rb- }}} '''Note:''' Checksum failures after a fetch are typically a separate issue. See the [wiki:FAQ#IgetError:checksummd5sha1rmd160mismatchforport.WhatcanIdoaboutit FAQ]. == A port wants to fetch from https://svn.kde.org and fails due to certificate issues == #kdesvn '''Error message:''' {{{ svn: PROPFIND request failed on '/home/kde/branches/KDE/3.5/kde-common/admin' svn: PROPFIND of '/home/kde/branches/KDE/3.5/kde-common/admin': Server certificate verification failed: issuer is not trusted (https://svn.kde.org) Error: Target org.macports.fetch returned: Subversion check out failed }}} '''Explanation:''' The svn repository specifies a svn:externals definition using this ''https://'' URL. As the server is using a self-signed certificate it is not trusted by default and therefore `svn` rejects it in non-interactive mode. The workaround is to accept this certificate permanently with a manual connection. '''Workaround:''' {{{ sudo svn ls https://svn.kde.org }}} Choose ''accept permanently'' by entering a 'p'. Try to install the failing port again after cleaning. {{{ sudo port clean --all sudo port install }}} '''Known affected ports:''' taglib-devel '''Ticket:''' #18583 == 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 }}} == 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, and then clean the work directory of the failed port so that its configure script will be re-run: {{{ port clean --work }}} == Inactive port can't be removed even though a newer version is installed == If, after upgrading a port, you find you can't remove the older, inactive, version because {{{port}}} tells you it is a dependency of another port, this is a bug in MacPorts 1.6 and earlier. The recommended fix is to upgrade to MacPorts 1.7.0 or later. In 1.6, the workaround is to force it: {{{sudo port -f uninstall @}}} (replacing with the port name and with the version string for the older version). For example, if you've upgraded libpng recently, a {{{port installed libpng}}} may show {{{ libpng @1.2.30_0 libpng @1.2.31_0 (active) }}} Running {{{sudo port uninstall libpng}}} or {{{sudo port uninstall libpng @1.2.30_0}}} will complain that other ports depend on libpng and you can't uninstall. Simply add a -f to get it to go: {{{sudo port -f uninstall libpng @1.2.30_0}}}. Just make sure you remove the older, inactive version. == Can't install python modules because of unrecognized --no-user-cfg == #no-user-cfg While trying to install python modules, if it fails with the message {{{ error: option --no-user-cfg not recognized }}} your python port is outdated. For py25-* modules, you need to upgrade python25, for py26-*, python26, and for py30-*, python30. == A port fails to build due to XPROTO == #xproto When building a port which depends on some X11-based ports, it fails with {{{ Requested 'xproto >= 7.0.13' but version of Xproto is 7.0.11 }}} (or other version before 7.0.13). When this happens you need to make sure your xorg-xproto port is up to date. Use {{{sudo port selfupdate}}} then {{{sudo port upgrade outdated}}} (or at least {{{sudo port upgrade xorg-xproto}}}).