View Issue Details

IDProjectCategoryView StatusLast Update
0004281Slicer4Core: Base Codepublic2017-06-10 08:51
Reporterpieper Assigned Tojcfr  
PriorityhighSeverityblockReproducibilityalways
Status closedResolutionfixed 
PlatformlinuxOSallOS Version
Product VersionSlicer 4.6.0 
Target VersionSlicer 4.6.1Fixed in VersionSlicer 4.6.2 
Summary0004281: jsoncpp installed incorrectly in release
Description

the libjsoncpp.so* files are installed in an x86_64-linux-gnu subdirectory and so they are no in the library path of the executable. Either they need to be moved up a level or we need to add the subdirectory to the launcher paths.

$ find . -iname libjson*
./lib/Slicer-4.6/x86_64-linux-gnu/libjsoncpp.so.0
./lib/Slicer-4.6/x86_64-linux-gnu/libjsoncpp.so
./lib/Slicer-4.6/x86_64-linux-gnu/libjsoncpp.so.0.10.6

Steps To Reproduce

Untar the 4.6.0 distribution on linux and get this message:

$ ./Slicer-4.6.0-linux-amd64/Slicer
/quantome/download/Slicer-4.6.0-linux-amd64/./bin/SlicerApp-real: error while loading shared libraries: libjsoncpp.so.0: cannot open shared object file: No such file or directory

Additional Information

The binary can be made to work with the following:

$ cd Slicer-4.6.0-linux-amd64/lib/Slicer-4.6/
$ mv x86_64-linux-gnu/* .

TagsNo tags attached.

Relationships

related to 0004282 closedjcfr jsoncpp not configured correctly 

Activities

johan.andruejol

johan.andruejol

2016-10-18 13:37

manager   ~0014202

It looks like it's coming from JsonCpp:
https://github.com/open-source-parsers/jsoncpp/blob/0.y.z/src/lib_json/CMakeLists.txt#L51

I just checked, CMAKE_LIBRARY_ARCHITECTURE values is "" on windows (MSVC).
I don't think MAC will face the issue since it's fixed up.

I would be in favor of adding a step in SlicerCPack.cmake to move the JSonCpp libraries to the correct folder but that's far from ideal.

What do you guys think is the best ?

pieper

pieper

2016-10-18 14:04

administrator   ~0014203

I can confirm this issue only happens on linux, not mac or windows.

Moving the files during the install step is probably the easiest workaround but sounds like it's just asking for future headaches. Why not fork jsoncpp into the Slicer organization on github and add a commit that allows overriding this intermediate directory.

We can offer this as a pull request upstream and ideally it would be accepted so we wouldn't need to worry about it again.

If they don't accept it we can stick with using our own fork and then know that we need to explicitly handle this case if/when moving to a new jsoncpp upstream version.

johan.andruejol

johan.andruejol

2016-10-18 15:28

manager   ~0014204

@pieper: I agree with you. This is a better idea.

I don't have permission to create a fork. If someone sets it up, I don't mind creating the necessary commit.

pieper

pieper

2016-10-18 15:37

administrator   ~0014205

Thanks Johan - I set up the fork and added the Slicer Core team to it so I think you have what you need, but let me know if there's anything else.

https://github.com/Slicer/jsoncpp

jcfr

jcfr

2016-10-20 10:47

administrator   ~0014209

Fix has been pushed on the Slicer fork.
See https://github.com/Slicer/jsoncpp/tree/slicer-v0.10.6-2016-04-22

Testing locally, I will integrate shortly.

jcfr

jcfr

2016-10-20 11:57

administrator   ~0014214

Fixed in http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=25465

johan.andruejol

johan.andruejol

2016-10-20 12:03

manager   ~0014215

Thanks for helping out with this one JC !

jcfr

jcfr

2016-11-07 23:40

administrator   ~0014243

Backported to Slicer-4-6 branch as http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=25510

Integrated in 4.6.1

pieper

pieper

2016-11-08 13:51

administrator   ~0014246

Confirmed - thanks!

Related Changesets

Import 2017-06-07 23:51:09: master 640e4581

2016-10-20 11:47:11

jcfr

Details Diff
BUG: Fix JsonCpp packaging on Linux. Fixes 0004281

$ git shortlog 0.10.6..f4afa75 --no-merges
Jean-Christophe Fillion-Robin (1):
Revert "0001-multiarch-path-support.patch"

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25465 3bd1e089-480b-0410-8dfb-8563597acbee
mod - SuperBuild/External_JsonCpp.cmake Diff File

Issue History

Date Modified Username Field Change
2016-10-18 11:52 pieper New Issue
2016-10-18 11:52 pieper Status new => assigned
2016-10-18 11:52 pieper Assigned To => jcfr
2016-10-18 12:01 pieper Relationship added related to 0004282
2016-10-18 13:37 johan.andruejol Note Added: 0014202
2016-10-18 14:04 pieper Note Added: 0014203
2016-10-18 15:28 johan.andruejol Note Added: 0014204
2016-10-18 15:37 pieper Note Added: 0014205
2016-10-20 10:47 jcfr Note Added: 0014209
2016-10-20 11:57 jcfr Note Added: 0014214
2016-10-20 11:57 jcfr Status assigned => resolved
2016-10-20 11:57 jcfr Fixed in Version => Slicer 4.7.0
2016-10-20 11:57 jcfr Resolution open => fixed
2016-10-20 12:03 johan.andruejol Note Added: 0014215
2016-11-01 10:18 jcfr Status resolved => assigned
2016-11-01 10:18 jcfr Fixed in Version Slicer 4.7.0 =>
2016-11-01 10:18 jcfr Target Version Slicer 4.6.0 => Slicer 4.6.1
2016-11-07 23:40 jcfr Note Added: 0014243
2016-11-07 23:41 jcfr Status assigned => resolved
2016-11-07 23:41 jcfr Fixed in Version => Slicer 4.6.1
2016-11-08 13:51 pieper Note Added: 0014246
2016-11-08 13:51 pieper Status resolved => closed
2016-11-08 13:51 pieper Fixed in Version Slicer 4.6.1 => Slicer 4.6.2
2017-06-10 08:51 jcfr Changeset attached => Slicer master 640e4581