Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am installing a Titan2d softawre (from Buffalo University, Geophysical Mass Flow Group) in cygwin, I make a directory titan-3.0.0 (3.0.0 is the last version), under this directory I run $ sh install-titan.sh

This script will automatically check for both MPI and HDF5 installation. If MPI is not found in its standard location, then the user will be prompted to enter its absolute path, or quit installation. If this script is unable to locate HDF5, then the user will be prompted to enter its absolute path or continue without installing HDF5.

Through the process of installetion I got this error:

$ sh install-titan.sh 
/usr 
checking for a BSD-compatible install... /usr/bin/install -c 
checking whether build environment is sane... yes 
checking for gawk... gawk 
checking whether make sets $(MAKE)... yes 
checking for C++ compiler default output file name... a.exe 
checking whether the C++ compiler works... yes 
checking whether we are cross compiling... no 
checking for suffix of executables... .exe 
checking for suffix of object files... o 
checking whether we are using the GNU C++ compiler... yes 
checking whether /usr/local/bin/mpiCC accepts -g... yes 
checking for style of include used by make... GNU 
checking dependency style of /usr/local/bin/mpiCC... gcc3 
checking for gcc... /usr/local/bin/mpicc 
checking whether we are using the GNU C compiler... yes 
checking whether /usr/local/bin/mpicc accepts -g... yes 
checking for /usr/local/bin/mpicc option to accept ANSI C... none needed 
checking dependency style of /usr/local/bin/mpicc... gcc3 
checking for g77... g77 checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g77 accepts -g... yes 
checking how to run the C preprocessor... /usr/local/bin/mpicc -E 
checking for a BSD-compatible install... /usr/bin/install -c 
checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for ranlib... ranlib checking how to get verbose linking output from g77... -v checking for Fortran libraries of g77... -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../.. -lfrtbegin -lg2c -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 
checking for special C compiler options needed for large files... no 
checking for _FILE_OFFSET_BITS value needed for large files... no 
checking for _LARGE_FILES value needed for large files... no 
checking build system type... i686-pc-cygwin 
checking host system type... i686-pc-cygwin 
checking for pthread_create in -lpthread... yes 
checking for pkg-config... /usr/local/bin/pkg-config 
checking pkg-config is at least version 0.9.0... yes 
checking for MPICH2... configure: error: Package requirements (mpich2-ch3) were not met:

Variable 'exec_prefix' not defined in '/usr/local/lib/pkgconfig/mpich2-ch3.pc'

Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.

Alternatively, you may set the environment variables MPICH2_CFLAGS and MPICH2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.

make: * No targets specified and no makefile found. Stop. make: Nothing to be done for `install'.

I have installed either the openmpi from the cygwin setup, I choose full package installation so a series of mpi packages are automatically downloaded and installed, as well as I downloaded the last release of mpich-3.0.2 and an older release mpich2-1.2.1p1 and I installed in cygwin with configure, make, make install. However, titan2d installation error tell me that the Package requirements (mpich2-ch3) were not met. I know from the titan2d user guide that "If there are multiple copies of MPI on your machine, this script will find and use the first one in your path". I do not get why my instalaltion comes with this error. Any help will be greatly appreciated

share|improve this question

1 Answer 1

You should try exporting the env var, use export MPICH2_LIBS="/usr/lib". Sometimes in cygwin package libraries get put in /usr/lib and /usr/local/lib depending on the setup system involved. If it also runs into not finding "include" (header folder), it should tell you what to env var to set much like it did before.

You could also edit install.sh and find where it runs configure and add the following switch --prefix=/usr The prefix should set the bellow and more to --libdir=/usr/lib --includedir=/usr/include --libexecdir=/usr/libexec --sbindir=/usr/sbin Instead of being "/usr/local". However this is a more global option, so if certain files were available in /usr/local/* they might not be avail in /usr/*, so you will have reversed your problem. Better to solve individually for one or the other, seeing as /usr or /usr/local might have more packages you need. But im no expert!

so the line in install.sh should look something like ./configure --prefix=/usr

For the most part configure will send the above options as correct make flags in the Makefile.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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