-
Notifications
You must be signed in to change notification settings - Fork 554
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
[HDF5] Cross-compile for all platforms #567
Conversation
It doesn't even work for |
4bf561f
to
8f39bac
Compare
@steven-varga I'm sorry for having disappeared for so long, but now I'd like to finally go back to this! I know you prepared this program that we should run on different platforms to prepare the cross-compilation (thanks for that!), but it's not clear to me how we should use it. For example, on my machine I get
which looks also different from what you showed in the |
Hi Mose, I would need the target arch and the result executed on target architecture. Think of a X predictor and Y outcome/target, much similar used in supervised learning; then reverse engineer what is happening. steve |
I ran that command on my machine, |
would it be possible to at least start with cross-compilation just for linux ? |
@steven-varga We are hoping to upgrade HDF5, but the lack of cross-compilation is proving to be a big burden. I have had a hard time following exactly what your suggestion is. Do you mind providing some step-by-step instructions so even a dummy like me can follow? |
@steven-varga In particular, what exactly are we supposed to do with the output from |
I have the output from the requested program for 3 platforms in my repo: https://github.com/musm/hdf5-build-output |
Thank you for contributing! The idea is to build a database of the environment variables, then to examine if there is any difference among them and use them to initialise CMAKE (possibly GNU configure as well). In the current HDF5 library compile setting -- where cross compiling doesn't work -- these values are obtained by executing the program on the target platform. This mechanism doesn't work on a pure cross compile environment, unless you provide a platform + cpu simulator as well. However by pre-executing the test scripts -- as you just did -- we already have them environment variables, no execution on given target needed, instead we can use the database. The current state already can get us a working solution, but more the better -- as I can reverse what is the original idea, and if all the records are matching possibly reason that this functionality is outdated, and should be replaced with a simpler mechanism. Please give me few weeks to actively look at this problem, as currently my hands are full with two vaguely related projects. best:steve |
@steven-varga That makes sense to me. Thank you for describing the general idea, which makes sense to me now. Yes, I think I can manage to get the output for all the required platforms in the meantime. We already have the output from 4 target platforms in the linked repo. I'm looking forward to finally being able to handle this. |
@steven-varga One point of clarification. Are the generated variables from you're test program environment variables or what? In particular, how do you plan to use them? |
carefully :) -- if you set these variables to the desired values, then disable the compile + execute phase of the build process test programs, then cross compiling will work for that given platform -- by virtue. This statement is based on my research, brief email exchanges with Allen Byrn and online meetings with Gerd Heber, according to Allen (THDFGroup, cmake specialist) the CMAKE version is the easier to accomplish (as opposed to GNU configure). -- and yes, we are aware of an attempt with GNU configure. More variety of platform is the above scripts is executed, the stronger the reasoning is that the current approach is outdated, and an official alternative solution could be simpler/better. Hence I am reaching out to the community to get the platform specific results of these tests scripts, originally lifted from the HDF5 code base. steve, |
Thank you for the clarification. We managed to obtain many more platforms over at https://github.com/musm/hdf5-build-output/tree/master/outputs hopefully these prove to be helpful. |
Hi @musm I looked at the at your repository and noticed my work from this HDFGroup mailing list re-posted without references. Can you please correct it. |
@steven-varga is this ok with you https://github.com/musm/hdf5-build-output/blob/master/README.md ? (note the copyright notices are available in each individual file as well). Let me know if I need to add anything else for copyright. |
Studying the output from all the posted platforms. Here are the differences (all other variables are the same among the platforms in the repo)
|
What's the current status of this? There is a new release of HDF5 (1.12.1), there are a lot of build system changes which may or may not help: |
Is this worth trying again with a recent version? |
any update for it? |
8f39bac
to
da6fab6
Compare
Tried, but zero progress, still plenty of |
Somehow I lost track of this problem: @musm thank you for the output and the analysis.
This issue has been closed server times, which confused me a bit: is this important or not so much. Can someone authoritative state here: yes/no, please? (I honestly do not know the significance of this, I just know how to do it) |
@steven-varga HDFGroup/hdf5#1203 (comment) made me think there was some progress upstream, but I don't see it. I also couldn't find the promised documentation. |
@steven-varga This is certainly an important PR. The reason for closing and opening multiple times is because we are unsure of whether it will wok or not, and sometimes to trigger PRs. It may be better for you to make a new PR if you have a way to do it, which may be easier for you to work with. |
@steven-varga |
OK: I am travelling away for two weeks, once I am back, I will consider this case re-opened, and make this happen. |
So based on the latest comments on HDFGroup/hdf5#1203 (comment), do we have a path forward here? |
That...doesn't sound like a good solution at all. |
Closing in favour of #6551 |
Don't get excited, this will take a loooong time, if finite at all.