apache2 fails to build

Lucien Gentis 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"
>> command)
>> 
>> 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

Hello,

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-1.0.3.9.dylib" returns :
/opt/local/lib/libapr-1.0.3.9.dylib: Mach-O universal binary with 2 architectures
/opt/local/lib/libapr-1.0.3.9.dylib (for architecture x86_64):  Mach-O 64-bit dynamically linked shared library x86_64
/opt/local/lib/libapr-1.0.3.9.dylib (for architecture i386):    Mach-O dynamically linked shared library i386

but

command "file /opt/local/lib/libaprutil-1.0.3.9.dylib" only returns :
/opt/local/lib/libaprutil-1.0.3.9.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 ?)

Cheers

Lucien


More information about the macports-users mailing list