Closed jp-bennett closed 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.
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 function
main': main.cpp:(.text+0x5e8): undefined reference toportduinoVFS' /usr/bin/ld: main.cpp:(.text+0x5ec): undefined reference to
portduinoVFS' /usr/bin/ld: main.cpp:(.text+0x608): undefined reference tofs::FSImpl::mountpoint(char const*)' /usr/bin/ld: main.cpp:(.text+0x60c): undefined reference to
gpioInit()' /usr/bin/ld: main.cpp:(.text+0x618): undefined reference togpioIdle()' /usr/bin/ld: main.cpp:(.text+0x620): undefined reference to
realHardware' /usr/bin/ld: main.cpp:(.text+0x624): undefined reference torealHardware' /usr/bin/ld: CMakeFiles/Portduino.dir/example/test.cpp.o: in function
setup': test.cpp:(.text+0x38): undefined reference topinMode' /usr/bin/ld: test.cpp:(.text+0x44): undefined reference to
digitalWrite' /usr/bin/ld: test.cpp:(.text+0x48): undefined reference toSPI' /usr/bin/ld: test.cpp:(.text+0x4c): undefined reference to
SPI' /usr/bin/ld: test.cpp:(.text+0x68): undefined reference toSPI' /usr/bin/ld: test.cpp:(.text+0x6c): undefined reference to
SPI' /usr/bin/ld: test.cpp:(.text+0x70): undefined reference toarduino::HardwareSPI::beginTransaction(arduino::SPISettings)' /usr/bin/ld: test.cpp:(.text+0x80): undefined reference to
SPI' /usr/bin/ld: test.cpp:(.text+0x84): undefined reference toSPI' /usr/bin/ld: test.cpp:(.text+0x88): undefined reference to
arduino::HardwareSPI::transfer(void*, unsigned long)' /usr/bin/ld: test.cpp:(.text+0x8c): undefined reference toSPI' /usr/bin/ld: test.cpp:(.text+0x90): undefined reference to
SPI' /usr/bin/ld: test.cpp:(.text+0x94): undefined reference toarduino::HardwareSPI::endTransaction()' /usr/bin/ld: CMakeFiles/Portduino.dir/example/test.cpp.o: in function
loop': test.cpp:(.text+0xfc): undefined reference todigitalRead' /usr/bin/ld: test.cpp:(.text+0x11c): undefined reference to
digitalWrite' /usr/bin/ld: CMakeFiles/Portduino.dir/cores/portduino/linux/LinuxCommon.cpp.o: in functiondelay': LinuxCommon.cpp:(.text+0xc): undefined reference to
realHardware' /usr/bin/ld: LinuxCommon.cpp:(.text+0x10): undefined reference torealHardware' /usr/bin/ld: LinuxCommon.cpp:(.text+0x20): undefined reference to
gpioIdle()' 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