[MacPorts] #44533: atlas +gcc48 does not build
#44533: atlas +gcc48 does not build -------------------------+-------------------------------- Reporter: schnetter@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Keywords: | Port: -------------------------+-------------------------------- The command {{{ sudo port install atlas +gcc48 }}} aborts with the error message {{{ :info:build make[2]: *** No rule to make target `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_atlas/atlas/work/ATLAS/build/..//CONFIG/ARCHS/Core264AVX.tar.bz2', needed by `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_atlas/atlas/work/ATLAS/build/ARCHS/Core264AVX'. Stop. }}} I attach the full log file. -- Ticket URL: <https://trac.macports.org/ticket/44533> MacPorts <http://www.macports.org/> Ports system for OS X
#44533: atlas +gcc48 does not build --------------------------+--------------------- Reporter: schnetter@… | Owner: vince@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: vince | --------------------------+--------------------- Changes (by ryandesign@…): * owner: macports-tickets@… => vince@… * port: => vince -- Ticket URL: <https://trac.macports.org/ticket/44533#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#44533: atlas +gcc48 does not build --------------------------+--------------------- Reporter: schnetter@… | Owner: vince@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: vince | --------------------------+--------------------- Comment (by vince@…): Ooops. AVX instructions are enabled, and they should not. Can you give me the output of {{{ sysctl -a hw }}} Thanks! -- Ticket URL: <https://trac.macports.org/ticket/44533#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#44533: atlas +gcc48 does not build --------------------------+--------------------- Reporter: schnetter@… | Owner: vince@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: vince | --------------------------+--------------------- Comment (by schnetter@…): {{{ $ sysctl -a hw hw.ncpu: 8 hw.byteorder: 1234 hw.memsize: 17179869184 hw.activecpu: 8 hw.physicalcpu: 4 hw.physicalcpu_max: 4 hw.logicalcpu: 8 hw.logicalcpu_max: 8 hw.cputype: 7 hw.cpusubtype: 4 hw.cpu64bit_capable: 1 hw.cpufamily: 526772277 hw.cacheconfig: 8 2 2 8 0 0 0 0 0 0 hw.cachesize: 17179869184 32768 262144 8388608 0 0 0 0 0 0 hw.pagesize: 4096 hw.busfrequency: 100000000 hw.busfrequency_min: 100000000 hw.busfrequency_max: 100000000 hw.cpufrequency: 2700000000 hw.cpufrequency_min: 2700000000 hw.cpufrequency_max: 2700000000 hw.cachelinesize: 64 hw.l1icachesize: 32768 hw.l1dcachesize: 32768 hw.l2cachesize: 262144 hw.l3cachesize: 8388608 hw.tbfrequency: 1000000000 hw.packages: 1 hw.optional.floatingpoint: 1 hw.optional.mmx: 1 hw.optional.sse: 1 hw.optional.sse2: 1 hw.optional.sse3: 1 hw.optional.supplementalsse3: 1 hw.optional.sse4_1: 1 hw.optional.sse4_2: 1 hw.optional.x86_64: 1 hw.optional.aes: 1 hw.optional.avx1_0: 1 hw.optional.rdrand: 1 hw.optional.f16c: 1 hw.optional.enfstrg: 1 hw.optional.fma: 0 hw.optional.avx2_0: 0 hw.optional.bmi1: 0 hw.optional.bmi2: 0 hw.optional.rtm: 0 hw.optional.hle: 0 hw.cputhreadtype: 1 hw.machine = x86_64 hw.model = MacBookPro10,1 hw.ncpu = 8 hw.byteorder = 1234 hw.physmem = 2147483648 hw.usermem = 363184128 hw.pagesize = 4096 hw.epoch = 0 hw.vectorunit = 1 hw.busfrequency = 100000000 hw.cpufrequency = 2700000000 hw.cachelinesize = 64 hw.l1icachesize = 32768 hw.l1dcachesize = 32768 hw.l2settings = 1 hw.l2cachesize = 262144 hw.l3settings = 1 hw.l3cachesize = 8388608 hw.tbfrequency = 1000000000 hw.memsize = 17179869184 hw.availcpu = 8 }}} Note: My CPU supports AVX instructions. The default assembler does not, and Atlas's build process outputs a note to that respect in the beginning of the log file ("disabling AVX" or similar). However, I replaced /opt/local/bin/as with a script that calls a different assembler, so that AVX instructions work fine on my system. Maybe there is a configure check for AVX that unexpectedly succeeds? -- Ticket URL: <https://trac.macports.org/ticket/44533#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#44533: atlas +gcc48 does not build --------------------------+--------------------- Reporter: schnetter@… | Owner: vince@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: vince | --------------------------+--------------------- Comment (by vince@…): Uh. It's a rather good idea, but I think gcc calls /usr/bin/as and not /opt/local/bin/as (despite what the configuration process says). If you want to persevere in that course ;), rename /usr/bin/as to, e.g. /usr/bin/AS and make /usr/bin/as a link to /opt/local/bin/as then retry. As a test, if you have not cleaned your build, you can cd into /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_atlas/atlas/work/ATLAS/build/src/blas/level3/kernel and try: {{{ /opt/local/bin/gcc-mp-4.8 -o ATL_dtrsmKRUNN.o -c -DL2SIZE=4194304 -I /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org _release_tarballs_ports_math_atlas/atlas/work/ATLAS/build/include -I/opt/local/v ar/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tar balls_ports_math_atlas/atlas/work/ATLAS/build/..//include -I/opt/local/var/macpo rts/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_po rts_math_atlas/atlas/work/ATLAS/build/..//include/contrib -DAdd_ -DF77_INTEGER=i nt -DStringSunStyle -DATL_OS_OSX -DATL_ARCH_Core2 -DATL_CPUMHZ=2700 -DATL_AVX -D ATL_SSE3 -DATL_SSE2 -DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664 -m64 -DATL_DYLIBS -DPentiumCPS=2700 -DATL_FULL_LAPACK -DATL_NCPU=8 -fomit-frame-pointer -mfpmath= sse -O3 -fno-schedule-insns2 -fPIC -msse4.2 -m64 -fPIC -DDREAL -DUpper_ \ :info:build -DNonUnitDiag_ -DRight_ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_atlas/atlas/work/ATLAS/build/..//src/blas/level3/kernel/ATL_trsmKR.c }}} If it compiles correctly, then you've the green light. -- Ticket URL: <https://trac.macports.org/ticket/44533#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#44533: atlas +gcc48 does not build --------------------------+--------------------- Reporter: schnetter@… | Owner: vince@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: vince | --------------------------+--------------------- Comment (by schnetter@…): I find that gcc is calling /opt/local/bin/as; I can use AVX instructions with gcc fine. I was able to build Atlas with gcc48 by temporarily removing my AVX- enabling assembler. How do you want to proceed? Do you want to keep Atlas as-is (and I'll have to work around this problem), or do you want to update its AVX detection so that it would use AVX instructions in my case? -- Ticket URL: <https://trac.macports.org/ticket/44533#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#44533: atlas +gcc48 does not build --------------------------+--------------------- Reporter: schnetter@… | Owner: vince@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: vince | --------------------------+--------------------- Comment (by vince@…): Ok. Great. I think there is a conflict between the options -DATL_AVX and -msse4.2. -DATL_AVX is probably automatically added by Atlas as it detects that AVX instructions are successfully compiled, whereas -msse4.2 is the standard way to disable to use of AVX instructions with gcc4.8 and is part of the Portfile standard behavior. Since your installation is non-standard, I'd prefer to keep the Portfile the way it is. Is there a reason why you don't use 'clang' and the 'perf' option, which handles AVX cleanly by using the dragonegg front-end? -- Ticket URL: <https://trac.macports.org/ticket/44533#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#44533: atlas +gcc48 does not build --------------------------+--------------------- Reporter: schnetter@… | Owner: vince@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: Port: atlas | --------------------------+--------------------- Changes (by mf2k@…): * port: vince => atlas -- Ticket URL: <https://trac.macports.org/ticket/44533#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts