Comments (6)
Hi,
I must confess that I've never heard of alpine linux before. The libc difference is the problem here, will play with it in a VM and let you know. Once everything works I can add it to the build machines, no problem.
from dicom-dimse-native.
I spun up an Alpine container and built the binaries and published them for now to a fork.
https://github.com/william00179/dicom-dimse-native/releases/tag/v1.2.14
and overrode the binary host in my npmrc
dicom-dimse-native_binary_host=https://github.com/william00179/dicom-dimse-native/releases/download
No issues (that I noted) during compiling, but when trying to use the module, I get the following
Error: Error relocating /usr/src/app/node_modules/dicom-dimse-native/build/Release/dcmtk.node: _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
I'm not up to speed with cmake to be able to investigate why this might be cropping up
from dicom-dimse-native.
On the above, this issue was resolved when I compiled on the older version of Alpine that our production container is currently using, not Alpine latest. There must be an API change between the two versions.
from dicom-dimse-native.
So, just to make sure I understood correctly:
- When building with older alpine release it works on the old version and on the latest (?)
- When building with latest alpine release it compiles but doesn't work (even on latest) with the error above
I only know for glibc that it's usually advisable to use a rather old version as newer versions are backwards compatible in order to make it compatible with a broader range of os (which is what I do, using an old centos 6).
So personally I think we should do the same with alpine. Am I right?
Update:
- I moved your prebuild version (which alpine version was it built on) to my release and tried it on latest alpine -> works
- I compiled the repo on latest and tried the examples -> works
- Now: trying to compile on 3.0.6 and testing on latest (if this works, I'll take it as the build machine)
PS: I suspect the issue that you had (symbols not found) was because you compiled it on a newer version of musl (latest alpine) but tried to use it on an older version, could this be it? This is usually the case with glibc.
from dicom-dimse-native.
In the end I used alpine 3.9.6 for the build as this is the first version that comes with npm 6. It's from 2018 so should hopefully work for most cases. It should work with all version >= 3.9 (but not below). Let me know if this helps.
from dicom-dimse-native.
@knopkem working well with the Alpine binaries you built. Thanks!
from dicom-dimse-native.
Related Issues (20)
- Support printscp? HOT 3
- c-get call back issue HOT 1
- How to run in electron project? HOT 9
- getSCU uses source.aet both for called and for calling aettile HOT 2
- error message HOT 6
- Unable to use module HOT 1
- No way to gracefull exit async workers HOT 5
- Option to send base64 input stream through storeScu HOT 4
- Binaries for darwin-arm64? HOT 2
- MediaStorageSOPInstanceUID and SOPInstanceUID get messed up in compression
- DCMTK Version? HOT 7
- PN elements not correctly encoded in JSON when running on Linux (CentOS) HOT 4
- 100% CPU right on the start HOT 4
- TooManyAssociations? HOT 2
- How to re-compile the project HOT 5
- Doesn't work with M1 chip Mac HOT 1
- Error handling? HOT 2
- capture dimse output HOT 3
- startStoreScp prints a lot of log to terminal even thought I set verbose = false || startStoreScp is also low compared to dcmtk HOT 8
- hardcoded root query HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dicom-dimse-native.