*nix INSTALL Instructions too Vague for Qt-client
The install instructions say, exactly:
1c. Prerequisites for the Qt client:
- C++ compiler.
Qt-client is written in C++, so you need appropriate compiler.
In Freeciv development, g++ has been used.
Compiler needs to support c++11 standard, or,
in case of --with-qt6 build, c++17 standard
- Qt5Core, Qt5Gui, and Qt5Widgets libraries and headers.
At least version 5.11 is required.
If one builds with configure option --with-qt6,
required libraries and headers are Qt6Core, Qt6Gui, and Qt6Widgets
and at least version 6.0 of Qt is required.
This isn't part of the complaint, but JN and I have really heavily used LLVM/clang/clang++ and found no (compiler related) problems. Maybe to 'ease in' MacOsX users, llvm should be mentioned to work also?
I installed a new Ubuntu machine. I went through INSTALL and did everything it said I should. Fantastically easy to build the server, the gtk-client and the sdl2-client. Well done to whoevers wrote INSTALL. But on this Ubuntu-latest machine I installed ever package that even slightly reg-exp matched what is quoted above (especially packages suffixed with -dev) and still no go. Shamefully I don't have a copy of the exact error message, but configure was not finding QT. For unrelated reasons I wanted kwin-dev, and after I installed it, freeciv-qt was very happy. But kwin-dev (and dependencies) consumed 450MB of disk space and that seems a bit onerous for someone who just wants to build the game.
I'm sure I can find lesser dependencies (and intend to), but as a great man once said: "if it isn't ticketed, it doesn't exist".
One thing it's missing is that 'moc' command is required. So people don't know even to look for it (at least until configure says that it's not found).
In many systems looking for package name containing 'moc' isn't going to work. I think some systems have it packaged in something like "...tools..." (with 'qt' mentioned somewhere in the package name). My Debian system seems to have it coming with 'qtchooser'. I think I've just installed 'qtbase5-dev' for all the required dependencies.
apt-cache search moc | grep qt
qtbase5-dev-tools - Qt 5 base development programs
Attached patches list 'moc' in requirements, and also reword compiler requirements a bit.
master/S3_1 and S3_0/S2_6 patches differ more than that they apply to different branches. Master/S3_1 codebase has Qt6 support, and Qt5 requirements are higher than in earlier branches.
I think this is an improvement, but is it enough to close this ticket?
- New master/S3_1 version. One sent earlier was not the final one I had written (had forgotten to do 'git commit --amend')
I think it is enough to close this ticket. Tx.