Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#22379 closed defect (fixed)

atlas-3.8.3 doesn't build on darwin-ppc

Reported by: carsten@… Owned by: jameskyle@…
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: ppc Cc: giampaolo.bozzali@…
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.

Attachments (3)

Stage1.log (6.5 KB) - added by carsten@… 14 years ago.
Complete Stage1.log of the build process
atlas_make_inc.diff (685 bytes) - added by carsten@… 14 years ago.
brief patch proposal
atlas_portfile.diff (566 bytes) - added by carsten@… 14 years ago.
This patch to the package portfile makes atlas build on darwin-ppc

Download all attachments as: .zip

Change History (7)

Changed 14 years ago by carsten@…

Attachment: Stage1.log added

Complete Stage1.log of the build process

Changed 14 years ago by carsten@…

Attachment: atlas_make_inc.diff added

brief patch proposal

Changed 14 years ago by carsten@…

Attachment: atlas_portfile.diff added

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

comment:1 Changed 14 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 14 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.

comment:3 Changed 14 years ago by jameskyle@…

Resolution: fixed
Status: newclosed

Looked over the patch, thank you for catching this.

I removed the -D c -DPentium declaration from the pre-configure and added two additional targets. One to set Pentium cpufreq and another to set the clock to WALL time as suggested in the ATLAS installation guide section 3.4 for all non-intel cpu's.

comment:4 Changed 14 years ago by giampaolo.bozzali@…

Cc: giampaolo.bozzali@… added

Cc Me!

Note: See TracTickets for help on using tickets.