macports


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

Related Links

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

Categories

HOME
mc
keyboard
freeradius
schema.org
kendo-dropdown
concurrency
ews
tabs
vue-resource
jint
drag-and-drop
nexus3
xbap
squirrel-sql
xbox360
robolectric
spam
pfobject
android-custom-view
kaggle
gollum-wiki
substring
introspection
unrar
beego
onchange
tortoisehg
annotation-processing
dnsmasq
jsonresult
snap-framework
john-the-ripper
markov-chains
restful-architecture
db2-luw
express-session
ms-solver-foundation
django-crispy-forms
cloudera-quickstart-vm
strapi
flowchart
icepdf
flume-twitter
jenkins-slave
sonicmq
renderman
google-news
pen
dblink
.when
nitrousio
gawk
tablespace
ndk-build
data-management
ftp-client
qtcpsocket
wicked-pdf
android-async-http
utf-16
accessibilityservice
seadragon
place
ora-04091
highest
karma-coverage
physicsjs
console.log
rfc5545
fiware-bosun
debug-symbols
baseadapter
tkx
uno
producer
object-code
visual-c++-2012
mfmessagecomposeview
senchatouch-2.4
jack
autonumber
compiler-flags
rautomation
google-code-prettify
arel
xmlwriter
icenium
system-information
kaazing
gamesalad
prototypal-inheritance
wcf-callbacks
sigar
representation
pyjamas
reliability
projectpier

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App