Problems with macports
I was having some other problems with some ports building for the wrong CPU architecture, and I'm trying to rebuild everything as universal. I've done: sudo port upgrade outdated +universal, which ran for a long time, and seemed to install a lot of stuff I didn't need. But it didn't fail. Then I tried with one of the libraries I was previously having problems with: $ sudo port install cairo +universal Password: ---> Building libpixman Error: Target org.macports.build returned: shell command failed (see log for details) Log for libpixman is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_libpixman/libpixman/main.log Error: Unable to upgrade port: 1 Error: Unable to execute port: upgrade libpixman failed To report a bug, see <http://guide.macports.org/#project.tickets> Log is here http://hpaste.org/56449 (OSX 10.6.8, Intel Core i5)
The problem is you've specified +universal, so it's trying to build for both 32 and 64 bit architectures (x86_64 and i386)... :info:build ---> Building libpixman for architecture x86_64 ...and then later... :info:build ---> Building libpixman for architecture i386 but failing in the 32 bit build :info:build ld: warning: in /opt/local/lib/libpng14.dylib, file was built for unsupported file format which is not the architecture being linked (i386) It's failing in the 32 bit build because libpng is built for 64 bit and can't link with the 32 bit version. If you don't need a universal build, remove the +universal and the problem should go away! If you do need a universal build... well, macports should figure it out. I believe the issue is that libpixman does not declare dependencies on anything (libpng appears to be an optional dep). Macports can't know it has to build a 32 bit version of libpng. That's my best guess anyway. Here is exactly your bug. Unfortunately the maintainer's conclusion was that you should manually force recompile libpng as 32 bit. This is a crappy solution as it breaks automated universal builds up to gtk2 and beyond. The real problem is the missing dependency and that Macports can't know to rebuild libpng without it.
sudo port upgrade outdated +universal will only upgrade ports which have changed since you installed them so if a port has not changed it will not be installed/recompiled. The first step is not strictly required but will remove some issues when you have multiple version of a particular port. This step is to remove all inactive ports sudo port uninstall inactive To recompile all your ports use sudo port upgrade --force installed +universal the keyword installed will get all your ports and the -force will make sure all are rebuilt. To make things easier in the future you should change the macports configuration to build universal without having to do that on the port command. You do this by adding +universal to /opt/local/etc/macports/variants.conf
Don't know how to use tmux key bindings in OS X: C-b has no effect
Clipboard not working on geany via macports on mavericks
OSX Mavericks ATLAS install failure from source AND Macports
Error while extracting libunwind-headers on OS X Mavericks
How do I know the macports package name for a command?
Error with macports while installing nodejs
Cannot uninstall MacPorts
Port: command not found, even though /.bash_profile is 'correct'
Install an older package through macports [closed]
MacPorts: Installing arm-none-linux-gnueabi-* fails
how to remove +universal
Switched from Ubuntu problems Installing gedit on mac via macports. “Gtk-WARNING **: cannot open display:”
Macport self update fail mountain lion. Earlier it was working fine
How to get the size of the installed package via MacPort?
Why won't mariadb listen on port 3306 after a macports update?
MacPorts is not installing