iraf-v216 · Code · Issues (50) · Pull requests (81)
iraf.net Issue #85
[2.16.1] xc does not work with binary distribution of IRAF
open olebole opened this issue on 2017-06-07
olebole commented on 2017-06-07
When I try to create a new SPP task on my system (as described here), I get the following error messages
ecl> xc hello.x
hello.x:
sys_runtask:
t_hello_world:
hello.f:
sysruk:
thelld:
link:
/usr/bin/ld: /home/oles/iraf/bin/bin.linux64/libmain.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/oles/iraf/bin/bin.linux64/libsys.a(fchdir.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/oles/iraf/bin/bin.linux64/libsys.a(flush.o): relocation R_X86_64_32S against undefined symbol `fiocom_' can not be used when making a shared object; recompile with -fPIC
[many more lines like this...]
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
IRAF 2.16.1 was installed in a clean environment by running ./install
and accepting all defaults and then sourcing ./unix/hlib/setup.sh
. System is Debian Stretch.
The full command line of the gcc
command (retrieved with xc -d
, reformatted for better readability) is:
gcc -o T_hello.e \
-I/home/oles/iraf/bin/unix/hlib/libc \
hello.o \
/home/oles/iraf/bin/bin.linux64/libmain.o \
/home/oles/iraf/bin/bin.linux64/libex.a \
/home/oles/iraf/bin/bin.linux64/libsys.a \
/home/oles/iraf/bin/bin.linux64/libvops.a \
/home/oles/iraf/bin/unix/bin.linux64/libos.a \
/home/oles/iraf/bin/bin.linux64/libVO.a \
/home/oles/iraf/bin/bin.linux64/libcfitsio.a \
/home/oles/iraf/bin/unix/bin.linux64/libf2c.a \
-lm -lpthread -lm -lrt
When using my own compiled binaries, recompilation works nicely.
Last updated on 2017-06-25