From: Maarten B. <sou...@ds...> - 2017-05-14 15:44:44
|
> Hello everybody, > Running into a strange issue trying to compile SDCC with the msys2 > environment. > I've successfully downloaded gputils from source and compiled: > > $ gcc -v > > <snip> > gcc version 6.3.0 (Rev2, Built by MSYS2 project) > $ gpasm -v > > gpasm-1.5.0 > #1285 > (Apr 28 2017) > > I configured SDCC using the following command line > > ./configure --disable-mcs51-port --disable-z80-port --disable-z180-port > --disable-r2k-port --disable-r3ka-port --disable-gbz80-port > --disable-tlcs90-port --disable-ds390-port --disable-ds400-port > --disable-hc08-port --disable-s08-port --disable-ucsim > (essentially, enable stm8 and PIC but nothing else) > STM8 and pic14 seem to build without errors, but it looks like something > in > the pic16 lib is invoking gpasm incorrectly, as all of the 18f* file > command lines result in the usage information for gpasm being printed and > the build consequently fails with missing object files. > The error lines all have the following format: > > source='fake_sspbuf.c' object='libdev18f1220_a-fake_sspbuf.o' libtool=no \ > DEPDIR=.deps depmode=none /bin/sh ../depcomp \ > '/c/source/sdcc/device/non-free/lib/pic16//../../../../bin/sdcc' > -DHAVE_CONFIG_H -I. -I.. -I. -I../../../../include/pic16 > -I../../../../non-free/include/pic16 -p18f1220 --std-c99 > --asm="'/mingw64/bin/gpasm'" --no-warn-non-free --fomit-frame-pointer > --obanksel=9 --denable-peeps --optimize-cmp --optimize-df --i-code-in-asm > -DUSE_FLOATS=0 -mpic16 -p18f452 -c -o libdev18f1220_a-fake_sspbuf.o `test > -f 'fake_sspbuf.c' || echo './'`fake_sspbuf.c > > Usage: gpasm [options] file > Options: [defaults in brackets after descriptions] > -a FMT, --hex-format FMT Select hex file format. [inhx32] > -c, --object Output relocatable object. > <gpasm usage info follows> > > > Build fails much later with error: > error: "libdev18f1220_a-pic18f1220.o" is not a valid object file > > Does anybody have any suggestions for how I can diagnose this? > Thanks, > Stephen Hello Stephen, Can you modify the makefile to make SDCC more verbose using --verbose ? It will print the way gpasm is called. Maarten |