[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