Skip to content
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

Dockerfile doesn't support other platforms (e.g., arm64/m1) #75

Closed
makslevental opened this issue Oct 13, 2023 · 3 comments · Fixed by #77
Closed

Dockerfile doesn't support other platforms (e.g., arm64/m1) #75

makslevental opened this issue Oct 13, 2023 · 3 comments · Fixed by #77

Comments

@makslevental
Copy link

In working around #74, I try to build the docker image (docker build . -t xeus-clang-repl) but fail to because of a linker error during building CppInterOp:

282.9 -- Build files have been written to: /home/jovyan/CppInterOp/build
282.9 ++ nproc --all
282.9 + cmake --build . --parallel 10
282.9 [  7%] Creating directories for 'googletest'
282.9 [  7%] Built target intrinsics_gen
...
314.8 [ 92%] Completed 'googletest'
314.9 [ 92%] Built target googletest
322.9 [ 92%] Built target obj.clangCppInterOp
322.9 [100%] Linking CXX shared library ../libclangCppInterOp.so
323.0 /usr/bin/ld.gold: error: /home/runner/work/xeus-clang-repl/xeus-clang-repl/clang-dev/inst/lib/libLLVMNVPTXCodeGen.a(NVPTXAsmPrinter.cpp.o): incompatible target
323.0 /usr/bin/ld.gold: error: /home/runner/work/xeus-clang-repl/xeus-clang-repl/clang-dev/inst/lib/libLLVMNVPTXCodeGen.a(NVPTXTargetMachine.cpp.o): incompatible target
323.0 /usr/bin/ld.gold: error: /home/runner/work/xeus-clang-repl/xeus-clang-repl/clang-dev/inst/lib/libLLVMNVPTXDesc.a(NVPTXMCTargetDesc.cpp.o): incompatible target

Not sure if it's because gold isn't smart enough or something else (i.e., I didn't try patching to use ld instead).

cc @vgvassilev

@mcbarton
Copy link
Contributor

mcbarton commented Nov 14, 2023

Not sure if this will help. The Dockerfile tags ubuntu-22.04, which is for linux/amd64 (x86_64)( see https://hub.docker.com/r/jupyter/base-notebook/tags for the Docker base image page). If it was switched to latest then maybe you might have better luck, since this has arm64.

In regards to your comment about using ld instead. It was needed when I installed xeus-clang-repl natively within MacOS on Apple Silicon. Assuming this project is interested in natively supporting arm64 I can create an issue on what changes were needed to install it natively, and eventually create pull requests (for both xeus-clang-repl and its dependencies).

@vgvassilev
Copy link
Contributor

Not sure if this will help. The Dockerfile tags ubuntu-22.04, which is for linux/amd64 (x86_64)( see https://hub.docker.com/r/jupyter/base-notebook/tags for the Docker base image page). If it was switched to latest then maybe you might have better luck, since this has arm64.

In regards to your comment about using ld instead. It was needed when I installed xeus-clang-repl natively within MacOS on Apple Silicon. Assuming this project is interested in natively supporting arm64 I can create an issue on what changes were needed to install it natively, and eventually create pull requests (for both xeus-clang-repl and its dependencies).

@mcbarton, that would be great - we are interested in this!

@mcbarton
Copy link
Contributor

mcbarton commented Dec 6, 2023

As I now need to look at the Dockerfile as part of my PR #77 I plan to solve this issue as part of the PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants