h2oai / h2o4gpu

H2Oai GPU Edition
Apache License 2.0
459 stars 94 forks source link

Compiling from sources on arm64 architecture? #448

Open CoderCoderCoder opened 6 years ago

CoderCoderCoder commented 6 years ago

Hello,

as I couldn't post this question on StackOverflow (requires 1500 reputation), I am asking about it here. I am trying to install H2O GPU on arm64 Nvidia Jetson TX1 machine. Unfortunately make install results in the following error:

pip install dist/h2o4gpu*.whl --upgrade
h2o4gpu*.whl is not a valid wheel filename.

Is there a wheel file for arm64 architecture available, and if not how can I compile it from sources? Thank you!

mdymczyk commented 6 years ago

Hey @CoderCoderCoder ! We do not provide arm64 builds unfortunately.

As for building the project from source - are you building the latest master?

I'm not very familiar with your setup but the h2o4gpu*.whl is not a valid wheel filename. error would suggest that something is wrong with the wheel:

1) it either did not built properly and is not in the dist folder 2) your system does not support * in certain commands 3) your system does not support certain commands we use in our build process

Could you check if after that error is thrown there is a dist folder and if so what's the content? Also could you share the full log of make install?

pseudotensor commented 6 years ago

Can you do the following:

make fullinstall &> out.txt

And post the zipped-up version of out.txt.

Thanks!

CoderCoderCoder commented 6 years ago

You can find the output below, but I have to comment on a few things: 1) I had to replace "python" with "python3" everywhere in makefile 2) I commented out the removal of xgboost as I just built it from sources anyway 3) I used "make install" instead of "make fullinstall", as it tries to uninstall everything and results anyway in the same error 4) I have uncommented the line "python setup.py install" and changed python to python3, as there are definitely no wheel files in the entire github repo, I just cloned it, so the instruction "pip install dist/h2o4gpu*.whl --upgrade" is pointless and ends anyway in an error

The output now is the following:


src/config2.mk:23: USEICC is 0
src/config2.mk:24: ICCFILE is 
src/config2.mk:25: USEMKL is 0
src/config2.mk:26: USEDEBUG is 0
src/config2.mk:27: USENVTX is 0
src/config2.mk:28: USENCCL is 0
src/config2.mk:58: Compiling with Cuda8 or lower
Makefile:22: Compiling with Cuda8 or lower
make -j install -C src/interface_py
make[1]: Entering directory '/home/aaaa/h2o4gpu-master/src/interface_py'
cd ../.. && pip uninstall -y h2o4gpu
Cannot uninstall requirement h2o4gpu, not installed
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Makefile:57: recipe for target 'install' failed
make[1]: [install] Error 1 (ignored)
cd ../.. && pip uninstall -y py3nvml
Cannot uninstall requirement py3nvml, not installed
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Makefile:57: recipe for target 'install' failed
make[1]: [install] Error 1 (ignored)
find -name *.pyc | xargs rm -rf
find -name *__pycache__ | xargs rm -rf
python3 setup.py install
running install
running build
running build_py
package init file 'docs/__init__.py' not found (or not a regular file)
package init file 'docs/_static/__init__.py' not found (or not a regular file)
error: can't copy 'h2o4gpu/__pycache__': doesn't exist or not a regular file
Makefile:57: recipe for target 'install' failed
make[1]: *** [install] Error 1
make[1]: Leaving directory '/home/aaaa/h2o4gpu-master/src/interface_py'
Makefile:130: recipe for target 'pyinstall' failed
make: *** [pyinstall] Error 2

So at least now I was very close to building it from sources, but I have no idea how to fix the error above, please advise, thanks.

pseudotensor commented 6 years ago

The "errors" related to uninstalling packages are ignored and that's fine. The errors after "running build_py" shouldn't be there. But, without full logs (see above request) I can't tell what is wrong. Thanks!

CoderCoderCoder commented 6 years ago

Thanks for your reply! This is exactly the full log of "make install". There is nothing beyond this log...

Basically the trouble is here:

running build_py
package init file 'docs/__init__.py' not found (or not a regular file)
package init file 'docs/_static/__init__.py' not found (or not a regular file)
error: can't copy 'h2o4gpu/__pycache__': doesn't exist or not a regular file
Makefile:57: recipe for target 'install' failed
make[1]: *** [install] Error 1
make[1]: Leaving directory '/home/aaaa/h2o4gpu-master/src/interface_py'
Makefile:130: recipe for target 'pyinstall' failed
make: *** [pyinstall] Error 2
CoderCoderCoder commented 6 years ago

Any ideas? As I said - this is the full output of the "make install" command... Thanks!