Opened 15 years ago

Last modified 15 years ago

#22379 closed defect

atlas-3.8.3 doesn't build on darwin-ppc — at Version 2

Reported by: carsten@… Owned by: jameskyle@…
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: ppc Cc:
Port: atlas

Description (last modified by jmroot (Joshua Root))

When trying to install gimp-2 with quartz enabledment I stumbled over the problem that the atlas-package doesn't build. Due to some preprocessor definitions the build process activates x86 inline assemblies:

/opt/local/bin/gcc-mp-4.3 -c -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_PPCG5 -DATL_CPUMHZ=2000 -DATL_AltiVec -DATL_GAS_PPC -DPentiumCPS=2000 -DATL_NCPU=2 -mpowerpc64 -maltivec -mabi=altivec -mcpu=970 -mtune=970 -faltivec -force_cpusubtype_ALL -O3 -fno-schedule-insns -fno-rerun-loop-opt -fPIC -m32 ATL_walltime.c
ATL_walltime.c: In function 'ATL_walltime':
ATL_walltime.c:43: error: unknown register name 'edx' in 'asm'
ATL_walltime.c:43: error: unknown register name 'eax' in 'asm'
ATL_walltime.c:43: error: unknown register name 'edx' in 'asm'
ATL_walltime.c:43: error: unknown register name 'eax' in 'asm'
make[5]: *** [ATL_walltime.o] Error 1
make[4]: *** [/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/tune/sysinfo/ATL_Xwalltime.o] Error 2
make[3]: *** [/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/bin/xatlas_waitfile] Error 2
make[2]: *** [IStage1] Error 2

My first assumption is that defining the variable PentiumCPS is causing this hassle. I'll try this patch first:

--- build/Make.inc.orig 2009-11-04 23:03:40.000000000 +0100
+++ build/Make.inc      2009-11-05 10:08:03.000000000 +0100
@@ -102,7 +102,7 @@
 #  Note that if you specify no F77 compiler, F77 will be set to a C compiler
 #  to aid in linking.
 #  ---------------------------------------------------------------------------
-   CDEFS = $(L2SIZE) $(INCLUDES) $(F2CDEFS) $(ARCHDEFS) -DPentiumCPS=2000 -DATL_NCPU=2
+   CDEFS = $(L2SIZE) $(INCLUDES) $(F2CDEFS) $(ARCHDEFS) -DATL_NCPU=2

    ICC = /opt/local/bin/gcc-mp-4.3
    ICCFLAGS = $(CDEFS) -mpowerpc64 -maltivec -mabi=altivec -mcpu=970 -mtune=970 -faltivec -force_cpusubtype_ALL -O3 -fno-schedule-insns -fno-rerun-loop-opt -fPIC -m32

Will make updates as soon as I know more.

Change History (5)

Changed 15 years ago by carsten@…

Attachment: Stage1.log added

Complete Stage1.log of the build process

Changed 15 years ago by carsten@…

Attachment: atlas_make_inc.diff added

brief patch proposal

Changed 15 years ago by carsten@…

Attachment: atlas_portfile.diff added

This patch to the package portfile makes atlas build on darwin-ppc

comment:1 Changed 15 years ago by carsten@…

Ok, atlas now builds on my darwin-ppc system. I didn't use the patch to Make.inc as proposed but patched the atlas package Portfile instead (the patch is attached). The patch actually takes care that the preprocessor variable PentiumCPS is only set for x86-architectures. I still don't know whether the built atlas package actually works .... I'll see.

comment:2 Changed 15 years ago by jmroot (Joshua Root)

Description: modified (diff)
Owner: changed from macports-tickets@… to jameskyle@…

Please remember to preview, use WikiFormatting, and cc the maintainer.

Note: See TracTickets for help on using tickets.