Hello,
I'm trying to compile SDCC for pic16 target only (--enable-pic16-port) with float and non-free support (--enable-floats, --enable-non-free) on my 64-bit Debian Machine. GPUTILS compiles fine and all SDCC binaries and libraries are created without any problem, except the math library (libm18f.lib). Here is what I get from the make's log :
acosf.c:36: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
acosf.c:38: warning 85: in function acosf unreferenced function argument : 'x'
asinf.c:36: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
asinf.c:38: warning 85: in function asinf unreferenced function argument : 'x'
make[7]: *** [libme_a-acosf.o] Erreur 1
make[7]: *** Attente des tâches non terminées....
make[7]: *** [libme_a-asinf.o] Erreur 1
atanf.c:55: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
atanf.c:57: warning 85: in function atanf unreferenced function argument : 'x'
atanf.c:61: syntax error: token -> '=' ; column 6
ceilf.c:33: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
ceilf.c:35: warning 85: in function ceilf unreferenced function argument : 'x'
cosf.c:36: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 41
cosf.c:38: warning 85: in function cosf unreferenced function argument : 'x'
make[7]: *** [libme_a-atanf.o] Erreur 1
make[7]: *** [libme_a-cosf.o] Erreur 1
make[7]: *** [libme_a-ceilf.o] Erreur 1
make[6]: *** [all-recursive] Erreur 1
make[5]: *** [all] Erreur 2
and further :
ceilf.c:33: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
ceilf.c:35: warning 85: in function ceilf unreferenced function argument : 'x'
acosf.c:36: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
acosf.c:38: warning 85: in function acosf unreferenced function argument : 'x'
make[7]: *** [ceilf.o] Erreur 1
make[7]: *** Attente des tâches non terminées....
asinf.c:36: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
asinf.c:38: warning 85: make[7]: *** [acosf.o] Erreur 1
in function asinf unreferenced function argument : 'x'
make[7]: *** [asinf.o] Erreur 1
coshf.c:36: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
coshf.c:38: warning 85: in function coshf unreferenced function argument : 'x'
atanf.c:55: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
atanf.c:57: warning 85: in function atanf unreferenced function argument : 'x'
cosf.c:36: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 41
cosf.c:38: warning 85: in function cosf unreferenced function argument : 'x'
atanf.c:61: syntax error: token -> '=' ; column 6
make[7]: *** [coshf.o] Erreur 1
make[7]: *** [atanf.o] Erreur 1
make[7]: *** [cosf.o] Erreur 1
make[6]: *** [all-recursive] Erreur 1
make[5]: *** [all] Erreur 2
cp: impossible d'évaluer 'pic16//crt0.o': Aucun fichier ou dossier de ce type
make[4]: [port-specific-objects-pic16] Erreur 1 (ignorée)
I'm stuck. I'd really appreciate if someone can get me back on track.
Thank you.
Regis
FYI, here is my SDCC's configure options :
./configure \
--prefix=${BINDIR} \
--host=${HOST} \
--build=${BUILD} \
--disable-mcs51-port \
--disable-z80-port \
--disable-z180-port \
--disable-r2k-port \
--disable-r3ka-port \
--disable-gbz80-port \
--disable-avr-port \
--disable-ds390-port \
--disable-hc08-port \
--disable-s08-port \
--disable-stm8-port \
--disable-xa51-port \
--disable-ucsim \
--disable-packihx \
--disable-ds400-port \
--disable-tlcs90-port \
--disable-sdcdb \
--disable-doc \
--disable-libgc \
--enable-pic16-port \
--disable-pic-port \
--enable-device-lib \
--enable-new-pics \
--enable-non-free \
--enable-floats \
--enable-sdcpp \
--enable-sdbinutils \
--without-ccache \
--quiet \
--disable-werror
I suspect that the build configuration for pic16 only is broken. Does it work if you build all ports?
Philipp
Hi Philipp,
No, sorry. I tried ./configure without any option and it led to the same kind of error :
acosf.c:36: syntax error: token -> '_FLOAT_FUNC_REENTRANT' ; column 42
acosf.c:38: warning 85: in function acosf unreferenced function argument : 'x'
make[7]: *** [libme_a-acosf.o] Erreur 1
make[6]: *** [all-recursive] Erreur 1
make[5]: *** [all] Erreur 2
...
Régis
I said libm18f.lib was missing but I forgot to say this is not the only one : libsdcc.lib is also missing.
I took these libs from an older archive and I get this error when I compile a simple program :
gplink: /sources/gputils/libgputils/gparchive.c:598: gp_archive_read_index: Assertion 'gp_archive_have_index(Archive)' failed.
warning: "/opt/sdcc/bin/../share/sdcc/lib/pic16/libio18f47j53.lib" is missing symbol index.
Aborted
Processor: 18f47j53
I hope it helps.