Ticket #41998

*nix INSTALL Instructions too Vague for Qt-client

Open Date: 2021-04-14 08:47 Last Update: 2021-04-23 00:03

Reporter:
Owner:
Type:
Status:
Closed
Component:
MileStone:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
3

Details

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?

Complaint: 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".

Ticket History (3/11 Histories)

2021-04-14 08:47 Updated by: chippo
  • New Ticket "*nix INSTALL Instructions too Vague for Qt-client" created
2021-04-14 10:14 Updated by: cazfi
Comment

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.

2021-04-14 10:26 Updated by: cazfi
Comment

apt-cache search moc | grep qt

...

qtbase5-dev-tools - Qt 5 base development programs

...

2021-04-14 10:45 Updated by: cazfi
  • Resolution Update from None to Fixed
  • Component Update from (None) to Documentation
Comment

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?

2021-04-14 14:37 Updated by: cazfi
Comment

- New master/S3_1 version. One sent earlier was not the final one I had written (had forgotten to do 'git commit --amend')

(Edited, 2021-04-14 14:38 Updated by: cazfi)
2021-04-14 16:05 Updated by: chippo
Comment

I think it is enough to close this ticket. Tx.

2021-04-15 21:29 Updated by: cazfi
  • Milestone Update from (None) to 2.6.5
2021-04-23 00:03 Updated by: cazfi
  • Status Update from Open to Closed
  • Owner Update from (None) to cazfi
  • Type Update from Support Request to Patches

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login