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: sjoelund.se
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 Changed 8 years ago by adeas31

  • Owner changed from adeas31 to sjoelund.se
  • Status changed from new to assigned

comment:2 Changed 8 years ago by sjoelund.se

Is it still broken with today's build?

comment:3 Changed 8 years ago by sjoelund.se

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 Changed 8 years ago by Pierre Haessig <pierre.haessig@…>

@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 Changed 8 years ago by Pierre Haessig <pierre.haessig@…>

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 Changed 8 years ago by Pierre Haessig <pierre.haessig@…>

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 Changed 8 years ago by sjoelund.se

  • Summary changed from OMEdit segfault on Ubuntu to OMEdit 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 Changed 8 years ago by Pierre Haessig <pierre.haessig@…>

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 Changed 8 years ago by casella

@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 Changed 8 years ago by sjoelund.se

@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 Changed 8 years ago by jhede

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 Changed 8 years ago by sjoelund.se

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 Changed 7 years ago by sjoelund.se

  • Milestone Future deleted
  • Resolution set to worksforme
  • Status changed from assigned to closed

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

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

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

Note: See TracTickets for help on using tickets.