-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux: extension SlicerJupyter not available in 4.13 preview releases #59
Comments
@jcfr @sjh26 Do you have any idea why the extension fails to build with this error on the factory? https://slicer.cdash.org/viewBuildError.php?buildid=2388789
I've built Slicer and SlicerJupyter on Ubuntu 20.04 with default settings without any issues. |
Is some very old compiler used on the factory? |
We use a centos7 based environment like the one used to build official python package. It uses gcc5 provided by centos7-devtoolset4 by building on top of dockbuild/centos7-devtoolset4-gcc5. See here For reference, @sjh26 has been working on updating this and we now have a new dockbuild based image including gcc7, see dockbuild/centos7-devtoolset7-gcc7. Once @sjh26 is back in the "office" (later this week), we should be able to have a status update.
See https://github.com/Slicer/SlicerBuildEnvironment#tutorials Except you should download the |
After ssh'ing into the build machine, here are more details:
Happy to try suggestions |
This could probably fixed by either going back to some earlier xeus version, or update the compiler. If @sjh26 can test the build on the new image and it works then that would be much preferable. |
For reference in terms of picking a newer GCC version, Qt6 is using GCC9 as the compiler for most linux distros https://doc-snapshots.qt.io/qt6-dev/supported-platforms.html in addition to minimum usage of C++17 rather than C++11 in Qt5. GCC9 was released May 2019 and was the first to mark full support for C++17 which is probably why Qt6 chose it. ^Something to consider if updating GCC on factory |
@sjh26 Has the compiler been updated on the factory machine? (SlicerJupyter still has that build error on linux while it builds fine on Windows and macOS) |
Sorry, I haven't been able to work on this lately. I can test the build with the GCC 7 image this week. |
That would be great, thanks a lot! |
In the meantime, here is a SlicerJupyter installation package (SlicerJupyter-gitb3fba2d-2021-03-21) for Linux for latest Slicer Preview Release (Slicer-4.13.0-2021-10-06) c:\Users\andra\Downloads\30304-linux-amd64-SlicerJupyter-gitb3fba2d-2021-03-21.tar.gz) for testing: 30304-linux-amd64-SlicerJupyter-gitb3fba2d-2021-03-21.tar.gz |
Using these args
in my Dockerfile I am unable to get the install.sh to run without an error. Note requires the latest changes in dazzag24/SlicerDocker@6e89bbf
However using
the container builds successfully:
|
Nice progress! It would be great if you could try to build the image using latest Slicer Preview Release (rev 30304) and the corresponding SlicerJupyter extension package that I've built today. We have made many improvement and fixes since Slicer-4.11.20200930. |
Hi The first stack trace in my last post from last night was from the 4.13 Slicer Preview Release (rev 30304) using your custom built package of SlicerJupyter. Basically the 4.13 docker build fails with:
Extracting the relevant section the 4.11 trace looks like this:
whereas the 4.13 build seems to fail somewhere in the "Installed extension SlicerJupyter revision" stage and then install.sh as a whole errors with a non zero return value.
|
I temporarily switched the linux factory to the gcc7 image, and the build results look good on linux: I will finalize the switch today. I will then start testing with a gcc9 image to see if we can make that change as well in the near future |
This is awesome, I've just tested this SlicerJupyter on Linux and it works! |
This was kind of expected. There is always a risk of ABI incompatibility when you build libraries on different computers with different compilers. It was worth a shot, but it did not work out. However, with the very latest (today's) Slicer Preview Release, SlicerJupyter is available in the extension manager. It is the official build, ABI compatibility is guaranteed. |
@lassoan Hi, I can confirm this works now. Please see my PR Slicer/SlicerDocker#46 for the changes that were needed to make the Dockerfile build work again. |
I'm eager to try out new stuff in 4.13 - meanwhile SlicerJupyter has become indispensable. Hope you get a chance to look into the compilation issues on Linux I suspect are at fault because the extension doesn't show up in the extensions manager anymore.
thanks
The text was updated successfully, but these errors were encountered: