Lately I’ve been playing around with old school Bulletin Board Systems (BBS). This is something that you can still do over the internet, but it also is something you can do on HAM radio. I was testing out several clients recently, and one that I had to compile was a bit confusing to understand what was wrong with the instructions.
The client in question was QTerm, which can be found here: https://github.com/qterm/qterm
The instructions looked rather simple, first, install these dependencies:
sudo aptitude install build-essentials sudo aptitude install qt5-defaults qttools5-dev qttools5-dev-tools qtscript5-dev qtmultimedia5-dev
But qt5-defaults doesn’t exist on Ubuntu, so I just scratched that one. Also, the name in Ubuntu is actually build-essential, not build-essentials. So it looked like this for me:
# sudo apt-get install build-essential qttools5-dev qttools5-dev-tools qtscript5-dev qtmultimedia5-dev cmake -y
Now I was ready to download the source and follow the instructions. They looked like this:
# Create the build directory side by side to qterm source directory mkdir -p qterm-build && cd qterm-build # Using Qt4 cmake ../qterm # Using Qt5 cmake ../qterm -DQT5=YES # If your Qt is under non-standard location, specify the qmake program cmake ../qterm -DQT_QMAKE_EXECUTABLE=<path of qmake program> # Build make # Optionally create a binary package make package
But when I ran the command, I got this error:
alaskalinuxuser@alaskalinuxuser-Unidentified-System:~/installed/qterm/qterm-master/qterm-build$ cmake ../qterm -DQT5=YES CMake Error: The source directory "/home/alaskalinuxuser/installed/qterm/qterm-master/qterm" does not exist. Specify --help for usage, or press the help button on the CMake GUI.
I realized that they were not specifying a file, but the folder. So I just had to edit the command like so:
alaskalinuxuser@alaskalinuxuser-Unidentified-System:~/installed/qterm/qterm-master/qterm-build$ cmake ../ -DQT5=YES
And then it could run. The truth is, I spent 15 minutes trying to find the qterm file, only to realize they just wanted to point to the previous folder. Apparently, on their system, that folder is named qterm and they built their build directory outside of the source code folder!
So, the moral of the story is… be smarter than this guy and save yourself 15 minutes by recognizing that they just want to compile in the previous folder. 😀
Linux – keep it simple.