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

make install error (Windows 7, x64, Mingw-w64) #681

Closed
ikarth opened this issue Nov 2, 2015 · 9 comments
Closed

make install error (Windows 7, x64, Mingw-w64) #681

ikarth opened this issue Nov 2, 2015 · 9 comments

Comments

@ikarth
Copy link

ikarth commented Nov 2, 2015

Something of a follow up to #680, though I believe that this is a different issue. OpenBLAS compiled just fine, but when I ran make PREFIX=../pyenv install I got some errors that appear to be lapacke related:

make PREFIX=f:/Isaac/Dev/nanogenmo2015/pyenv install
make -f Makefile.install install
make[1]: Entering directory 'F:/Isaac/Dev/nanogenmo2015/OpenBLAS-0.2.15'
Generating openblas_config.h in f:/Isaac/Dev/nanogenmo2015/pyenv/include
Generating f77blas.h in f:/Isaac/Dev/nanogenmo2015/pyenv/include
Generating cblas.h in f:/Isaac/Dev/nanogenmo2015/pyenv/include
Copying LAPACKE header files to f:/Isaac/Dev/nanogenmo2015/pyenv/include
process_begin: CreateProcess(NULL, install -pm644 ./lapack-netlib/lapacke/include/lapacke.h     f:/Isaac/Dev/nanogenmo2015/pyenv/include/lapacke.h, ...) failed.
make (e=2): The system cannot find the file specified.
Makefile.install:23: recipe for target 'install' failed
make[1]: [install] Error 2 (ignored)
process_begin: CreateProcess(NULL, install -pm644 ./lapack-netlib/lapacke/include/lapacke_config.h     f:/Isaac/Dev/nanogenmo2015/pyenv/include/lapacke_config.h, ...) failed.
make (e=2): The system cannot find the file specified.
Makefile.install:23: recipe for target 'install' failed
make[1]: [install] Error 2 (ignored)
process_begin: CreateProcess(NULL, install -pm644 ./lapack-    netlib/lapacke/include/lapacke_mangling_with_flags.h     f:/Isaac/Dev/nanogenmo2015/pyenv/include/lapacke_mangling.h, ...) failed.
make (e=2): The system cannot find the file specified.
Makefile.install:23: recipe for target 'install' failed
make[1]: [install] Error 2 (ignored)
process_begin: CreateProcess(NULL, install -pm644 ./lapack-netlib/lapacke/include/lapacke_utils.h     f:/Isaac/Dev/nanogenmo2015/pyenv/include/lapacke_utils.h, ...) failed.
make (e=2): The system cannot find the file specified.
Makefile.install:23: recipe for target 'install' failed
make[1]: [install] Error 2 (ignored)
Copying the static library to f:/Isaac/Dev/nanogenmo2015/pyenv/lib
process_begin: CreateProcess(NULL, install -pm644 libopenblas_haswellp-r0.2.15.a     f:/Isaac/Dev/nanogenmo2015/pyenv/lib, ...) failed.
make (e=2): The system cannot find the file specified.
Makefile.install:23: recipe for target 'install' failed
make[1]: *** [install] Error 2
make[1]: Leaving directory 'F:/Isaac/Dev/nanogenmo2015/OpenBLAS-0.2.15'
makefile:302: recipe for target 'install' failed
make: *** [install] Error 2

I'm not sure how to interpret that, or where the point of failure is. Would compiling with LAPACKE disabled help, or am I barking up the wrong tree?

@martin-frbg
Copy link
Collaborator

Did you use any command line flags in the preceding "make", in particular the "NO_LAPACK=1" I suggested for #680 (which implies NO_LAPACKE) ? If so, you need to repeat it for any "make install",
"make test" etc. as they cannot know what (temporary) variables you supplied to the initial "make".
If you want to make such adjustments permanent across builds, uncomment the equivalent lines in Makefile.rule instead.

@ikarth
Copy link
Author

ikarth commented Nov 2, 2015

I just now did a make with NO_LAPACK=1 in Makefile.rule. I got this when I did make install:

F:\Isaac\Dev\nanogenmo2015\OpenBLAS-0.2.15
λ make PREFIX=f:/Isaac/Dev/nanogenmo2015/pyenv install
make -f Makefile.install install
make[1]: Entering directory 'F:/Isaac/Dev/nanogenmo2015/OpenBLAS-0.2.15'
Generating openblas_config.h in f:/Isaac/Dev/nanogenmo2015/pyenv/include
Generating f77blas.h in f:/Isaac/Dev/nanogenmo2015/pyenv/include
Generating cblas.h in f:/Isaac/Dev/nanogenmo2015/pyenv/include
Copying the static library to f:/Isaac/Dev/nanogenmo2015/pyenv/lib
process_begin: CreateProcess(NULL, install -pm644 libopenblas_haswellp-r0.2.15.a     f:/Isaac/Dev/nanogenmo2015/pyenv/lib, ...) failed.
make (e=2): The system cannot find the file specified.
Makefile.install:23: recipe for target 'install' failed
make[1]: *** [install] Error 2
make[1]: Leaving directory 'F:/Isaac/Dev/nanogenmo2015/OpenBLAS-0.2.15'
makefile:302: recipe for target 'install' failed
make: *** [install] Error 2

@martin-frbg
Copy link
Collaborator

Hmm... I see now that you had the same error message in the original message already. Do you have
anything named libopenblas_haswell* in your build directory ?

@ikarth
Copy link
Author

ikarth commented Nov 2, 2015

There's a libopenblas_haswellp-r0.2.15.a in /OpenBLAS-0.2.15

@martin-frbg
Copy link
Collaborator

Okay. And as far as I can tell that is also where you invoked the "make install", right ?
Does the target directory f:/Isaac/Dev/nanogenmo2015/pyenv/lib exist ? Or could it be that it is actually the "install" tool that is missing from your system ?

@ikarth
Copy link
Author

ikarth commented Nov 2, 2015

The target directory exists; I just double-checked it. And install is functional enough to copy cblas.h, f77blas.h, and openblas_config.h to the associated /include directory.

@martin-frbg
Copy link
Collaborator

It says "Generating" for those headers, which might imply that they are not copied by running "install".
Perhaps your version of "install" does not understand the "-pm644" directive (or the "install" that gets run is not the one from mingw even ?). Can you run that "install -pm644 libopenblas... f:/Dev..." line manually from that directory ?

@ikarth
Copy link
Author

ikarth commented Nov 2, 2015

That points me in the right direction: the mingw-w64 package I was using didn't come with MSYS, which is where "install" resides. I've installed the mingw-get version of mingw, which includes MSYS, and am currently testing it. (Running make takes a while.)

I can't say it's completely solved, at least not until I've finished testing the current toolchain. But it looks promising. Meanwhile, I've discovered that the OpenBLAS-v0.2.15-Win64-int32 binary apparently works well enough that I can install and run gensim in Python, so this is slightly lower priority for me.

I'll keep testing it on the off chance that it'll be useful to someone else (or me in the future), not to mention I'd prefer a build optimized to this machine.

@ikarth
Copy link
Author

ikarth commented Nov 2, 2015

Yes, that solved it. Even LAPACK works now. The root cause was primarily the missing MSYS.

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

No branches or pull requests

2 participants