I have +universal in my variants.conf file.
$ sudo port install libusb
---> Fetching libusb
---> Verifying checksum(s) for libusb
---> Extracting libusb
---> Applying patches to libusb
---> Configuring libusb
---> Building libusb with target all
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_libusb/work/libusb-0.1.12" && make all " returned error 2
Command output: (cd .libs && rm -f libusbpp.la && ln -s ../libusbpp.la libusbpp.la)
Making all in tests
ccache /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I.. -I.. -I/opt/local/include -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch ppc -Wall -c -o testlibusb.o testlibusb.c
/bin/sh ../libtool --mode=link ccache /usr/bin/gcc-4.0 -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch ppc -Wall -L/opt/local/lib -arch i386 -arch ppc -o testlibusb testlibusb.o ../libusb.la -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation -Wl,-prebind
mkdir .libs
ccache /usr/bin/gcc-4.0 -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch ppc -Wall -arch i386 -arch ppc -o .libs/testlibusb testlibusb.o -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation -Wl,-prebind -L/opt/local/lib ../.libs/libusb.dylib
ld warning: in ../.libs/libusb.dylib, file is not of required architecture
Undefined symbols for architecture ppc:
"_usb_close", referenced from:
_print_device in testlibusb.o
"_usb_find_devices", referenced from:
_main in testlibusb.o
"_usb_busses", referenced from:
_usb_busses$non_lazy_ptr in testlibusb.o
"_usb_init", referenced from:
_main in testlibusb.o
"_usb_open", referenced from:
_print_device in testlibusb.o
"_usb_get_string_simple", referenced from:
_print_device in testlibusb.o
_print_device in testlibusb.o
_print_device in testlibusb.o
"_usb_find_busses", referenced from:
_main in testlibusb.o
ld: symbol(s) not found for architecture ppc
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccKSaqxT.out (No such file or directory)
make[2]: *** [testlibusb] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Error: Status 1 encountered during processing.
Patch makes libusb Portfile work with +universal variant