Opened 8 years ago

Closed 7 years ago

Last modified 7 years ago

#4077 closed defect (worksforme)

OMEdit requires dist-upgrade due to OpenSceneGraph dependency

Reported by: alberto.leva@… Owned by: Martin Sjölund
Priority: high Milestone:
Component: OMEdit Version:
Keywords: Cc:

Description

Using nightly build.
OS ubuntu 14.04, 64bit, computer Macbook pro.
Updated this morning via apt-get.
Terminal transcript follows.


leva@leva-MacBookPro:~$ OMEdit
OMEdit: Symbol `SOLVER_METHOD_NAME' has different size in shared object, consider re-linking
OMEdit: Symbol `_ZN6OMPlot10PlotWindow16staticMetaObjectE' has different size in shared object, consider re-linking
OMEdit: Symbol `FLAG_DETAILED_DESC' has different size in shared object, consider re-linking
OMEdit: Symbol `SOLVER_METHOD_DESC' has different size in shared object, consider re-linking
Segmentation fault


Just re-updated, no change.
Best,

Alberto Leva

Change History (14)

comment:1 by Adeel Asghar, 8 years ago

Owner: changed from Adeel Asghar to Martin Sjölund
Status: newassigned

comment:2 by Martin Sjölund, 8 years ago

Is it still broken with today's build?

comment:3 by Martin Sjölund, 8 years ago

Do you have any packages not fully installed? (apt-get dist-upgrade)

I am thinking perhaps your OMEdit was not updated due to having OpenSceneGraph (3D visualization) added...

comment:4 by Pierre Haessig <pierre.haessig@…>, 8 years ago

@sjoelund.se, this segfault is indeed *indirectly* caused by the addition of OpenSceneGraph.

I have the same segfault on Debian testing (future "stretch" release, but using "deb http://build.openmodelica.org/apt jessie nightly" as binary channel, since there is no stretch yet). A few days ago, while updating all my Debian testing, I indeed got an error in aptitude saying that OMEdit requires "libopenscenegraph100". My solution was to freeze OMEdit version, but all other OM packages were updated. This version mismatch inside OM should explain the segfault.

Now, I just dig a bit further the issue of unmet dependency with this "libopenscenegraph100". Thanks to packet search [1], here seems to be the situation:

  • Debian stable jessie has "libopenscenegraph100", version 3.2.1-6
  • Debian testing (stretch) has "libopenscenegraph100v5" (subtle difference), version 3.2.3+dfsg1-2+b2 (seems only a tiny increase in version number...)

I don't know when the package name was changed (and I don't know what underlying change it represents), but the last change to openscene graph in Debian testing is already some months old [2] (2016-05-27).

To move this forward, is the only viable solution to create a build for stretch ?
(of course, it is still changing a lot over time, but apparently the package freeze is planned for 2017-02-05, and with major transitions already getting frozen in the coming days).

Also, for bookkeeping, I think this bug should be renamed to something like: "Impossible update of OMEdit caused by libopenscenegraph100 leads to segfault".

best,
Pierre

[1] "libopenscenegraph100" packages in all Debian releases https://packages.debian.org/search?keywords=+libopenscenegraph100&searchon=names&suite=all&section=all
[2] Debian Package Tracker - openscenegraph https://tracker.debian.org/pkg/openscenegraph
[3] https://wiki.debian.org/DebianStretch

comment:5 by Pierre Haessig <pierre.haessig@…>, 8 years ago

As quick fix, adding libopenscenegraph100 | libopenscenegraph100v5 as a dependency in the .deb package would at least allow the update of OMEdit, even if the libopenscenegraph would be the wrong one.

Then, I don't know what happen when OMEdit launches:

  1. does it run fine as long as nothing related to 3D is used ?
  2. does it crashes at start up ?

If 1. happens, then it's a useful temporary workaround. If 2., then it's a useless hack.

comment:6 by Pierre Haessig <pierre.haessig@…>, 8 years ago

So I made the test by manually editing the omedit .deb package using trick from [1] to change the libopenscenegraph100 dependency into libopenscenegraph100v5. In the end, it seems to work ok (at least on a simple ODE simulation). Of course I would expect problems with 3D related features, but I've never used those.

Also, in relation to creating a stretch build, I mistakenly uninstalled the entire OM suite of packages, which made me realize there is one more dependency which make OM currently uninstallable on Debian testing stretch: it requires libhdf5-8, while now there seems to be only libhdf5-10. Fortunately, the old one can still be downloaded and installed [2].

[1] manual edit of a deb package: http://serverfault.com/a/383958
[2] libhdf5-8 download for manual install https://packages.debian.org/jessie/libhdf5-8

comment:7 by Martin Sjölund, 8 years ago

Summary: OMEdit segfault on UbuntuOMEdit requires dist-upgrade due to OpenSceneGraph dependency

The dependencies of the deb-file are automatically added and can't be easily changed (manually keeping track of all the dependencies would be a nightmare).

I could possibly try to add Debian stretch, but right now the Ubuntu 16.10 build is failing (and this is an actual released OS).

comment:8 by Pierre Haessig <pierre.haessig@…>, 8 years ago

Thanks for the feedback. I understand that supporting so many Linux flavors can be really time consuming.

For the time being, I'll have to stop updating my OM installation to preserve the dirty manual dpkg fix.

comment:9 by Francesco Casella, 8 years ago

@albertoleva reported me this further information:

  • he's running Ubuntu 14.04 LTS
  • at the moment Ubuntu 14.04 LTS uses QT 5.3
  • the installation package for OMC on Ubuntu 14.04 wants QT 5.2.1, and it crashes with 5.3
  • there is no (clean) way to downgrade the QT libraries from 5.3 to 5.2.1 on his installation

@sjolund.se, could you look into this? I think we should strive to support LTS builds as much as possible

comment:10 by Martin Sjölund, 8 years ago

@casella: We are supporting the LTS build. The latest qt release for 14.04 LTS is Qt 5.2.1:

http://packages.ubuntu.com/trusty/qt5-default
http://packages.ubuntu.com/trusty-updates/qt5-default

Alberto seems to have gotten more recent Qt packages pulled in from somewhere. Alberto's log says:

Then tried via aptitude:

root@leva-MacBookPro:/home/leva# aptitude  install openmodelica
The following NEW packages will be installed:
  drcontrol{a} drmodelica{a} libqt53d5{ab} libqt5location5{ab}
  libqt5positioning5{ab} libqt5sensors5{ab} omedit{a}
  omlib-modelicareference{a} omnotebook{a} omshell{a} omshell-terminal{a}
  openmodelica
0 packages upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 6.018 kB of archives. After unpacking 28,1 MB will be used.
The following packages have unmet dependencies:
 libqt5positioning5 : Depends: qtbase-abi-5-2-1 which is a virtual package.
 libqt53d5 : Depends: qtbase-abi-5-2-1 which is a virtual package.
 libqt5location5 : Depends: qtbase-abi-5-2-1 which is a virtual package.
 libqt5sensors5 : Depends: qtbase-abi-5-2-1 which is a virtual package.
The following actions will resolve these dependencies:

      Keep the following packages at their current version:
1)      drcontrol [Not Installed]
2)      drmodelica [Not Installed]
3)      libqt53d5 [Not Installed]
4)      libqt5location5 [Not Installed]
5)      libqt5positioning5 [Not Installed]
6)      libqt5sensors5 [Not Installed]
7)      omedit [Not Installed]
8)      omnotebook [Not Installed]
9)      omshell [Not Installed]
10)     openmodelica [Not Installed]

Accept this solution? [Y/n/q/?] n

      Downgrade the following packages:
12)     libqt5clucene5 [5.3.0-5~trusty1 (now, trusty) -> 5.2.1-8build1 (trusty)]
13)     libqt5core5a [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-1ubun
14)     libqt5dbus5 [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-1ubunt
15)     libqt5gui5 [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-1ubuntu
16)     libqt5network5 [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-1ub
17)     libqt5opengl5 [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-1ubu
18)     libqt5printsupport5 [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfs
19)     libqt5qml5 [5.3.0-3ubuntu13~trusty1 (now, trusty) -> 5.2.1-3ubuntu15.1 (tru
20)     libqt5quick5 [5.3.0-3ubuntu13~trusty1 (now, trusty) -> 5.2.1-3ubuntu15.1 (t
21)     libqt5sql5 [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-1ubuntu
22)     libqt5sql5-sqlite [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-
23)     libqt5svg5 [5.3.0-2~trusty1 (now, trusty) -> 5.2.1-1 (trusty)]
24)     libqt5test5 [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-1ubunt
25)     libqt5webkit5 [5.3.0+dfsg-1ubuntu2~trusty1 (now, trusty) -> 5.1.1-1ubuntu8
26)     libqt5widgets5 [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-1ub
27)     libqt5xml5 [5.3.0+dfsg-2ubuntu9~trusty1 (now, trusty) -> 5.2.1+dfsg-1ubuntu
28)     libqt5xmlpatterns5 [5.3.1-4ubuntu3~trusty1 (now, trusty) -> 5.2.1-3 (trusty
29)     qtdeclarative5-folderlistmodel-plugin [5.3.0-3ubuntu13~trusty1 (now, trusty
30)     qtdeclarative5-qtquick2-plugin [5.3.0-3ubuntu13~trusty1 (now, trusty) -> 5.

Accept this solution? [Y/n/q/?] n

The following actions will resolve these dependencies:

      Remove the following packages:
1) libqt5help5
2) musescore
3) qml-module-qt-labs-folderlistmodel
4) qml-module-qtquick-controls
5) qml-module-qtquick-dialogs
6) qml-module-qtquick-layouts
7) qml-module-qtquick-localstorage
8) qml-module-qtquick-privatewidgets
9) qml-module-qtquick-window2
10) qml-module-qtquick2
11) qml-module-qtwebkit


For example, qml-module-qt-labs-folderlistmodel is not part of Trusty 14.04 and seems to have pulled in another Qt installation. I don't know where it was installed from; perhaps a PPA or Debian stable?

comment:11 by jhede, 8 years ago

I just ran into this issue after doing a apt-get update, apt-get upgrade on Ubuntu 14.04. Is there an easy fix? Would running apt-get dist-upgrade create more issues, or is it "safe"? Any advice?

Thanks

comment:12 by Martin Sjölund, 8 years ago

You should always run apt-get upgrade && apt-get dist-upgrade. It usually does not cause any issues if you only use the official repositories. You can also remove all old OpenModelica-related packages and do apt-get install; it should perform the same upgrades/installation of packages. Just check which packages will be installed, removed, or upgraded.

comment:13 by Martin Sjölund, 7 years ago

Milestone: Future
Resolution: worksforme
Status: assignedclosed

I'll just close this since it depended on third-party repo.

comment:14 by pierre.haessig@…, 7 years ago

Also, on Debian 9 (stable stretch), the problem seems fixed for me.

Note: See TracTickets for help on using tickets.