View on GitHub

IRAF Community Distribution

IRAF maintained by the community

Home | Installation | Packages | X11IRAF | PyRAF | Forum ↗

iraf-v216 · Code · Issues (50) · Pull requests (81)

iraf.net Issue #41

MacOSX (64bit): zsvjmp.s does not assemble

closed closed olebole opened this issue on 2017-05-08 · 6 comments


olebole commented on 2017-05-08

Trying to compile IRAF on Travis CI (see #36) under MacOS 64 bit fails because zsvjmp.s does not assemble:

++sh -x setarch.sh  
++ls -d as  
+'[' as = as ']'  
+rm -rf as  
+ln -s as.macintel as  
[...]  
for i in zsvjmp  
+gcc -c -I/Users/travis/.iraf/ -O -DMACOSX -DMACINTEL -DMACH64 -Wall -Wunused -m64 -g -DNOVOS -Wall ../as/zsvjmp.s -o zsvjmp.o  
../as/zsvjmp.s:61:2: error: unknown directive  
 .abs _mem_, 0  
 ^  

See the build log here. I am wondering how the binary distribution was compiled, since this is obviously not connected to a preinstalled binary version of IRAF.


iraf commented on 2017-05-08

Not sure what file you’re building, but it works for me and the zsvjmp.s
only has 46 lines:

munch> cd /iraf/iraf/unix/as.macintel
munch> gcc -c -O -DMACOSX -DMACINTEL -DMACH64 -Wall -Wunused -m64 -g
-DNOVOS -Wall zsvjmp.s

munch> uname -a
Darwin munch-2.local 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar 3
16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64
munch> gcc -v
Configured with: –prefix=/Applications/Xcode.app/Contents/Developer/usr
–with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin16.5.0
Thread model: posix
InstalledDir:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

On Sun, May 7, 2017 at 11:33 PM, Ole Streicher wrote:

[…]


olebole commented on 2017-05-08

I follow the installation advise:

IRAFARCH=`./vendor/voclient/getarch`  
mkdir build_tmp  
./install -v --term xterm --bindir `pwd`/build_tmp/bin --cache `pwd`/build_tmp/cache --imdir `pwd`/build_tmp/imdir --root `pwd` < /dev/null || true  
make ${IRAFARCH}  
make sysgen  

This is documented in the Travis CI script here.
And when looking into the GNU Assembler manual, I don’t find a .abs directive, which is in the mentioned code. Here is

$ gcc --version  
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1  
Apple LLVM version 7.3.0 (clang-703.0.31)  
Target: x86_64-apple-darwin15.6.0  
Thread model: posix  
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin  
before_script.1  

It seems that you are using the Apple assembler, while I (resp. Travis) uses the Gnu one.

I have no idea why the line number is wrong; it comes out so of the build process. The file is unchanged from the original one when the code is checked out.


iraf commented on 2017-05-08

The .abs instruction should be commented out, apparently wasn’t on the copy
I used in the first commit. Fixed now. The mem common address is now set
with a –defsym,mem_=0 flag set in xc.c

On Mon, May 8, 2017 at 1:16 AM, Ole Streicher wrote:

[…]


olebole commented on 2017-05-08

Why don’t you push those changes to github?
For this change, will you do this or shall I write a pull request for it?
Edit I just saw your commit. Thanks. So, this is fixed by 783cde15


iraf commented on 2017-05-08

On Mon, May 8, 2017 at 1:36 AM, Ole Streicher wrote:

Why don’t you push those changes to github?

I did


olebole commented on 2017-05-08

I can confirm that this is fixed; see https://travis-ci.org/olebole/iraf-v216/jobs/229881119


Closed on 2017-05-08