-
Notifications
You must be signed in to change notification settings - Fork 3
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
v1.0.31 binary shared object issue #12
Comments
maybe this helps explain the issue? I'm using
|
Hmm, perhaps we can close this issue. I resolved the error by upgrading the base docker image to a more recent release of Ubuntu, I guess this more recent version of ubuntu supports more recent versions of GLIBCXX? I don't really know what's going on here, but thought I'd let you all know. This is from the
|
Thanks Curtis, glibc version issues are annoying. You likely will have the same issue with AMRFinderPlus 4.0.15 which we also just released. I'm not sure what the best practice is for the version of glibc to link against. Maybe try linking to an older version or I guess creating a static binary? If you have recommendations on how we should build our binaries for distribution please let me know. |
🤷 Thanks for the heads up about amrfinderplus, I'll likely upgrade to the more recent ubuntu base image there as well. I don't know how to link glibc versions and I'm fine with just upgrading the base image/OS used in the docker container as it shouldn't impact functionality of stxtyper or amrfinderplus. No recommendations at this time but I'll let you all know if any other issues pop up in the future. Thanks! |
Not sure if this will fix this and all problems. Maybe I should just statically link everything? Not sure what the best practices are here.
I did some googling, and I think I may be able to fix this issue in the future by just statically linking libstdc++ with the I'll try to run some tests with older OSs, but I don't have time to do it now. I'm reopening this issue to remind me to do the testing and modify the build process for AMRFinderPlus as well if that does fix the issue without causing other problems. Maybe I should just statically link everything? |
OK, worth a try I guess? Not high priority for me since I already have a workaround but I appreciate you looking into it more Again I'm really out of my depth here but perhaps for quick testing on older OSs, it's easy to swap in base images used in dockerfiles to test with newly-built-statically-linked binaries. Feel free to try it out with the dockerfile here: https://github.com/StaPH-B/docker-builds/blob/master/build-files/stxtyper/1.0.27/Dockerfile Some modification of the dockerfile will be needed to bring in the new binaries, perhaps using the My first thought was to see how samtools handles this stuff, as they have a super broad user base with diverse compute platforms. Though it's written in C, not C++ (likely showing my naivety 😅 ) https://github.com/samtools/samtools/blob/develop/Makefile |
It looks like samtools only provides the source (maybe I'm wrong). If you build it on the target system then linking against different versions of libstdc++ or libc isn't a problem. The way it works now for StxTyper is just that I build the distribution binary on whatever dev server I'm working on. It's simple and manual. I'm hesitant to make things more complex if I don't have to. I had considered making docker images that compile from source (compiling from source in a parent build container then copying the binaries into the release image), but I got lazy and just copying in the binaries was easier. |
Hi guys,
I'm making a new docker image that uses the pre-compiled binary tarball that accompanies the GitHub release. When running the included
test_stxtyper.sh
script it's giving me this error:When I try to print the version info, I get the same error:
I haven't seen this error with previous versions of stxtyper and a nearly identical dockerfile/docker image so I'm wondering if something is different about this pre-compiled binary.
Any suggestions on how to resolve this? My knowledge of this kind of compilation & shared object stuff is pretty limited...
The text was updated successfully, but these errors were encountered: