Bug 31357 - Frescobaldi throws a fatal error when starting up
Summary: Frescobaldi throws a fatal error when starting up
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-03 17:34 CET by Brian Kimerer
Modified: 2023-01-04 19:54 CET (History)
4 users (show)

See Also:
Source RPM: frescobaldi-3.2-1.mga9.noarch.rpm
CVE:
Status comment:


Attachments

Description Brian Kimerer 2023-01-03 17:34:55 CET
Description of problem:

I installed Frecobaldi version 3.2-1.mga9 from the repository, and it terminates with the following fatal error.

"The 'qpageview' module can't be found.

Frecobaldi can't find the 'qpageview'
module. This module is required for the
Music View and other viewers inside
Frecobaldi, and can be downloaded
from http://github.com/frescobaldi/
qpageview.

Unfortunately, Frescobaldi cannot run
without it."

Version-Release number of selected component (if applicable):
3.2-1

How reproducible:
Always


Steps to Reproduce:
1. Install Frescobaldi from the repository
2. Try to run Frescobaldi

I cannot find a package for qpageview in the repository, so I went to the referenced github site and downloaded the qpageviewcode.

Installing qpageview from the github site did not fix the problem since Frescobaldi still could not find it.

I eventually uninstalled the repository version of Frecobaldi and installed Frescobaldi 3.2 and qpageview manually and it works fine.

According to the changelog for Frescobaldi 3.2 at frescobaldi.org, qpageview has been broken out of frescobaldi and is now a separate module.

"* Dependencies change:
  - the qpageview module, thus far in frescobaldi_app/qpageview, is now,
    because of its generic nature, a separate project at
    http://github.com/frescobaldi/qpageview . This package needs to be
    installed for Frescobaldi to work; it is used by the Music View and other
    viewers inside Frescobaldi. Because of this, be sure to remove Frescobaldi
    completely and then install qpageview and Frescobaldi, otherwise it still
    finds the old qpageview inside the frescobaldi_app folder."

It looks like we are missing a dependency and a package that Frescobaldi is dependent on.

inxi info
System:
  Host: BSKQuadCore Kernel: 6.1.2-desktop-1.mga9 arch: x86_64 bits: 64
    Desktop: KDE Plasma v: 5.26.4 Distro: Mageia 9
Machine:
  Type: Desktop System: ASUS product: All Series v: N/A
    serial: <superuser required>
  Mobo: ASUSTeK model: Z97-A-USB31 v: Rev 1.xx serial: <superuser required>
    UEFI: American Megatrends v: 2501 date: 06/24/2015
CPU:
  Info: quad core Intel Core i5-4590 [MCP] speed (MHz): avg: 873
    min/max: 800/3700
Graphics:
  Device-1: NVIDIA GM107 [GeForce GTX 750 Ti] driver: nouveau v: kernel
  Display: x11 server: X.org v: 1.21.1.6 with: Xwayland v: 22.1.7 driver: X:
    loaded: nouveau unloaded: fbdev,modesetting,vesa dri: nouveau gpu: nouveau
    resolution: 1920x1080~60Hz
  API: OpenGL v: 4.3 Mesa 22.3.2 renderer: NV117
Comment 1 David GEIGER 2023-01-03 19:09:41 CET
Should be fixed in next frescobaldi-3.2-2.mga9 update!

Please test when available in repo.

CC: (none) => geiger.david68210

Comment 2 Lewis Smith 2023-01-03 21:33:43 CET
Thank you Brian for a very helpful report.

Thank you David for another lightning response. I expected to see a new package 'qpageview', but the nearest I could find was 'python3-qpageview'.
However,
 $ urpmq --requires frescobaldi | grep qpageview
 qpageview
shows up as expected, but the converse is not clear:
 $ urpmq --whatrequires qpageview
 $ urpmq -i qpageview
both return "no such package".
However:
 $ urpmq --whatrequires python3-qpageview
 frescobaldi

Installing frescobaldi-3.2-2 did indeed pull in
 python3-qpageview              0.6.2        1.mga9        noarch
How did it work that out?

Never mind; running it did not work here (can Brian check this?):
 $ frescobaldi
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/plugin.py", line 79, in instance
    return _instances[cls][obj]
  File "/usr/lib64/python3.10/weakref.py", line 416, in __getitem__
    return self.data[ref(key)]
KeyError: <weakref at 0x7f5d2105f240; to 'type' at 0x157da20 (PanelManager)>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/bin/frescobaldi", line 40, in <module>
    main.main()                     # Parse command line, create windows etc
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/main.py", line 218, in main
    win = mainwindow.MainWindow()
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/mainwindow.py", line 136, in __init__
    self.createMenus()
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/mainwindow.py", line 1113, in createMenus
    menu.createMenus(self)
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/menu.py", line 61, in createMenus
    m.addMenu(menu_file(mainwindow))
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/menu.py", line 95, in menu_file
    m.addMenu(snippet.menu.TemplateMenu(mainwindow))
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/snippet/menu.py", line 149, in __init__
    self.addAction(self.tool().actionCollection.templates_manage)
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/snippet/menu.py", line 58, in tool
    return panelmanager.manager(self.mainwindow()).snippettool
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/panelmanager.py", line 38, in manager
    return PanelManager.instance(mainwindow)
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/plugin.py", line 84, in instance
    result.__init__(obj)
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/panelmanager.py", line 70, in __init__
    self.loadPanel("musicview.MusicViewPanel", "viewers")
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/panelmanager.py", line 107, in loadPanel
    __import__(module_name)
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/musicview/__init__.py", line 59, in <module>
    from . import documents
  File "/usr/lib/python3.10/site-packages/frescobaldi_app/musicview/documents.py", line 29, in <module>
    import popplerqt5
RuntimeError: popplerqt5 cannot import type '����' from PyQt5.QtCore

CC: (none) => lewyssmith

Comment 3 Dave Hodgins 2023-01-03 22:22:49 CET
(In reply to Lewis Smith from comment #2)
> Installing frescobaldi-3.2-2 did indeed pull in
>  python3-qpageview              0.6.2        1.mga9        noarch
> How did it work that out?

# urpmq --provides python3-qpageview
python-qpageview[== 0.6.2-1.mga9]
python3-qpageview[== 0.6.2-1.mga9]
python3.10-qpageview[== 0.6.2-1.mga9]
python3.10dist(qpageview)[== 0.6.2]
python3dist(qpageview)[== 0.6.2]
qpageview[== 0.6.2-1.mga9]

CC: (none) => davidwhodgins

Brian Kimerer 2023-01-04 04:50:47 CET

CC: (none) => briankimerer

Comment 4 Brian Kimerer 2023-01-04 16:12:12 CET
I installed frescobaldi-3.2-2.mga9 from the repository and it runs fine on this platform. I could not figure out how to uninstall the version that I installed from github, so I have both installed in parallel. I don't know if that has any impact on this or not.

Anyway, I can run either /usr/bin/frescobaldi (from repository) or /usr/local/bin/frescobaldi (from github) and they both work. The only difference between the two frescobaldi startup scripts is a -s switch on the hashbang in /usr/bin/frescobaldi

$ diff /usr/bin/frescobaldi /usr/local/bin/frescobaldi
1c1
< #!/usr/bin/python3 -s
---
> #!/usr/bin/python3
Comment 5 Lewis Smith 2023-01-04 19:54:47 CET
(In reply to Dave Hodgins from comment #3)
> (In reply to Lewis Smith from comment #2)
> > Installing frescobaldi-3.2-2 did indeed pull in
> >  python3-qpageview              0.6.2        1.mga9        noarch
> > How did it work that out?
> # urpmq --provides python3-qpageview
...
> qpageview[== 0.6.2-1.mga9]
Another lesson!

(In reply to Brian Kimerer from comment #4)
> I installed frescobaldi-3.2-2.mga9 from the repository and it runs fine on
> this platform.
> Anyway, I can run either /usr/bin/frescobaldi (from repository) or
> /usr/local/bin/frescobaldi (from github) and they both work.
This is clear enough: a nice +ve response.

Ignoring my own experience, closing satisfactorily.

Resolution: (none) => FIXED
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.