apache2 fails to build
lucien.gentis at medecine.uhp-nancy.fr
Wed Nov 18 04:35:05 PST 2009
Le 17 nov. 2009 à 17:49, Joshua Root a écrit :
> On 2009-11-18 00:54, Lucien Gentis wrote:
>> Hello, Machine : iMac Intel Core 2 duo - 2.4 GHz System : Mac OS X
>> Server 10.6.2 Macports version 1.8.1 ("selfupdated") (apr and apr-util
>> were automatically installed through first "sudo port install apache2"
>> When I try to install apache2 port through "sudo port install apache2"
>> command, I obtain following errors :
>> ld: warning: in
>> /opt/local/lib/libaprutil-1.dylib, file is not of required architecture
> You are installing apache2 with +universal, which means you must ensure
> that any of its dependencies which are already installed are also
> installed with +universal.
> - Josh
So, I verified variants installed, and all ports whom apache2 depends are build with universal variant.
But there seems to be a problem with libaprutil :
command "port installed apr" returns : "apr @1.3.9_0+universal (active)"
command "port installed apr-util" returns : "apr-util @1.3.9_0+universal (active)"
command "file /opt/local/lib/libapr-184.108.40.206.dylib" returns :
/opt/local/lib/libapr-220.127.116.11.dylib: Mach-O universal binary with 2 architectures
/opt/local/lib/libapr-18.104.22.168.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
/opt/local/lib/libapr-22.214.171.124.dylib (for architecture i386): Mach-O dynamically linked shared library i386
command "file /opt/local/lib/libaprutil-126.96.36.199.dylib" only returns :
/opt/local/lib/libaprutil-188.8.131.52.dylib: Mach-O 64-bit dynamically linked shared library x86_64
So, even if apr-util is installed with "universal" variant, it supports only x86_64 architecture, and when I try to install apache2, it doesn't find certain symbols in libaprutil for i386 architecture.
But, since my iMac has a x86_64 architecture, I don't need apache2 build for i386 ; so I edited /opt/local/etc/macports/macports.conf and changed "universal_archs x86_64 i386" to "universal_archs x86_64", and it worked.
I have yet installed apache2.
But this doesn't explain why apr-util isn't installed for i386 architecture, even with "universal" variant. (how does it work on i386 machines ?)
More information about the macports-users