[MacPorts] #22378: Error when building Atlas

MacPorts noreply at macports.org
Thu Dec 31 03:51:15 PST 2009


#22378: Error when building Atlas
-----------------------------------------+----------------------------------
 Reporter:  handyman@…                   |       Owner:  jameskyle@…           
     Type:  defect                       |      Status:  new                   
 Priority:  Normal                       |   Milestone:                        
Component:  ports                        |     Version:  1.8.1                 
 Keywords:                               |        Port:  atlas                 
-----------------------------------------+----------------------------------

Comment(by aaaskew@…):

 I get the same error on a PPC G4 running OS X 10.4.11.  I have messed
 around a bit with the atlas configure and make files without any luck.
 There appears to be a number of things wrong.  Could other people confirm
 the following?

 - Atlas starts by compiling some programs to work out what
 OS/compiler/architecture it is running on.  Take a look at the
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build
 directory.  Run xprobe_arch.  It does not appear as if it has been able to
 determine what CPU I have.  I think it should say MACHTYPE=4 which is
 PPCG4.  Instead it says MACHTYPE=0 or UNKNOWN.

 There are also xarchinfo_freebsd and xarchinfo_linux programs.  Both of
 these output MACHTYPE=0  /  PTR BITS=32, SURE=0.  I would also assume to
 have only one of these rather than both so this would be another
 indication of Atlas failing to work out what OS/CPU it is running on.

 Also the xconfig program outputs the architecture as UNKNOWN when it is
 run as part of the configure stage.

 - What I have done so far is to see if I can force the build to be PPCG4.
 To do this I did the following:

 {{{
 1. sudo port clean --work atlas
 2. sudo port fetch atlas
 3. sudo port extract atlas
 4. sudo port patch atlas
 }}}

 Then I added a -A 4 argument to the xconfig lines in the Atlas configure
 file.  I also edited the Atlas CONFIG/src/Makefile, changing the IRun
 sections for arch, freebsd and linux.  For example:
 {{{
 IRunArchInfo_freebsd: xarchinfo_freebsd
         - rm -f config0.out
         $(MAKE) $(atlrun) atldir=$(mydir) exe=xarchinfo_freebsd
 args="$(args)" \
                 redir=config0.out
         - cat config0.out
         - echo MACHTYPE=4 > configEXTRA.out
         - cat configEXTRA.out
 }}}

 {{{
 5. sudo port -d configure atlas
 6. sudo port -d build atlas
 }}}

 Having made these changes I think it is now using the PPCG4 CPU profile
 rather than UNKNOWN.  This still fails though.  In the Atlas build
 directory I have a error_PPCG432AltiVec.tgz file that I don't know enough
 about to understand what is wrong.  What I would say is running the
 compile and build in debug mode shows an error before what is reported
 above.  I see the following:

 {{{
 /opt/local/bin/gcc-mp-4.3 -DL2SIZE=4194304
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/include
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib
  -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_OSX -DATL_ARCH_PPCG4
 -DATL_CPUMHZ=1416 -DATL_AltiVec -DATL_GAS_PPC -DWALL
  -DATL_UCLEANM -DATL_UCLEANN -DATL_UCLEANK -O3 -maltivec -mabi=altivec
 -mcpu=7400 -mtune=7400 -no-cpp-precomp -faltivec -fPIC -m32
  -c ATL_cupMBmm0_1_0_b0.c
 gcc-mp-4.3: unrecognized option '-no-cpp-precomp'
 ATL_cupMBmm0_1_0_b0.c:82:1: warning: "ATL_AltiVec" redefined
 <command-line>: warning: this is the location of the previous definition
 ATL_cupMBmm0_1_0_b0.c: In function 'ATL_mmcu':
 ATL_cupMBmm0_1_0_b0.c:131: error: can't convert value to a vector
 ATL_cupMBmm0_1_0_b0.c: In function 'ATL_cupMBmm0_1_0_b0':
 ATL_cupMBmm0_1_0_b0.c:212: error: can't convert value to a vector
 ATL_cupMBmm0_1_0_b0.c:219: warning: use of 'long' in AltiVec types is
 deprecated; use 'int'
 ATL_cupMBmm0_1_0_b0.c:219: error: can't convert between vector values of
 different size
 make[7]: *** [ATL_cupMBmm0_1_0_b0.o] Error 1
 make[6]: *** [ccleanuplib] Error 2
 make[5]: *** [clib] Error 2
 make[4]: *** [cmmlib] Error 2
 make[3]: *** [cinstall] Error 2
 make[2]: *** [MMinstall] Error 2
 }}}

 There are also lots of 'gcc-mp-4.3: unrecognized option '-no-cpp-precomp'
 ' around.

 My guess is that the Atlas library is not configured properly to compile
 with GCC 4.3.  The Atlas website mentions GCC 4.2 instead.

 Maybe if the maintainer of this Atlas port could raise an issue upstream
 library the compile errors might be understood and fixed or a new version
 of the library included?

-- 
Ticket URL: <http://trac.macports.org/ticket/22378#comment:40>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list