Shop OBEX P1 Docs P2 Docs Learn Events
Another Attempt at PropWare in SimpleIDE... not sure where I went wrong — Parallax Forums

Another Attempt at PropWare in SimpleIDE... not sure where I went wrong

DavidZemonDavidZemon Posts: 2,973
edited 2017-03-12 16:08 in Propeller 1
Project Directory: /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/

SimpleIDE Version 1.1.0
/home/david/Documents/SimpleIDE/Learn/Simple Libraries/
/home/david/Documents/SimpleIDE/ Updated on: 2017-02-20

propeller-elf-gcc -v GCC 4.6.1 (propellergcc-alpha_v1_9_0_)
propeller-elf-gcc -I . -L . -I /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller -L /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller/lmm/ -Os -mlmm -Wall -m32bit-doubles -fno-exceptions --std=gnu++0x -fno-rtti -fno-threadsafe-statics -c PropWare/hmi/input/scanner.cpp -o lmm/scanner.opp
propeller-elf-gcc -I . -L . -I /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller -L /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller/lmm/ -Os -mlmm -Wall -m32bit-doubles -fno-exceptions --std=gnu++0x -fno-rtti -fno-threadsafe-statics -c PropWare/hmi/output/printer.cpp -o lmm/printer.opp
propeller-elf-gcc -I . -L . -I /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller -L /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller/lmm/ -Os -mlmm -Wall -m32bit-doubles -fno-exceptions --std=gnu++0x -fno-rtti -fno-threadsafe-statics -c PropWare/hmi/output/synchronousprinter.cpp -o lmm/synchronousprinter.opp
propeller-elf-gcc -I . -L . -I /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller -L /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller/lmm/ -Os -mlmm -Wall -m32bit-doubles -fno-exceptions --std=gnu++0x -fno-rtti -fno-threadsafe-statics -c PropWare/serial/i2c/i2cmaster.cpp -o lmm/i2cmaster.opp
propeller-elf-gcc -I . -L . -I /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller -L /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller/lmm/ -Os -mlmm -Wall -m32bit-doubles -fno-exceptions --std=gnu++0x -fno-rtti -fno-threadsafe-statics -c PropWare/serial/uart/fullduplexserial.cpp -o lmm/fullduplexserial.opp
propeller-elf-gcc -I . -L . -I /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller -L /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller/lmm/ -Os -mlmm -Wall -m32bit-doubles -fno-exceptions --std=gnu++0x -fno-rtti -fno-threadsafe-statics -c PropWare/utility/comparator.cpp -o lmm/comparator.opp
propeller-elf-gcc -I . -L . -I /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller -L /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller/lmm/ -Os -mlmm -Wall -m32bit-doubles -fno-exceptions --std=gnu++0x -fno-rtti -fno-threadsafe-statics -c PropWare/PropWare.cpp -o lmm/PropWare.opp
propeller-elf-ar rs lmm/SimplePropWare.a lmm/scanner.opp lmm/printer.opp lmm/synchronousprinter.opp lmm/i2cmaster.opp lmm/fullduplexserial.opp lmm/comparator.opp lmm/PropWare.opp
/opt/parallax/bin/propeller-elf-ar: creating lmm/SimplePropWare.a
propeller-elf-gcc -I . -L . -I /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller -L /home/david/Documents/DocsLink/Programming/PropellerProjects/PropWare/libpropeller/lmm/ -o cmm/SimplePropWare.elf -Os -mlmm -Wall -m32bit-doubles -fno-exceptions --std=gnu++0x -fno-rtti -fno-threadsafe-statics -ffunction-sections -fdata-sections -Wl,--gc-sections SimplePropWare.cpp lmm/SimplePropWare.a -lm -lpropeller -lm
/opt/parallax-gcc4/bin/../lib/gcc/propeller-elf/4.6.1/../../../../propeller-elf/bin/ld: cannot find -lpropeller
collect2: ld returned 1 exit status
Done. Build Failed!

I don't recognize any a library by the name of libpropeller.a... where did this come from? Here's my .side file:
SimplePropWare.cpp
PropWare/concurrent/runnable.h
PropWare/concurrent/watchdog.h
PropWare/filesystem/fat/fatfile.h
PropWare/filesystem/fat/fatfilereader.h
PropWare/filesystem/fat/fatfilewriter.h
PropWare/filesystem/fat/fatfs.h
PropWare/filesystem/file.h
PropWare/filesystem/filereader.h
PropWare/filesystem/filesystem.h
PropWare/filesystem/filewriter.h
PropWare/gpio/pin.h
PropWare/gpio/port.h
PropWare/gpio/simpleport.h
PropWare/hmi/input/scancapable.h
PropWare/hmi/input/scanner.cpp
PropWare/hmi/input/scanner.h
PropWare/hmi/output/hd44780.h
PropWare/hmi/output/printcapable.h
PropWare/hmi/output/printer.cpp
PropWare/hmi/output/printer.h
PropWare/hmi/output/synchronousprinter.cpp
PropWare/hmi/output/synchronousprinter.h
PropWare/hmi/output/ws2812.h
PropWare/memory/blockstorage.h
PropWare/memory/eeprom.h
PropWare/memory/sd.h
PropWare/motor/stepper.h
PropWare/sensor/analog/mcp3xxx.h
PropWare/sensor/analog/pcf8591.h
PropWare/sensor/distance/ping.h
PropWare/sensor/gyroscope/l3g.h
PropWare/sensor/temperature/max6675.h
PropWare/serial/can/mcp2515.h
PropWare/serial/i2c/i2cmaster.cpp
PropWare/serial/i2c/i2cmaster.h
PropWare/serial/i2c/i2cslave.h
PropWare/serial/spi/spi.h
PropWare/serial/uart/shareduarttx.h
PropWare/serial/uart/uart.h
PropWare/serial/uart/uartcommondata.h
PropWare/serial/uart/uartrx.h
PropWare/serial/uart/uarttx.h
PropWare/serial/uart/fullduplexserial.cpp
PropWare/serial/uart/fullduplexserial.h
PropWare/string/staticstringbuilder.h
PropWare/string/stringbuilder.h
PropWare/utility/collection/charqueue.h
PropWare/utility/collection/queue.h
PropWare/utility/comparator.cpp
PropWare/utility/comparator.h
PropWare/utility/utility.h
PropWare/c++allocate.h
PropWare/PropWare.cpp
PropWare/PropWare.h
>compiler=C
>memtype=lmm main ram
>optimize=-Os
>-m32bit-doubles
>-Wall
>-fno-exceptions
>-enable_pruning
>defs::--std=gnu++0x -fno-rtti -fno-threadsafe-statics
>-lm
>-create_library
>BOARD::ACTIVITYBOARD

Comments

  • If you are building from the PropWare root folder, you have a libpropeller folder, that's the culprit, along with the SimpleIDE feature that scans the source files for library includes. Basically, if I have interpreted the source correctly, if your source has an include directive, SimpleIDE tries to find a lib<include> folder and if found it adds a -I<path/include> and -llib<include>.a directives on the command line.
    Remove that folder (or compile from a directory with only PropWare sources) and you should be fine.
    I don't know if there is a way to force-skip that feature.
  • That is unfortunate, but it makes sense why its broken. Thank you! I think i have an idea of how i can fix it...
Sign In or Register to comment.