Closed stebo85 closed 6 months ago
The apptainer maintainers have seen a similar issue before: https://github.com/apptainer/apptainer/issues/1698 could this be the problem and the solution to compile qt differently?
This seems to be the fix that could be applied when compiling the QT library:
https://github.com/EESSI/software-layer/issues/99
-no-feature-statx # bug 672856
-no-feature-getentropy # needs kernel 3.17
-no-feature-renameat2 # needs kernel 3.16
Hi Steffen,
Did this work?
Paul
On Sun, Jan 14, 2024 at 6:01 PM Steffen Bollmann @.***> wrote:
This seems to be the fix that could be applied when compiling the QT library:
EESSI/software-layer#99 https://github.com/EESSI/software-layer/issues/99
-no-feature-statx # bug 672856 -no-feature-getentropy # needs kernel 3.17 -no-feature-renameat2 # needs kernel 3.16
— Reply to this email directly, view it on GitHub https://github.com/pyushkevich/itksnap/issues/116#issuecomment-1891102192, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJPEWZNNAOGPYC2WI3STBTYORPULAVCNFSM6AAAAABBV6O6LWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJRGEYDEMJZGI . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Dear @pyushkevich,
No, do I have to rebuild itksnap for that? Where would I make this change?
I tried this quick fix proposed by some:
find /opt/itksnap-4.0.2/ -name '*.so.*' | xargs strip --remove-section=.note.ABI-tag
This seemed to work, but I am unsure if this breaks anything else?
@pyushkevich,
Not sure if there is anything you want to change on the ITK-SNAP side, but for now the fix above worked and solved our problem.
Thank you for your thoughts on this Steffen
Hi Steffen,
I am sorry I was not of any help with this issue, based on what you wrote this is more of an issue with Qt compatibility and having to build Qt with these additional options for this specific container/host configuration. Do you have a dockerfile you can post here for future reference?
Thank you, Paul
On Wed, Jan 17, 2024 at 6:06 PM Steffen Bollmann @.***> wrote:
@pyushkevich https://github.com/pyushkevich,
Not sure if there is anything you want to change on the ITK-SNAP side, but for now the fix above worked and solved our problem.
Thank you for your thoughts on this Steffen
— Reply to this email directly, view it on GitHub https://github.com/pyushkevich/itksnap/issues/116#issuecomment-1897336297, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJPEW5NIZMUGKYLOBEAFSTYPBKPTAVCNFSM6AAAAABBV6O6LWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJXGMZTMMRZG4 . You are receiving this because you were mentioned.Message ID: @.***>
Dear @pyushkevich
Yes, as far as I understand the problem it's basically a QT compatibility problem with older kernels.
However, it seems this problem could be avoided on ITK-SNAPs side by compiling QT differently using these compiler flags:
-no-feature-statx # bug 672856
-no-feature-getentropy # needs kernel 3.17
-no-feature-renameat2 # needs kernel 3.16
My workaround in this container here (https://github.com/NeuroDesk/neurocontainers/blob/master/recipes/itksnap/build.sh) is to strip a section from the libraries and then the QT libraries run on older kernels:
find /opt/itksnap-4.0.2/ -name '*.so.*' | xargs strip --remove-section=.note.ABI-tag
So far this hasn't caused any adverse effects, but the question is if it would be a cleaner solution if you distribute a differently compiled version of QT that doesn't assume these new kernel features with ITK-SNAP?
Thank you Steffen
Dear itksnap team,
We have a strange problem (https://github.com/NeuroDesk/neurocommand/issues/259) with itksnap 4.0.2 (and 4.0.1) running in a ubuntu 22.04 singularity/apptainer container and I was hoping you have some ideas about what we are doing wrong.
This problem only seems to occur with older kernel versions: It works perfectly fine when running this Ubuntu 22.04 container in Centos 8 and the problem appears when running the SAME container in Centos 7.
starting the normal itksnap binary results in:
when checking the libraries, we see something strange: It finds some libraries under /opt/itksnap-4.0.2/lib/snap-4.0.2/ but not others (but they are actually there!):
Setting the ld library Path explicitly also doesn't solve the problem:
I am sure we are doing something wrong, but I just can't figure out what it is. Do you have any thoughts on this and pointers for us in the right direction?
Thank you so much Steffen