Giter VIP home page Giter VIP logo

Comments (6)

knopkem avatar knopkem commented on July 28, 2024

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.

william00179 avatar william00179 commented on July 28, 2024

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.

william00179 avatar william00179 commented on July 28, 2024

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.

knopkem avatar knopkem commented on July 28, 2024

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.

knopkem avatar knopkem commented on July 28, 2024

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.

william00179 avatar william00179 commented on July 28, 2024

@knopkem working well with the Alpine binaries you built. Thanks!

from dicom-dimse-native.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.