New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #22379 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

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 jmr@…) (diff)

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

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

Change History

Changed 2 years ago by carsten@…

Complete Stage1.log of the build process

Changed 2 years ago by carsten@…

brief patch proposal

Changed 2 years ago by carsten@…

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

Changed 2 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.

Changed 2 years ago by jmr@…

  • owner changed from macports-tickets@… to jameskyle@…
  • description modified (diff)

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

Changed 2 years ago by jameskyle@…

  • status changed from new to closed
  • resolution set to fixed

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.

Changed 2 years ago by giampaolo.bozzali@…

  • cc giampaolo.bozzali@… added

Cc Me!

Note: See TracTickets for help on using tickets.