octobanana / peaclock

A responsive and customizable clock, timer, and stopwatch for the terminal.

Home Page:https://octobanana.com/software/peaclock

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error while building on Raspberry Pi

felixfoertsch opened this issue · comments

Hello! I just tried building peaclock for my Raspi to use it on a nice small display. I ran into an error during compilation. Sadly I have no clue about C++ and linking and all that stuff, so I just used my Google Fu and went with trial and error.

It was a error referencing some file system issues and the way I solved it was by adding link_libraries(stdc++fs) to the CMakeLists.txt. Source

Maybe you can make sense of it and fix it for the people coming after me. :)

The filesystem library was previously linked in the build, but was removed in commit 00e824f. I was using GCC 9, which doesn't require the library to be linked, and I forgot to update the compiler support in the README.md. A better solution though would be to add a conditional to the CMakeLists.txt file to link to the stdc++fs library if the compiler is GCC 8. I'll make the change. Thanks for bringing this up!

Which compiler/version are you using on the Raspberry Pi? GCC 8?

Which compiler/version are you using on the Raspberry Pi? GCC 8?

$ gcc -v
gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)
commented

I was trying to build on the raspi
, and had the same problem. Now it works fine when stdc++fs is added to OB_LINK_LIBRARIES in CMakefile.txt.

The latest commit, ed3d60e, adds a conditional in cmake to link to stdc++fs if the compiler being used is GCC 8. Could you let me know if it now builds properly?

Checked out the repo with the latest commit in a clean directory and built it. I'd say it works:

pi@FFPI ~/D/peaclock> ./RUNME.sh build
Build type: release
-- The CXX compiler identification is GNU 8.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building peaclock 0.4.3 in release mode:
     System: Linux-5.4.51-v7+
     CXX compiler: GNU 8.3.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/Developer/peaclock/build/release
Scanning dependencies of target peaclock
[ 33%] Building CXX object CMakeFiles/peaclock.dir/src/ob/string.cc.o
[ 33%] Building CXX object CMakeFiles/peaclock.dir/src/main.cc.o
[ 50%] Building CXX object CMakeFiles/peaclock.dir/src/ob/readline.cc.o
[ 66%] Building CXX object CMakeFiles/peaclock.dir/src/peaclock/tui.cc.o
[ 83%] Building CXX object CMakeFiles/peaclock.dir/src/peaclock/peaclock.cc.o
[100%] Linking CXX executable peaclock
[100%] Built target peaclock
pi@FFPI ~/D/peaclock>
commented

Thanks a lot, it works fine now. And I have another issue with cross-building, please take a look at #24.