[MacPorts] #13814: fftw-3: Not building universal variant

MacPorts trac at macosforge.org
Thu Jan 3 14:49:59 PST 2008


#13814: fftw-3: Not building universal variant
------------------------------------+---------------------------------------
  Reporter:  andre.david at gmail.com  |       Owner:  macports-tickets at lists.macosforge.org
      Type:  defect                 |      Status:  new                                  
  Priority:  Normal                 |   Milestone:                                       
 Component:  ports                  |     Version:  1.6.0                                
Resolution:                         |    Keywords:  fftw-3, universal                    
------------------------------------+---------------------------------------
Comment (by andre.david at gmail.com):

 Though I am not Tcl literate I nailed the location to
 /opt/local/share/macports/Tcl/port1.0/portconfigure.tcl, where

 {{{
 # internal functions to determine the "-arch xy" flags for the compiler
 # -> these should preferably get a more global scope, perhaps be user-
 configurable?
 set universal_archs {ppc ppc64 i386 x86_64}
 }}}

 I would second this. Or an alternative like "allbits" (tongue in cheek,)
 which gets set i386+x86_64 on intel and ppc+ppc64 on ppc.

 Sounds plausible?

 Unfortunately, the problem isn't over. Replacing the above line with

 {{{
 set universal_archs {i386 x86_64}
 }}}

 compiles what seems like all the code, but then brutally stops:

 {{{
 [lines omitted]
 /usr/bin/gcc-4.0 -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I..
 -I/opt/local/include  -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch
 i386 -arch x86_64 -D_THREAD_SAFE  -c verify-r2r.c
 /usr/bin/gcc-4.0 -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I..
 -I/opt/local/include  -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch
 i386 -arch x86_64 -D_THREAD_SAFE  -c verify-rdft2.c
 /usr/bin/gcc-4.0 -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I..
 -I/opt/local/include  -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch
 i386 -arch x86_64 -D_THREAD_SAFE  -c verify.c
 /usr/bin/gcc-4.0 -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I..
 -I/opt/local/include  -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch
 i386 -arch x86_64 -D_THREAD_SAFE  -c zero.c
 /usr/bin/gcc-4.0 -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I..
 -I/opt/local/include  -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch
 i386 -arch x86_64 -D_THREAD_SAFE  -c my-getopt.c
 rm -f libbench2.a
 ar cru libbench2.a aligned-main.o allocate.o aset.o bench-main.o can-do.o
 caset.o dotens2.o info.o main.o mflops.o mp.o ovtpvt.o pow2.o problem.o
 report.o speed.o tensor.o timer.o timer2.o useropt.o util.o verify-dft.o
 verify-lib.o verify-r2r.o verify-rdft2.o verify.o zero.o my-getopt.o
 ranlib libbench2.a
 Making all in .
 /bin/sh ./libtool --tag=CC --mode=link /usr/bin/gcc-4.0 -std=gnu99  -O2
 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch x86_64
 -D_THREAD_SAFE   -L/opt/local/lib -arch i386 -arch x86_64 -o libfftw3.la
 -rpath /opt/local/lib -no-undefined -version-info 4:2:1
 kernel/libkernel.la dft/libdft.la dft/codelets/libdft_codelets.la
 dft/codelets/standard/libdft_standard.la rdft/librdft.la
 rdft/codelets/librdft_codelets.la
 rdft/codelets/r2hc/librdft_codelets_r2hc.la
 rdft/codelets/hc2r/librdft_codelets_hc2r.la
 rdft/codelets/r2r/librdft_codelets_r2r.la reodft/libreodft.la
 api/libapi.la    -lm
 mkdir .libs
 rm -fr .libs/libfftw3.lax
 mkdir .libs/libfftw3.lax
 rm -fr .libs/libfftw3.lax/libkernel.a
 mkdir .libs/libfftw3.lax/libkernel.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/kernel/.libs/libkernel.a
 libkernel.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libkernel.a/unfat-40929/libkernel.a-i386
 && ar x libkernel.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libkernel.a/unfat-40929/libkernel.a-x86_64
 && ar x libkernel.a)
 basename: extra operand `unfat-40929/libkernel.a-i386/assert.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/libdft.a
 mkdir .libs/libfftw3.lax/libdft.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/dft/.libs/libdft.a
 libdft.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libdft.a/unfat-40929/libdft.a-i386
 && ar x libdft.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libdft.a/unfat-40929/libdft.a-x86_64
 && ar x libdft.a)
 basename: extra operand `unfat-40929/libdft.a-i386/conf.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/libdft_codelets.a
 mkdir .libs/libfftw3.lax/libdft_codelets.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/dft/codelets/.libs/libdft_codelets.a
 libdft_codelets.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libdft_codelets.a/unfat-40929/libdft_codelets.a-i386
 && ar x libdft_codelets.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libdft_codelets.a/unfat-40929/libdft_codelets.a-x86_64
 && ar x libdft_codelets.a)
 basename: extra operand `unfat-40929/libdft_codelets.a-x86_64/n.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/libdft_standard.a
 mkdir .libs/libfftw3.lax/libdft_standard.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/dft/codelets/standard/.libs/libdft_standard.a
 libdft_standard.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libdft_standard.a/unfat-40929/libdft_standard.a-i386
 && ar x libdft_standard.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libdft_standard.a/unfat-40929/libdft_standard.a-x86_64
 && ar x libdft_standard.a)
 basename: extra operand `unfat-40929/libdft_standard.a-i386/n1_11.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/librdft.a
 mkdir .libs/libfftw3.lax/librdft.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/rdft/.libs/librdft.a
 librdft.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft.a/unfat-40929/librdft.a-i386
 && ar x librdft.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft.a/unfat-40929/librdft.a-x86_64
 && ar x librdft.a)
 basename: extra operand `unfat-40929/librdft.a-i386/conf.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/librdft_codelets.a
 mkdir .libs/libfftw3.lax/librdft_codelets.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/rdft/codelets/.libs/librdft_codelets.a
 librdft_codelets.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft_codelets.a/unfat-40929/librdft_codelets.a-i386
 && ar x librdft_codelets.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft_codelets.a/unfat-40929/librdft_codelets.a-x86_64
 && ar x librdft_codelets.a)
 basename: extra operand `unfat-40929/librdft_codelets.a-i386/r2hc.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/librdft_codelets_r2hc.a
 mkdir .libs/libfftw3.lax/librdft_codelets_r2hc.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/rdft/codelets/r2hc/.libs/librdft_codelets_r2hc.a
 librdft_codelets_r2hc.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft_codelets_r2hc.a/unfat-40929/librdft_codelets_r2hc.a-i386
 && ar x librdft_codelets_r2hc.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft_codelets_r2hc.a/unfat-40929/librdft_codelets_r2hc.a-x86_64
 && ar x librdft_codelets_r2hc.a)
 basename: extra operand
 `unfat-40929/librdft_codelets_r2hc.a-i386/hf2_32.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/librdft_codelets_hc2r.a
 mkdir .libs/libfftw3.lax/librdft_codelets_hc2r.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/rdft/codelets/hc2r/.libs/librdft_codelets_hc2r.a
 librdft_codelets_hc2r.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft_codelets_hc2r.a/unfat-40929/librdft_codelets_hc2r.a-i386
 && ar x librdft_codelets_hc2r.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft_codelets_hc2r.a/unfat-40929/librdft_codelets_hc2r.a-x86_64
 && ar x librdft_codelets_hc2r.a)
 basename: extra operand `unfat-40929/librdft_codelets_hc2r.a-i386/hb_12.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/librdft_codelets_r2r.a
 mkdir .libs/libfftw3.lax/librdft_codelets_r2r.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/rdft/codelets/r2r/.libs/librdft_codelets_r2r.a
 librdft_codelets_r2r.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft_codelets_r2r.a/unfat-40929/librdft_codelets_r2r.a-i386
 && ar x librdft_codelets_r2r.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/librdft_codelets_r2r.a/unfat-40929/librdft_codelets_r2r.a-x86_64
 && ar x librdft_codelets_r2r.a)
 basename: extra operand `unfat-40929/librdft_codelets_r2r.a-i386/e10_8.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/libreodft.a
 mkdir .libs/libfftw3.lax/libreodft.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/reodft/.libs/libreodft.a
 libreodft.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libreodft.a/unfat-40929/libreodft.a-i386
 && ar x libreodft.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libreodft.a/unfat-40929/libreodft.a-x86_64
 && ar x libreodft.a)
 basename: extra operand `unfat-40929/libreodft.a-i386/reodft00e-
 splitradix.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/libapi.a
 mkdir .libs/libfftw3.lax/libapi.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/api/.libs/libapi.a
 libapi.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libapi.a/unfat-40929/libapi.a-i386
 && ar x libapi.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libapi.a/unfat-40929/libapi.a-x86_64
 && ar x libapi.a)
 basename: extra operand `unfat-40929/libapi.a-i386/execute-dft-c2r.o'
 Try `basename --help' for more information.
 ar cru .libs/libfftw3.a
 ar: no archive members specified
 usage:  ar -d [-TLsv] archive file ...
         ar -m [-TLsv] archive file ...
         ar -m [-abiTLsv] position archive file ...
         ar -p [-TLsv] archive [file ...]
         ar -q [-cTLsv] archive file ...
         ar -r [-cuTLsv] archive file ...
         ar -r [-abciuTLsv] position archive file ...
         ar -t [-TLsv] archive [file ...]
         ar -x [-ouTLsv] archive [file ...]
 make[2]: *** [libfftw3.la] Error 1
 make[1]: *** [all-recursive] Error 1
 make: *** [all] Error 2
 Error: Target org.macports.build returned: shell command " cd
 "/opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2" && make all " returned error 2
 Command output: rm -fr .libs/libfftw3.lax/libreodft.a
 mkdir .libs/libfftw3.lax/libreodft.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/reodft/.libs/libreodft.a
 libreodft.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libreodft.a/unfat-40929/libreodft.a-i386
 && ar x libreodft.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libreodft.a/unfat-40929/libreodft.a-x86_64
 && ar x libreodft.a)
 basename: extra operand `unfat-40929/libreodft.a-i386/reodft00e-
 splitradix.o'
 Try `basename --help' for more information.
 rm -fr .libs/libfftw3.lax/libapi.a
 mkdir .libs/libfftw3.lax/libapi.a
 Extracting /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/api/.libs/libapi.a
 libapi.a has multiple architectures  i386 x86_64
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libapi.a/unfat-40929/libapi.a-i386
 && ar x libapi.a)
 (cd /opt/local/var/macports/build/_Users_adavid_macports-
 trunk_dports_math_fftw-3/work/fftw-3.1.2/.libs/libfftw3.lax/libapi.a/unfat-40929/libapi.a-x86_64
 && ar x libapi.a)
 basename: extra operand `unfat-40929/libapi.a-i386/execute-dft-c2r.o'
 Try `basename --help' for more information.
 ar cru .libs/libfftw3.a
 ar: no archive members specified
 usage:  ar -d [-TLsv] archive file ...
         ar -m [-TLsv] archive file ...
         ar -m [-abiTLsv] position archive file ...
         ar -p [-TLsv] archive [file ...]
         ar -q [-cTLsv] archive file ...
         ar -r [-cuTLsv] archive file ...
         ar -r [-abciuTLsv] position archive file ...
         ar -t [-TLsv] archive [file ...]
         ar -x [-ouTLsv] archive [file ...]
 make[2]: *** [libfftw3.la] Error 1
 make[1]: *** [all-recursive] Error 1
 make: *** [all] Error 2

 Warning: the following items did not execute (for fftw-3):
 org.macports.activate org.macports.build org.macports.destroot
 org.macports.install
 Error: Status 1 encountered during processing.
 }}}

 I guess this provides grounds for an actual request that universal is
 broken in fftw-3.

 Cheers,

 Andre

-- 
Ticket URL: <http://trac.macosforge.org/projects/macports/ticket/13814#comment:3>
MacPorts </projects/macports>
Ports system for Mac OS


More information about the macports-tickets mailing list