-
Notifications
You must be signed in to change notification settings - Fork 398
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
Linux arm64 #221
Linux arm64 #221
Conversation
How can I request a new test? |
Nice! Looking good @Nadav-Eyesight I restarted the CI build. |
I'm honestly surprised. So you don't think there's anything missing? If so, maybe this image should come with a warrant so people know hacks like I did might be needed. If this pull request gets approved, I'll still need to extend it with an image that does the soft linking. |
I disabled the Regarding the hacks, CMake is preferred for cross-compiling, so if your build system can use it, less hacks should be required. |
OK, I enabled linux-arm64. I use OpenCV. OpenCV couldn't find the packages' headers. OpenCV in turn uses |
I'm still getting the following error, not sure why:
|
Does |
Oh, so that's what it meant! Yah, that's not the right path, I made a mistake in the dockerfile. Problem is, I'm running the created container, and it doesn't seem like crosstool-ng installed anything... In fact, I can't even find a mention of crosstool-ng in the log. I thought I was just supposed to use |
The deed is done. |
Well done @Nadav-Eyesight ! |
Hi all, this pull request moved the cross-binaries to a place that is not in PATH. E.g. For my projects, this is a breaking change, and I currently cannot see sense in it. Toolchain binaries should never need the full path for invoking. Other dockcross containers also don't use this path as far as I can see. Additionally, the ARM64 triple is changed from aarch64-linux-gnu to aarch64-linux-unknown-gnueabi. I am not sure if this is technically correct. From the top of my head I cannot recall seeing I think with this pull request, some user-customizations slipped in that should be reverted, maybe? Thanks, |
There were some strange changes to the aarch64 dockross image lately. Looks like unintentional path changes. I'll adapt for now, but hopefully this gets reverted to a sane state soon. Referenece: dockcross/dockcross#221 (comment)
I agree, we're also encountering issues in our project. Specifically, the fortran compiler now being missing. See apache/mxnet#10837 for reference |
@andre-richter @marcoabreu Sorry for any inconvenience. @marcoabreu I don't use fortran but the settings on crosstool-ng state that it should be installed, plus I thought the circleci tests for fortran compilations on images that have them. If it doesn't, it should be added as a test. |
I can't find it anywhere in the container. How would you propose to move forward? This is blocking us :/ |
First of all, if you're blocked, I suggest you simply use a revision prior to the pull request's approval. I don't have access to fix anything right now. Secondly, for the changes to the toolchain's location, one needs to edit |
Thank you! Since the releases are not tagged, we created a mirror and published a cached version of the image as a temporary fix. To prevent problems like this in future, I've created a feature request at #223. I think the problem is not the location if the toolchain. Rather, fortran is entirely missing inside the container (see https://github.com/dockcross/dockcross/pull/221/files#diff-6e12c3f1624f19bdd1a4370b48ce9292L11 for reference). |
Fortran isn't supposed to be installed through This is the line that SHOULD install Fortran: Perhaps, however, this line needs to be set to |
Hi, Thanks for the fast replies. I think I am indifferent how things are solved, as long as the binaries will be in PATH so no absolute paths are needed to invoke them, and maybe change the target triple back to what it was before to stay backwards compatible in that regard (aka keep the original binary names). Thx, |
If you don't want to use absolute paths, why not use $CC? Anyway, I'm working on a fix for you guys. |
In my case I'm using objcopy as well, which doesn't have an env variable set for it. Ofc this is also viable, but some more env variables are needed I guess. Currently only the usual suspects like gcc et al. have one. |
#224 compiled on my machine, and has |
Howdy. I've spent the past three weeks compiling my project, which uses OpenCV, to Linux-arm64.
It hasn't been easy. My current solution uses hacks- manually soft linking header files from
/usr/include
to my cross compiler's sysroot's/include
path (in my case,/opt/x-tools/aarch64-unknown-linux-gnueabi/include/
.I don't know why that is required, either I'm missing something or something's wrong with
pkg-config
.This branch is my attempt to add my solution to dockcross, I doubt it's perfect in its current shape, but I'm starting the pull request so you can review it right now.