skip to Main Content

To be more specific, my source code is compiled and linked successfully when I am running it from inside the container.
However, when I am trying to build the image from a Dockerfile it fails.
i.e.:

this works (These lines are from the terminal "inside" the container):

cd AppFolder; make; //success

this does not (These are lines from the dockerfile):

RUN git clone <url> && cd APPFolder && make

Now I get:

/usr/bin/ld: warning: libcuda.so.1 needed by...

How can I build the application from the dockerfile?

2

Answers


  1. Chosen as BEST ANSWER

    Well, adding "-Wl,--allow-shlib-undefined" to the compiler/linker (g++) solved this issue. I think it "tells" the linker to "remain" pointer to function that will be "linked" only in runtime (i.e., when running the docker image)


  2. The only difference between a container and a layer during the image build is the next layers. perhaps you are running the RUN directive to early – i.e. before the cuda library was generated?

    try putting this command as low as you can in the Dockerfile

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search