#32507: sane-backends-1.0.22 fails to build if archs don't match perl5.12 -----------------------------------+---------------------------------------- Reporter: jeremyhu@… | Owner: aguynamedryan+sane@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Keywords: | Port: sane-backends -----------------------------------+---------------------------------------- If perl5.12 is built +universal, then sane-backends will fail to build unless it is also built universal. This is because sane-backends queries perl to figure out what LDFLAGS to use. These LDFLAGS will include '-arch i386 -arch x86_64' even though sane-backends is only being built for x86_64. This build failure will look like this to the user because libusb will not be universal: {{{ checking usb.h presence... yes checking for usb.h... yes checking for usb_interrupt_read in -lusb... no configure: error: USB support requested but required libraries not found. shell command " cd "/opt/local/var/macports/build /_Users_jeremy_src_macports_trunk_dports_graphics_sane-backends/sane- backends/work/sane-backends-1.0.22" && ./configure --prefix=/opt/local --mandir=/opt/local/share/man --with-docdir=/opt/local/share/doc/sane- backends --enable-local-backends --enable-libusb --disable-latex --without-gphoto2 " returned error 1 Error: Target org.macports.configure returned: configure failure: shell command failed (see log for details) Warning: the following items did not execute (for sane-backends): org.macports.install org.macports.configure org.macports.build org.macports.destroot Log for sane-backends is at: /opt/local/var/macports/logs /_Users_jeremy_src_macports_trunk_dports_graphics_sane-backends/sane- backends/main.log Error: Unable to upgrade port: 1 To report a bug, see <http://guide.macports.org/#project.tickets> }}} config.log shows the real cause: {{{ configure:9640: checking for usb_interrupt_read in -lusb configure:9665: /Developer/usr/bin/clang -o conftest -pipe -O2 -arch x86_64 -W -Wall -DNETSNMP_ENABLE_IPV6 -fno-strict-aliasing -pipe -O2 -Udarwin11 -Ddarwin11=darwin11 -pipe -O2 -arch i386 -fno-common -DPERL_DARWIN -I/opt/local/include -no-cpp-precomp -fno-strict-aliasing -fstack-protector -I/opt/local/include -I/opt/local/lib/perl5/5.12.3 /darwin-multi-2level/CORE -I/opt/local/include -I/opt/local/include -I. -I/opt/local/include -I/opt/local/include -no-cpp-precomp -fno-common -include sys/types.h -D_REENTRANT -L/opt/local/lib -arch x86_64 conftest.c -lusb -Wl,-framework,CoreFoundation -Wl,-framework,IOKit -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -lnetsnmp -lcrypto >&5 clang: warning: argument unused during compilation: '-no-cpp-precomp' clang: warning: argument unused during compilation: '-no-cpp-precomp' ld: warning: ignoring file /opt/local/lib/libusb.dylib, file was built for unsupported file format which is not the architecture being linked (i386) Undefined symbols for architecture i386: "_usb_interrupt_read", referenced from: _main in cc-BlaEF1.o }}} -- Ticket URL: <https://trac.macports.org/ticket/32507> MacPorts <http://www.macports.org/> Ports system for Mac OS