lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New information (success report) for Frescobaldi 3 and the Ubuntu 16.04


From: lists
Subject: New information (success report) for Frescobaldi 3 and the Ubuntu 16.04 repositories
Date: Sat, 06 Jan 2018 10:39:53 +0000

Hi all,

after all the discussion about getting Frescobaldi to run on distributions 
based on Ubuntu < 17.xx I decided to give it a shot myself.

TL;DR Frescobaldi *can* be installed on Ubuntu 16.04/Mint 18.3 from its own Git 
repositories and the Ubuntu package repositories without issues.

Context/Situation:
I freshly installed Linux Mint 18.3.
(NOTE: I use a previously existing $HOME directory, but I'm quite sure this 
doesn't affect the process)
Mint 18.3 is based on Ubuntu 16.04 (Mint 19 will be based on Ubuntu 18.04, the 
next LTS release),
and the relevant packages are from the Ubuntu repositories (so no Mint 
specifics added), which means I assume the behaviour on vanilla Ubuntu 16.04 is 
the same.

Commented installation steps:

    # Make sure everything is up-to-date
    sudo apt update && sudo apt upgrade

    sudo apt install git

    # Install Frescobaldi's primary dependencies
    sudo apt install python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebkit

    # Obtain the Git repositories
    # (I *assume* these could instead be downloaded from Github as ZIP files)
    cd ~
    mkdir git  # this is just my personal base directory for Git repositories
    cd git
    git clone https://github.com/wbsoft/python-ly.git python-ly
    git clone https://github.com/wbsoft/frescobaldi.git frescobaldi

First try to run Frescobaldi: Invoke python3 with the frescobaldi entry file 
and add python-ly to the Python search path:

    PYTHONPATH=$PYTHONPATH:~/git/python-ly python3 ~/git/frescobaldi/frescobaldi

Frescobaldi correctly starts up, but (expectedly) doesn't show the Music View 
because the Poppler package isn't installed.

    # Install the Poppler bindings from the Ubuntu repositories
    sudo apt install python3-poppler-qt5

After that Frescobaldi correctly starts and shows scores both in the Music View 
and in the SVG View.

Knowing this one could have installed all dependencies with one single 

    sudo apt install python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebkit 
python3-poppler-qt5

###

I don't know enough about this and I can't investigate on a "broken" computer, 
but I have a suspicion.
The issue is that we have Qt, an application framework written in C++. 
Frescobaldi is written in PyQt, which is a set of Qt "bindings" for Python, so 
Python programs can use the Qt infrastructure. 
The point is that all bindings packages (which includes the general PyQt 
infrastructure and the custom bindings for the Poppler library that is used to 
display PDF documents) have to be "compiled against" and with the exact 
versions of Qt and Python that are installed on the system.
Generally this is an aspect that should be taken care of by a Linux 
distribution's package management system, and my latest try indicates that this 
works correctly with Ubuntu 16.04 (by now?).

My suspicion is that when using pip (or pip3) for installing the Python 
packages these relations are in some way incorrect, maybe they interfere with 
packages installed through APT.
Similarly, when using the setup.py script in the Frescobaldi installation 
directory things seem not to work correctly.
Finally it is maybe not clear enough in the instructions that *everything* 
(i.e. Ubuntu packages and pip) have to be used in their python3 versions.

So my final recommendation is: Use Ubuntu's packages and install everything 
through APT, and avoid pip3 or setup.py.

I will update the Wiki page 
(https://github.com/wbsoft/frescobaldi/wiki/Installing-Frescobaldi-3-on-Linux-(package-source),
 note that I have renamed it) and try to make everything as clear as possible. 
But I wanted to share this result and encourage people using Ubuntu 16.04 to 
test and verify it.

Best
Urs



reply via email to

[Prev in Thread] Current Thread [Next in Thread]