[MacPorts] #22610: apr-util port installed with x86_64 architecture only
#22610: apr-util port installed with x86_64 architecture only -------------------------------------------------+-------------------------- Reporter: lucien.gentis@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: apr-util apache2 -------------------------------------------------+-------------------------- Hello, Machine : iMac - Intel Core 2 Duo System : Mac OS X 10.6.2 I wanted to build apache2 port via command "sudo port install apache2", and got following error : ******************************************************************************* /opt/local/share/apr-1/build/libtool --silent --mode=link /usr/bin/gcc-4.2 -I/opt/local/include -O2 -arch x86_64 -arch i386 -L/opt/local/lib/db46 -L/opt/local/lib -arch x86_64 -arch i386 -o htpasswd htpasswd.lo -L/opt/local/lib -lpcre /opt/local/lib/libaprutil-1.la -ldb-4.6 -lexpat -liconv /opt/local/lib/libapr-1.la -lpthread /opt/local/share/apr-1/build/libtool --silent --mode=link /usr/bin/gcc-4.2 -I/opt/local/include -O2 -arch x86_64 -arch i386 -L/opt/local/lib/db46 -L/opt/local/lib -arch x86_64 -arch i386 -o htdigest htdigest.lo -L/opt/local/lib -lpcre /opt/local/lib/libaprutil-1.la -ldb-4.6 -lexpat -liconv /opt/local/lib/libapr-1.la -lpthread ld: warning: in /opt/local/lib/libaprutil-1.dylib, file is not of required architecture Undefined symbols for architecture i386: "_apr_sha1_base64", referenced from: _main in htpasswd.o "_apr_md5_encode", referenced from: _main in htpasswd.o ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status lipo: can't open input file: /var/tmp//ccXvh5lT.out (No such file or directory) make[2]: *** [htpasswd] Error 1 make[2]: *** Waiting for unfinished jobs.... ld: warning: in /opt/local/lib/libaprutil-1.dylib, file is not of required architecture Undefined symbols for architecture i386: "_apr_md5_update", referenced from: _add_password in htdigest.o "_apr_md5_final", referenced from: _add_password in htdigest.o "_apr_md5_init", referenced from: _add_password in htdigest.o ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status lipo: can't open input file: /var/tmp//cczMWGnn.out (No such file or directory) make[2]: *** [htdigest] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1 Error: Status 1 encountered during processing. ***************************************************************************** apache2 tries to build with both architectures x86_64 and i386, and apr- util builds only with x86_64 architecture whatever value has parameter build_arch in macport.conf 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 The only way I found to install apache2 was to set universal_archs to x86_64 in macport.conf, which is not very "clean". Summary : 1. apr-util builds with x86_64 architecture only, even if build_arch parameter is set to a value of "x86_64 i386" 2. apache2 tries to build with both x86_64 and i386 architectures, but it should only build with x86_64 as I work on iMac (64 bits) under Snow Leopard (as said in comments for build_arch parameter in macport.conf) Lucien -- Ticket URL: <http://trac.macports.org/ticket/22610> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only -------------------------------------------------+-------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: apr-util apache2 -------------------------------------------------+-------------------------- Changes (by dluke@…): * owner: macports-tickets@… => dluke@… -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only -------------------------------------------------+-------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: apr-util apache2 -------------------------------------------------+-------------------------- Changes (by snc@…): * cc: snc@… (added) Comment: Do you have `+universal` set in your variants.conf? I don't think it should be building both architectures unless you specified a universal build. -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only -------------------------------------------------+-------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: apr-util apache2 -------------------------------------------------+-------------------------- Description changed by jmr@…: Old description:
Hello,
Machine : iMac - Intel Core 2 Duo System : Mac OS X 10.6.2
I wanted to build apache2 port via command "sudo port install apache2", and got following error :
******************************************************************************* /opt/local/share/apr-1/build/libtool --silent --mode=link /usr/bin/gcc-4.2 -I/opt/local/include -O2 -arch x86_64 -arch i386 -L/opt/local/lib/db46 -L/opt/local/lib -arch x86_64 -arch i386 -o htpasswd htpasswd.lo -L/opt/local/lib -lpcre /opt/local/lib/libaprutil-1.la -ldb-4.6 -lexpat -liconv /opt/local/lib/libapr-1.la -lpthread /opt/local/share/apr-1/build/libtool --silent --mode=link /usr/bin/gcc-4.2 -I/opt/local/include -O2 -arch x86_64 -arch i386 -L/opt/local/lib/db46 -L/opt/local/lib -arch x86_64 -arch i386 -o htdigest htdigest.lo -L/opt/local/lib -lpcre /opt/local/lib/libaprutil-1.la -ldb-4.6 -lexpat -liconv /opt/local/lib/libapr-1.la -lpthread ld: warning: in /opt/local/lib/libaprutil-1.dylib, file is not of required architecture Undefined symbols for architecture i386: "_apr_sha1_base64", referenced from: _main in htpasswd.o "_apr_md5_encode", referenced from: _main in htpasswd.o ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status lipo: can't open input file: /var/tmp//ccXvh5lT.out (No such file or directory) make[2]: *** [htpasswd] Error 1 make[2]: *** Waiting for unfinished jobs.... ld: warning: in /opt/local/lib/libaprutil-1.dylib, file is not of required architecture Undefined symbols for architecture i386: "_apr_md5_update", referenced from: _add_password in htdigest.o "_apr_md5_final", referenced from: _add_password in htdigest.o "_apr_md5_init", referenced from: _add_password in htdigest.o ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status lipo: can't open input file: /var/tmp//cczMWGnn.out (No such file or directory) make[2]: *** [htdigest] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1
Error: Status 1 encountered during processing. *****************************************************************************
apache2 tries to build with both architectures x86_64 and i386, and apr- util builds only with x86_64 architecture whatever value has parameter build_arch in macport.conf
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
The only way I found to install apache2 was to set universal_archs to x86_64 in macport.conf, which is not very "clean".
Summary : 1. apr-util builds with x86_64 architecture only, even if build_arch parameter is set to a value of "x86_64 i386" 2. apache2 tries to build with both x86_64 and i386 architectures, but it should only build with x86_64 as I work on iMac (64 bits) under Snow Leopard (as said in comments for build_arch parameter in macport.conf)
Lucien
New description: Hello, Machine : iMac - Intel Core 2 Duo System : Mac OS X 10.6.2 I wanted to build apache2 port via command "sudo port install apache2", and got following error : ******************************************************************************* {{{ /opt/local/share/apr-1/build/libtool --silent --mode=link /usr/bin/gcc-4.2 -I/opt/local/include -O2 -arch x86_64 -arch i386 -L/opt/local/lib/db46 -L/opt/local/lib -arch x86_64 -arch i386 -o htpasswd htpasswd.lo -L/opt/local/lib -lpcre /opt/local/lib/libaprutil-1.la -ldb-4.6 -lexpat -liconv /opt/local/lib/libapr-1.la -lpthread /opt/local/share/apr-1/build/libtool --silent --mode=link /usr/bin/gcc-4.2 -I/opt/local/include -O2 -arch x86_64 -arch i386 -L/opt/local/lib/db46 -L/opt/local/lib -arch x86_64 -arch i386 -o htdigest htdigest.lo -L/opt/local/lib -lpcre /opt/local/lib/libaprutil-1.la -ldb-4.6 -lexpat -liconv /opt/local/lib/libapr-1.la -lpthread ld: warning: in /opt/local/lib/libaprutil-1.dylib, file is not of required architecture Undefined symbols for architecture i386: "_apr_sha1_base64", referenced from: _main in htpasswd.o "_apr_md5_encode", referenced from: _main in htpasswd.o ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status lipo: can't open input file: /var/tmp//ccXvh5lT.out (No such file or directory) make[2]: *** [htpasswd] Error 1 make[2]: *** Waiting for unfinished jobs.... ld: warning: in /opt/local/lib/libaprutil-1.dylib, file is not of required architecture Undefined symbols for architecture i386: "_apr_md5_update", referenced from: _add_password in htdigest.o "_apr_md5_final", referenced from: _add_password in htdigest.o "_apr_md5_init", referenced from: _add_password in htdigest.o ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status lipo: can't open input file: /var/tmp//cczMWGnn.out (No such file or directory) make[2]: *** [htdigest] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1 Error: Status 1 encountered during processing. }}} ***************************************************************************** apache2 tries to build with both architectures x86_64 and i386, and apr- util builds only with x86_64 architecture whatever value has parameter build_arch in macport.conf 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 }}} The only way I found to install apache2 was to set universal_archs to x86_64 in macport.conf, which is not very "clean". Summary : 1. apr-util builds with x86_64 architecture only, even if build_arch parameter is set to a value of "x86_64 i386" 2. apache2 tries to build with both x86_64 and i386 architectures, but it should only build with x86_64 as I work on iMac (64 bits) under Snow Leopard (as said in comments for build_arch parameter in macport.conf) Lucien -- -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only -------------------------------------------------+-------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: apr-util apache2 -------------------------------------------------+-------------------------- Comment(by neil_mayhew@…): However, I '''do''' want universal since wxWidgets is currently 32-bit- only because it still uses Carbon. Any program that uses wxWidgets needs to be 32-bit and therefore needs 32-bit versions of all the libraries it uses. I need to have {{{+universal}}} set in my {{{variants.conf}}} but any port that depends on apr-util is currently broken. -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only -------------------------------------------------+-------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: apr-util apache2 -------------------------------------------------+-------------------------- Comment(by dluke@…): Replying to [comment:4 neil_mayhew@…]:
However, I '''do''' want universal
Can you attach your failed build log for apr-util 64/32 bit universal, please? -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only -------------------------------------------------+-------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: apr-util apache2 -------------------------------------------------+-------------------------- Comment(by neil_mayhew@…): Replying to [comment:5 dluke@…]:
Can you attach your failed build log for apr-util 64/32 bit universal, please?
Note that the build succeeds, but builds only {{{x86_64}}}. There don't appear to be any {{{-arch}}} flags anywhere. Other {{{+universal}}} builds then fail (eg serf) because there's no {{{i386}}} in {{{/opt/local/lib/libaprutil-1.dylib}}}. -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only -------------------------------------------------+-------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: apr-util apache2 -------------------------------------------------+-------------------------- Comment(by michaelsafyan@…): I'm running into the same problem. I added "+universal" to the variants.conf file immediately after I installed MacPorts and before installing any packages. I tried installing "log4cxx", but it failed due to its dependency "apr-util" not having the required architecture (i386). I'm on Mac OS X Snow Leoard and so everything should be built as i386/x86_64 universal binaries, but "apr-util" builds as only i386. I am attaching "apr-util.arch.txt" which demonstrates that the file contains only the i386 architecture, I am attaching "apr-util.buildlog2" which is another build log for apr-util (in case it helps), and "log4cxx.buildlog" showing the failed build of log4cxx due to "apr-util" being i386-only. -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:12> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only -------------------------------------------------+-------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: apr-util apache2 -------------------------------------------------+-------------------------- Comment(by michaelsafyan@…): So, apparently there is a diff for repairing apr-util given in this bug report: http://trac.macports.org/ticket/17090 . Can any of the MacPorts developers apply the apr-util-universal.diff patch to the mainline apr- util port? Thanks. -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:14> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only --------------------------------------------------+------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Resolution: fixed | Keywords: Port: apr-util apache2 | --------------------------------------------------+------------------------- Changes (by dluke@…): * status: new => closed * resolution: => fixed Comment: patch applied in r61550 -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:15> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only --------------------------------------------------+------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Resolution: fixed | Keywords: Port: apr-util apache2 | --------------------------------------------------+------------------------- Comment(by michaelsafyan@…): So, apparently that patch doesn't fix it. I am now getting a new error (although at least apr-util refuses to build instead of silently building in the wrong mode). The error that I am getting is this: {{{ [michaelsafyan@codemage ~]$ sudo port install apr-util ---> Computing dependencies for apr-util ---> Fetching apr-util ---> Verifying checksum(s) for apr-util ---> Extracting apr-util ---> Configuring apr-util ---> Building apr-util Error: Target org.macports.build returned: invalid command name "EXTRA_LDFLAGS='-arch x86_64 -arch i386'" Error: Status 1 encountered during processing }}} -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:16> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only --------------------------------------------------+------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Resolution: fixed | Keywords: Port: apr-util apache2 | --------------------------------------------------+------------------------- Comment(by dluke@…): Replying to [comment:16 michaelsafyan@…]:
So, apparently that patch doesn't fix it.
Sorry, there was some trailing whitespace that caused that. I've just committed r61551 to fix -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:17> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only --------------------------------------------------+------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Resolution: fixed | Keywords: Port: apr-util apache2 | --------------------------------------------------+------------------------- Comment(by michaelsafyan@…): Things still don't seem to be building.... {{{ [michaelsafyan@codemage ~]$ sudo port clean apr-util ---> Cleaning apr-util [michaelsafyan@codemage ~]$ sudo port selfupdate ---> Updating the ports tree ---> Updating MacPorts base sources using rsync MacPorts base version 1.8.1 installed, MacPorts base version 1.8.1 downloaded. ---> MacPorts base is already the latest version The ports tree has been updated. To upgrade your installed ports, you should run port upgrade outdated [michaelsafyan@codemage ~]$ sudo port install apr-util ---> Computing dependencies for apr-util ---> Fetching apr-util ---> Verifying checksum(s) for apr-util ---> Extracting apr-util ---> Configuring apr-util ---> Building apr-util Error: Target org.macports.build returned: invalid command name "EXTRA_LDFLAGS='-arch x86_64 -arch i386'" Error: Status 1 encountered during processing. }}} I'm thinking that maybe the "configure.cflags-append" and "configure .ldflags-append" MacPorts commands should be used instead of setting EXTRA_CFLAGS and EXTRA_LDFLAGS. As in: {{{ if {[variant_isset universal]} { configure.cflags-append '${configure.universal_cflags}' configure.ldflags-append '${configure.universal_ldflags}' } }}} I haven't tested this, though, so that should probably be tested before committing. -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:18> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only --------------------------------------------------+------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Resolution: fixed | Keywords: Port: apr-util apache2 | --------------------------------------------------+------------------------- Comment(by dluke@…): It takes some time for the stuff checked into the svn server to make it to the rsync server (where selfupdate gets the Portfiles unless you've changed things to use an svn checkout). -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:19> MacPorts <http://www.macports.org/> Ports system for Mac OS
#22610: apr-util port installed with x86_64 architecture only --------------------------------------------------+------------------------- Reporter: lucien.gentis@… | Owner: dluke@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Resolution: fixed | Keywords: Port: apr-util apache2 | --------------------------------------------------+------------------------- Comment(by michaelsafyan@…): Thanks. I didn't realize that. Everything is working now. -- Ticket URL: <http://trac.macports.org/ticket/22610#comment:20> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts