meshtastic / framework-portduino

An Arduino API that sits on top of Linux and other operating systems. This lets you run Arduino code on Raspberry PI, desktops, etc... All as a standard user-space application.
GNU Lesser General Public License v2.1
22 stars 11 forks source link

Actually format the error string in portduinoError #14

Closed jp-bennett closed 4 months ago

onyx99 commented 4 months ago

I can nowhere add a bugreport? Build using make fails, undefined reference to `portduinoVFS' what am i missing?

sudo apt install libgpiod-dev

git clone https://github.com/meshtastic/framework-portduino.git --recursive

cd framework-portduino mkdir build cd build cmake ..

-- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done -- Build files have been written to: /mnt/disk/framework-portduino/build

make

[ 5%] Building CXX object CMakeFiles/Portduino.dir/cores/arduino/api/Common.cpp.o [ 11%] Building CXX object CMakeFiles/Portduino.dir/cores/arduino/api/IPAddress.cpp.o [ 16%] Building CXX object CMakeFiles/Portduino.dir/cores/arduino/api/Print.cpp.o [ 22%] Building CXX object CMakeFiles/Portduino.dir/cores/arduino/api/Stream.cpp.o [ 27%] Building CXX object CMakeFiles/Portduino.dir/cores/arduino/api/String.cpp.o [ 33%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/itoa.cpp.o [ 38%] Building C object CMakeFiles/Portduino.dir/cores/portduino/dtostrf.c.o [ 44%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/main.cpp.o [ 50%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/linux/millis.cpp.o [ 55%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/simulated/SimCommon.cpp.o [ 61%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/Utility.cpp.o [ 66%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/simulated/SimHardwareSPI.cpp.o [ 72%] Building CXX object CMakeFiles/Portduino.dir/example/test.cpp.o [ 77%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/simulated/SimHardwareI2C.cpp.o [ 83%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/linux/LinuxCommon.cpp.o [ 88%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/linux/LinuxSerial.cpp.o [ 94%] Building CXX object CMakeFiles/Portduino.dir/cores/portduino/linux/LinuxHardwareI2C.cpp.o [100%] Linking CXX executable Portduino /usr/bin/ld: CMakeFiles/Portduino.dir/cores/portduino/linux/LinuxHardwareI2C.cpp.o:(.bss+0x70): multiple definition of arduino::Wire'; CMakeFiles/Portduino.dir/cores/portduino/simulated/SimHardwareI2C.cpp.o:(.bss+0x0): first defined here /usr/bin/ld: CMakeFiles/Portduino.dir/cores/portduino/main.cpp.o: in functionmain': main.cpp:(.text+0x5e8): undefined reference to portduinoVFS' /usr/bin/ld: main.cpp:(.text+0x5ec): undefined reference toportduinoVFS' /usr/bin/ld: main.cpp:(.text+0x608): undefined reference to fs::FSImpl::mountpoint(char const*)' /usr/bin/ld: main.cpp:(.text+0x60c): undefined reference togpioInit()' /usr/bin/ld: main.cpp:(.text+0x618): undefined reference to gpioIdle()' /usr/bin/ld: main.cpp:(.text+0x620): undefined reference torealHardware' /usr/bin/ld: main.cpp:(.text+0x624): undefined reference to realHardware' /usr/bin/ld: CMakeFiles/Portduino.dir/example/test.cpp.o: in functionsetup': test.cpp:(.text+0x38): undefined reference to pinMode' /usr/bin/ld: test.cpp:(.text+0x44): undefined reference todigitalWrite' /usr/bin/ld: test.cpp:(.text+0x48): undefined reference to SPI' /usr/bin/ld: test.cpp:(.text+0x4c): undefined reference toSPI' /usr/bin/ld: test.cpp:(.text+0x68): undefined reference to SPI' /usr/bin/ld: test.cpp:(.text+0x6c): undefined reference toSPI' /usr/bin/ld: test.cpp:(.text+0x70): undefined reference to arduino::HardwareSPI::beginTransaction(arduino::SPISettings)' /usr/bin/ld: test.cpp:(.text+0x80): undefined reference toSPI' /usr/bin/ld: test.cpp:(.text+0x84): undefined reference to SPI' /usr/bin/ld: test.cpp:(.text+0x88): undefined reference toarduino::HardwareSPI::transfer(void*, unsigned long)' /usr/bin/ld: test.cpp:(.text+0x8c): undefined reference to SPI' /usr/bin/ld: test.cpp:(.text+0x90): undefined reference toSPI' /usr/bin/ld: test.cpp:(.text+0x94): undefined reference to arduino::HardwareSPI::endTransaction()' /usr/bin/ld: CMakeFiles/Portduino.dir/example/test.cpp.o: in functionloop': test.cpp:(.text+0xfc): undefined reference to digitalRead' /usr/bin/ld: test.cpp:(.text+0x11c): undefined reference todigitalWrite' /usr/bin/ld: CMakeFiles/Portduino.dir/cores/portduino/linux/LinuxCommon.cpp.o: in function delay': LinuxCommon.cpp:(.text+0xc): undefined reference torealHardware' /usr/bin/ld: LinuxCommon.cpp:(.text+0x10): undefined reference to realHardware' /usr/bin/ld: LinuxCommon.cpp:(.text+0x20): undefined reference togpioIdle()' collect2: error: ld returned 1 exit status make[2]: [CMakeFiles/Portduino.dir/build.make:353: Portduino] Error 1 make[1]: [CMakeFiles/Makefile2:83: CMakeFiles/Portduino.dir/all] Error 2 make: *** [Makefile:91: all] Error 2

jp-bennett commented 4 months ago

I can nowhere add a bugreport? Build using make fails, undefined reference to `portduinoVFS' what am i missing?

I'll ask about getting bug reports re-enabled. This code isn't intended to be built on its own. It's called through the platform-native target, also part of the Meshtastic org. For an example of usage, see the Meshtastic project.