1

I'm trying to install fftw-3.3.7 library in a Linux cluster locally. After extracting, I tried,

./configure
make
make install

This throws me a bunch of errors and "permission denied" statements. A part of the text in the terminal after the command make install is given here:

/bin/mkdir -p '/usr/local/include'
/usr/bin/install -c -m 644 fftw3.h fftw3.f fftw3l.f03 fftw3q.f03 '/usr/local/include'
/usr/bin/install: cannot create regular file `/usr/local/include/fftw3.h': Permission denied
/usr/bin/install: cannot create regular file `/usr/local/include/fftw3.f': Permission denied
/usr/bin/install: cannot create regular file `/usr/local/include/fftw3l.f03': Permission denied
/usr/bin/install: cannot create regular file `/usr/local/include/fftw3q.f03': Permission denied
make[3]: *** [install-includeHEADERS] Error 1
make[3]: Leaving directory `/home/NewUser/fftw-3.3.7/api'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/NewUser/fftw-3.3.7/api'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/home/NewUser/fftw-3.3.7/api'
make: *** [install-recursive] Error 1

I am not familiar with Linux much. Could you please explain why these errors and permission denied statements occur? How can I install this fftw-3.3.7 locally in a cluster in my home folder?

  • You must be root ( $ su ) to do 'make install' . Or use $ sudo make install – Knud Larsen Apr 10 '18 at 11:01
  • @KnudLarsen I would like to install the library without "sudo" (i.e., locally) – phenomenon Apr 10 '18 at 11:54
2

Installing fftw3 locally, example ...

$ ./configure --prefix=/home/NewUser/fftw3
$ make
$ make install

Which will install to home/NewUser/fftw3/{ include/, lib/ }

| improve this answer | |
  • Could you please tell me where to find following files: fftw3d.o fft3dlib.o . I couldn't find these files in */fftw/lib and *fftw/include directories. I would like to link these libraries to compile VASP5.2 code. – phenomenon Aug 9 '18 at 12:36
1

You need to be root to write to /usr. If you want to install a program to a non-standard location you need to use --prefix:

./configure --prefix=/tmp/local-install
make
make install

The above will install your program to /tmp/local-install directory.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.