3Dickulus / FragM

Derived from https://github.com/Syntopia/Fragmentarium/
GNU General Public License v3.0
349 stars 30 forks source link

Ubuntu install has unmet dependencies[?] #129

Closed SvenGeier closed 4 years ago

SvenGeier commented 4 years ago

Describe the bug Downloaded the .deb from this site:

Fragmentarium-2.5.3-200315-Linux.deb

When I try to install it, this happens:

`% sudo apt install -f ./Fragmentarium-2.5.3-200315-Linux.deb Reading package lists... Done Building dependency tree
Reading state information... Done Note, selecting 'fragmentarium' instead of './Fragmentarium-2.5.3-200315-Linux.deb' Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:

The following packages have unmet dependencies: fragmentarium : Depends: qtbase5 but it is not installable Depends: qtscript5 but it is not installable Depends: qtxml5 but it is not installable E: Unable to correct problems, you have held broken packages.`

Indeed, the package search tool does not find these named packages: qtscript5 qtbase5 etc

This is on Mint: % uname -a Linux Penguin 5.3.0-45-generic #37~18.04.1-Ubuntu SMP Fri Mar 27 15:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

3Dickulus commented 4 years ago

The build system...

Build language: cpp
Build group: stable
Build dist: xenial
Build id: 662810514
Job id: 662810515
Runtime kernel version: 4.15.0-1028-gcp
travis-build version: 681093eb9
Build image provisioning date and time
Mon Mar 25 16:43:24 UTC 2019
Operating System Details
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:   xenial

Installed software...

    sudo apt-get -qq install cmake
    sudo apt-get -qq install extra-cmake-modules
    sudo apt-get -qq install libopenexr-dev
    sudo apt-get -qq install libilmbase-dev
    sudo apt-get -qq install libqt5scripttools5
    sudo apt-get -qq install libqt5gui5
    sudo apt-get -qq install libqt5svg5-dev
    sudo apt-get -qq install libqt5opengl5-dev
    sudo apt-get -qq install libqt5xmlpatterns5-dev
    sudo apt-get -qq install qt5-qmake
    sudo apt-get -qq install qt5-default
    sudo apt-get -qq install qttools5-dev-tools
    sudo apt-get -qq install qtbase5-dev
    sudo apt-get -qq install qtbase5-private-dev
    sudo apt-get -qq install qtbase5-dev-tools
    sudo apt-get -qq install qt5-style-plugins
    sudo apt-get -qq install qt5-image-formats-plugins
    sudo apt-get -qq install qtscript5-dev

    wget https://launchpad.net/ubuntu/+archive/primary/+files/libglm-dev_0.9.9.3-2_all.deb
    sudo dpkg -i libglm-dev_0.9.9.3-2_all.deb

Sorry I don't know anything about Mint, all I can tell you is what's on the Travis-CI machine that builds the package :-\

edit: oh and this is what is in the cmakelists.txt file... maybe needs updating? or removal...

        SET(CPACK_DEBIAN_PACKAGE_RECOMMENDS "ffmpeg,mencoder")
        SET(CPACK_DEBIAN_PACKAGE_PREDEPENDS "libopenexr22")
        SET(CPACK_DEBIAN_PACKAGE_DEPENDS "qtbase5, qtscript5, qtxml5")

should be libqt5gui5 (my deb test was probably too old ?)

can you tell it to install anyways? if you have a working desktop most of the stuff should be there already.

3Dickulus commented 4 years ago

just doing some testing should have "working" release packages ready next day or 2.

3Dickulus commented 4 years ago

just generated fresh packages

debian depends: libopenexr24, libqt5opengl5, libqt5gui5, libqt5script5, libqt5xml5

retrue commented 4 years ago

The deb package available here in resources doesn't work with the more recent Ubuntu or similar distros. I tried to compile and install from Linux Mint 18.3. I couldn't install the ppa because it is for Xenial or older. I couldn't install libopenerxr24 for the same reason. Anyway, I installed all the packages in the instructions and I got two more mistakes for missing dependencies.

After that I was able to complete the installation process without error messages, still the installation is a failure. Not all the necessary files are copied to the folder Fragmentarium-2.5.3 in my home and the Fragmentarium-2.5.3 executable doesn't work. So, maybe missing dependencies, wrong versions or whatever. Some detailed instructions to make an installation possible in Ubuntu 18.04? or the next 20.04 that will be out very soon? Thanks.

3Dickulus commented 4 years ago

guessing those get pulled in as dependencies when other qt-dev packages are installed on the Travis-CI server

have you tried the deb package on the OS it was compiled for?

Operating System Details Distributor ID: Ubuntu Description: Ubuntu 16.04.6 LTS Release: 16.04 Codename: xenial

for any other OS or variant I expect that it would fail, will look at using 18.04 on Travis-CI for building the next deb package

when I examine the posted deb file I see all of the distribution files are included

glm is not version dependant, the latest for your OS should be fine OpenEXR is not version dependant in the cmakelists.txt file or the sources for the linux build zlib1g-dev is a dependency of OpenEXR

Qt development environment and all associated tool chain files and dependencies should be completely installed before compiling.

edit: currently the deb package install path is /usr/local/Fragmentarium-2.5.3/ is that what you mean? "home" = /usr/local/?

edit 2: reviewing the main page I see those packages listed as required?

sudo apt-get -qq install cmake sudo apt-get -qq install extra-cmake-modules sudo apt-get -qq install libopenexr-dev sudo apt-get -qq install libilmbase-dev sudo apt-get -qq install libqt5scripttools5 sudo apt-get -qq install libqt5gui5 sudo apt-get -qq install libqt5svg5-dev sudo apt-get -qq install libqt5opengl5-dev sudo apt-get -qq install libqt5xmlpatterns5-dev sudo apt-get -qq install qt5-qmake sudo apt-get -qq install qttools5-dev-tools sudo apt-get -qq install qtbase5-dev sudo apt-get -qq install qtbase5-dev-tools sudo apt-get -qq install qt5-style-plugins sudo apt-get -qq install qt5-image-formats-plugins sudo apt-get -qq install qtscript5-dev

the only one missing is sudo zlib1g-dev that should get pulled in when installing libopenexr-dev and libilmbase-dev

retrue commented 4 years ago

No, I haven't tried the provided deb in a Xenial installation. Libopenerxr24 is an official mod of the libopenerxr library whose more recent official version is libopenerxr22. The group who made the unofficial version hasn't updated its version in 4 years. When I compiled Fragmentarium, it got installed in home/my_name/Fragmentarium-2.5.3 But even if I didn't get any error messages the installation was not correct, there were many missing files and the executable didn't work. I installed all those packages in the main page, except the ppa. I am not a programmer and I don't use Linux normally. So, if you have any suggestion, I could try to compile it again.

3Dickulus commented 4 years ago

I don't understand "many missing files" you mean system libraries provided by OS or FragM distribution files ?

3Dickulus commented 4 years ago
      sudo add-apt-repository -y ppa:ubuntu-sdk-team/ppa
      sudo apt-get update -qq
      sudo apt-get -qq install cmake
      sudo apt-get -qq install extra-cmake-modules
      sudo apt-get -qq install libopenexr-dev
      sudo apt-get -qq install libilmbase-dev
      sudo apt-get -qq install libqt5scripttools5
      sudo apt-get -qq install libqt5gui5
      sudo apt-get -qq install libqt5libqgtk2
      sudo apt-get -qq install libqt5svg5-dev
      sudo apt-get -qq install libqt5opengl5-dev
      sudo apt-get -qq install libqt5xmlpatterns5-dev
      sudo apt-get -qq install qt5-qmake
      sudo apt-get -qq install qt5-default
      sudo apt-get -qq install qttools5-dev-tools
      sudo apt-get -qq install qtbase5-dev
      sudo apt-get -qq install qtbase5-private-dev
      sudo apt-get -qq install qtbase5-dev-tools
      sudo apt-get -qq install qt5-style-plugins
      sudo apt-get -qq install qt5-image-formats-plugins
      sudo apt-get -qq install qtscript5-dev

this is what happens on Travis build server then...

mkdir Fragmentarium-Source/build
cd Fragmentarium-Source/build
cmake ..
make

you may have to replace the ppa with the equivalent for Mint

retrue commented 4 years ago

I don't know which files are included in a correct, working, installation of fragmentarium, but for example, it created the folder "Examples" but it was empty. I'll try later again and make a list of the files that are created. About the ppa, there is not equivalent for Mint 19 (Ubuntu 18.04 Bionic). That ppa by Ubuntu-sdk-team only has versions for old versions of Ubuntu (from 14.04 to 17.04). It has not been updated in 3 years. EDIT: Installed in Linux Mint 19.3 Bionic. And I discovered the problems I had. First one, was a rookie mistake. For some reason, double clicking on the file Fragmentarium-2.5.3 file doesn't launch the program. But when I tried to launch from console, I just typed Fragmentarium-2.5.3 instead of ./Fragmentarium-2.5.3. No comment :shamed: Second problem is that the Examples folder is not downloaded from Github when downloading the zip with the source. So I installed git and I downloaded the source using git, and the Examples folder is not downloaded either!

To make Fragmentarium work I copied the examples folder from my Windows installation, and it works. Btw, from Linux, my GL profile is recognised:

Vendor: NVIDIA Corporation Renderer: GeForce GTX 1060 6GB/PCIe/SSE2 GL Driver: 4.6.0 NVIDIA 435.21 Using GL 4.6 Compatibility profile

And I am able to make renders at 15360x8640 pixels, with 1280x720 tiles 12x12 and 8 subframes.

So, I guess that you should modify the instructions to make sure that the examples folder is fetched too. About the dependencies libqt5svg5-dev, qttools5-dev and zlib1g-dev, maybe you should add them too? Maybe they are downloaded automatically if you download from the ppa but they are not if you use the normal repositories? I don't know. I include the log of my installation/compilation and the list of files in Fragmentarium-2.5.3 once installed the program.

Fragmentarium dir.txt Installation fragmentarium.log

3Dickulus commented 4 years ago

yes, doing some testing, will update the install instructions and see what I can do about the zip generated by github

I note in your install log "Can't find Fragmentarium_es.qm !!!" would you be interested in providing the Spanish translation?

retrue commented 4 years ago

I even thought about doing the Spanish translation for XaoS, that is incomplete. It is long / difficult to translate Fragmentarium?

3Dickulus commented 4 years ago

in the source tree the translations folder holds the raw files

here is an empty translation file, it has all of the English just needs Spanish Fragmentarium_es.zip

the filename after unzip should be Fragmentarium_es.ts

you can open this file with the Qt tool Linguist, just type linguist Fragmentarium_es.ts the tool is quite intuitive, just play around with it and if you make progress with it let me know, if not then no worries.

retrue commented 4 years ago

I'll give it a try.

3Dickulus commented 4 years ago

re:OP the front page now has some info about the submodules and how to make sure you get them and the release page now has a zip archive that has the complete sources.

3Dickulus commented 4 years ago

oops, not closed until Travis is building a more recent working deb package

retrue commented 4 years ago

I have a MX Linux 19 distro installed in VirtualBox, so I decided to compile Fragmentarium there. I think the compilation has been sucessful. Of course, Fragmentarium doesn't run inside VirtualBox. MX Linux 19 is a very popular distribution based on Debian Stable. The packages list is a bit different than for Ubuntu Xenial or Bionic (Mint 19).

sudo apt-get -qq install cmake sudo apt-get -qq install extra-cmake-modules sudo apt-get -qq install libopenexr-dev sudo apt-get -qq install libilmbase-dev sudo apt-get -qq install libqt5scripttools5 sudo apt-get -qq install libqt5gui5 sudo apt-get -qq install libqt5svg5-dev sudo apt-get -qq install libqt5opengl5-dev sudo apt-get -qq install libqt5xmlpatterns5-dev sudo apt-get -qq install qt5-qmake sudo apt-get -qq install qttools5-dev-tools sudo apt-get -qq install qtbase5-dev sudo apt-get -qq install qtbase5-dev-tools sudo apt-get -qq install qt5-style-plugins sudo apt-get -qq install qt5-image-formats-plugins sudo apt-get -qq install qtscript5-dev

Plus: sudo apt-get install qttools5-dev sudo apt-get install libglm-dev

zlib1g-dev was already installed. I don't know if it was installed by default by MX Linux or when I installed some software, but I think it should be included in the dependencies list. ligblm-dev can be installed directly from the MX Linux repository and it is already in its last version.

I include the log of the installation.

MKLinux19_FragM_Installation.log

3Dickulus commented 4 years ago

managed to get it to build on bionic

new deb package available on release page

Operating System Details

Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic

3Dickulus commented 4 years ago

As I haven't heard anything I guess you're happily rendering up a storm? Making the bold assumption that this can be closed... can always reopen if needed.