View Issue Details

IDProjectCategoryView StatusLast Update
0004407Slicer4Core: Building (CMake, Superbuild)public2017-09-21 18:10
Reporterpieper Assigned Tojcfr  
PrioritynormalSeverityblockReproducibilityhave not tried
Status closedResolutionfixed 
Platformosx on factoryOSOS Version
Product Version 
Target VersionFixed in VersionSlicer 4.7.0 
Summary0004407: new libarchive version won't built on factory clang
Description

Upgraded libarchive [1] causes build error [2] on factory macs in this code [3]. Apparently the assumption in the code that all versions of clang will have __builtin_bswap16 is not true for the version of clang on the factory.

https://github.com/Slicer/Slicer/commit/10faee88ed79ddf00d268c0354c96be23563b340

http://slicer.cdash.org/viewBuildError.php?buildid=1075187

https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c#L1718-L1742

Steps To Reproduce

Only appears on the factory clang, not on my local mac which uses clang : Apple LLVM version 8.1.0 (clang-802.0.42)

Additional Information

It seems LHA code is related to this format:

https://en.wikipedia.org/wiki/LHA_(file_format)

if we can't fix the build we could go back to having our own fork of libarchive and just turn off this format.

TagsNo tags attached.

Activities

pieper

pieper

2017-08-04 10:10

administrator   ~0015016

I think the easiest will be to stub out the LHA support in our own fork. That way we don't need to change the factory clang, which is likely to have other side effects.

@jcfr if you agree I can do take care of this.

jcfr

jcfr

2017-08-04 10:18

administrator   ~0015017

to having our own fork of libarchive and just turn off this format.

Agreed. Since this is related to older compiler and we will move the build to a newer system soon, disabling LHA is the way to go.

Thanks for your help. Would be great if you could submit a patch.

Here is the convention for Slicer specific branches on our fork. See https://www.slicer.org/wiki/Documentation/Nightly/Developers/Versioning#Patches_for_tagged_release

Let me know if you have any questions,
Jc

jcfr

jcfr

2017-08-04 10:29

administrator   ~0015018

Last edited: 2017-08-04 10:30

View 3 revisions

@dzenanz Could you confirm that the current Slicer trunk also build on your workstation ?

pieper

pieper

2017-08-04 10:57

administrator   ~0015019

Thanks for the pointers - I'll try to work on it this afternoon or maybe this weekend. Of course if anyone else wants to take this on feel free! I hope it's just this one issue.

Just to confirm Jc the factory is still using the version of clang as described in [1] and [2]? Independent of libarchive we'll probably be wanting to update that at some point. Have we tested if it works with vtk8, c++11, and Qt5?

[1] https://www.slicer.org/wiki/Documentation/Nightly/Developers/Factory

[2] http://slicer-devel-archive.65872.n3.nabble.com/MacOSX-factory-build-Transitioning-from-hybrid-quot-llvm-g-quot-to-quot-clang-quot-Update-to-Qt-4-8-6-tt4032198.html#a4032199

jcfr

jcfr

2017-08-04 11:04

administrator   ~0015020

if anyone else wants to take this on feel free!

I will have a look later this morning and keep you posted

factory is still using the version of clang as described in [1] and [2]

Yes

Have we tested if it works with vtk8, c++11, and Qt5?

Slicer will be moved to a newer macOS. We testing this build on "factory-south" instead of "factory"

jcfr

jcfr

2017-08-04 16:37

administrator   ~0015021

Fix integrated in r26206
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=26206 and https://github.com/Slicer/libarchive/commit/e8a11f40901212f5d25e2f03938c5410aa9f6a3c

pieper

pieper

2017-08-04 16:46

administrator   ~0015023

Thanks Jc!

jcfr

jcfr

2017-08-04 16:47

administrator   ~0015024

You are welcome.

Note: I have only tested on Linux and MacOSX. And I am confident it will not break windows.

If there are issues, I will follow up on Monday

Issue History

Date Modified Username Field Change
2017-08-04 08:57 pieper New Issue
2017-08-04 08:57 pieper Status new => assigned
2017-08-04 08:57 pieper Assigned To => jcfr
2017-08-04 10:10 pieper Note Added: 0015016
2017-08-04 10:18 jcfr Note Added: 0015017
2017-08-04 10:29 jcfr Note Added: 0015018
2017-08-04 10:30 jcfr Note Edited: 0015018 View Revisions
2017-08-04 10:30 jcfr Note Edited: 0015018 View Revisions
2017-08-04 10:57 pieper Note Added: 0015019
2017-08-04 11:04 jcfr Note Added: 0015020
2017-08-04 16:37 jcfr Status assigned => resolved
2017-08-04 16:37 jcfr Resolution open => fixed
2017-08-04 16:37 jcfr Fixed in Version => Slicer 4.7.0
2017-08-04 16:37 jcfr Note Added: 0015021
2017-08-04 16:46 pieper Note Added: 0015023
2017-08-04 16:47 jcfr Note Added: 0015024
2017-09-21 18:10 pieper Status resolved => closed