gcc | compile from source trouble - c++

I try compile simple tool, and get error. Help me please fix it :)
./configure
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 g++... g++
checking whether the C++ compiler works... yes
....
....
checking for main in -lboost_filesystem... no
configure: error: in `/root/tbb2mbox/mbox2eml-0.1.2':
configure: error: boost_filesystem is required
but boost, boost-devel is installed
boost-1.33.1-16.el5_9
boost-devel-1.33.1-16.el5_9
libs
ldconfig -p | grep boost_filesystem
libboost_filesystem.so.2 (libc6,x86-64) => /usr/lib64/libboost_filesystem.so.2
headers
rpm -ql boost-devel | grep filesystem
/usr/include/boost/filesystem
/usr/include/boost/filesystem/config.hpp
/usr/include/boost/filesystem/convenience.hpp
/usr/include/boost/filesystem/exception.hpp
/usr/include/boost/filesystem/fstream.hpp
/usr/include/boost/filesystem/operations.hpp
/usr/include/boost/filesystem/path.hpp
/usr/lib64/libboost_filesystem.a
/usr/lib64/libboost_filesystem.so
What i can do for success ? ))

When configure performs a test, it generally only reports the results to the terminal. However, it also logs most of the work it does to config.log.
So, when confronted with an error like this, the best thing to do is search through config.log to find the failing compilation. This will give you more information about exactly what has failed, which should let you fix the underlying problem.

Related

QuantLib Installation using Homebrew on Mac with M1 chip

I'm quite new to Mac system and trying to use Homebrew to install QuantLib for a c++ coursework on XCode. I have installed boost and followed the steps on the website, but met a problem at the step of entering this into the terminal:
./configure --with-boost-include=/usr/local/include/ \
--with-boost-lib=/usr/local/lib/ --prefix=/usr/local/ \
CXXFLAGS='-O2 -std=c++11 -stdlib=libc++ -mmacosx-version-min=10.9' \
LDFLAGS='-stdlib=libc++ -mmacosx-version-min=10.9'
Since it is m1 chip, the default path of Homebrew has changed to /opt/homebrew/ and so has the location of boost, so I've changed it to
./configure --with-boost-include=/opt/homebrew/include/ \
--with-boost-lib=/opt/homebrew/lib/ --prefix=/opt/homebrew/ \
CXXFLAGS='-O2 -std=c++11 -stdlib=libc++ -mmacosx-version-min=11.4' \
LDFLAGS='-stdlib=libc++ -mmacosx-version-min=11.4'
But it still doesn't work and shows:
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: opt/homebrew/
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... ./config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gawk... (cached) awk
checking for opt/homebrew/-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for opt/homebrew/-g++... no
checking for opt/homebrew/-c++... no
checking for opt/homebrew/-gpp... no
checking for opt/homebrew/-aCC... no
checking for opt/homebrew/-CC... no
checking for opt/homebrew/-cxx... no
checking for opt/homebrew/-cc++... no
checking for opt/homebrew/-cl.exe... no
checking for opt/homebrew/-FCC... no
checking for opt/homebrew/-KCC... no
checking for opt/homebrew/-RCC... no
checking for opt/homebrew/-xlC_r... no
checking for opt/homebrew/-xlC... no
checking for opt/homebrew/-clang++... no
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... gcc3
checking how to run the C preprocessor... gcc -E
checking build system type... Invalid configuration `opt/homebrew/': machine `opt/homebrew/-unknown' not recognized
configure: error: /bin/sh ./config/config.sub opt/homebrew/ failed
How should I change the prefix? Any suggestion would be very welcome!

Error while instaling Open GRM thrax

I have already installed Open Fst in Ubuntu and its working fine. Now i'm trying to install Open GRM thrax. I have tried installing with 2 different versions of thrax.
Thrax version 1.1.0:
thraxOpenGrm/thrax-1.1.0$ ./configure
below is the error that i get.
checking how to hardcode library paths into programs... immediate
checking for bison... no
checking for byacc... no
checking for std::tr1::hash<long long unsigned>... yes
checking for __gnu_cxx::slist<int>... yes
checking fst/fst.h usability... yes
checking fst/fst.h presence... no
configure: WARNING: fst/fst.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: fst/fst.h: proceeding with the compiler's result
checking for fst/fst.h... yes
checking fst/extensions/far/far.h usability... yes
checking fst/extensions/far/far.h presence... no
configure: WARNING: fst/extensions/far/far.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: fst/extensions/far/far.h: proceeding with the compiler's result
checking for fst/extensions/far/far.h... yes
checking fst/extensions/pdt/pdt.h usability... no
checking fst/extensions/pdt/pdt.h presence... no
checking for fst/extensions/pdt/pdt.h... no
configure: error: fst/extensions/pdt/pdt.h header not found
Thrax version 0.1.0:
thraxOpenGrm/thrax-0.1.0$ ./configure
below is the error that i get.
checking how to hardcode library paths into programs... immediate
checking for bison... no
checking for byacc... no
checking for std::tr1::hash<long long unsigned>... yes
checking for __gnu_cxx::slist<int>... yes
checking fst/fst.h usability... no
checking fst/fst.h presence... no
checking for fst/fst.h... no
configure: error: fst/fst.h header not found
It throws different errors with different thrax versions. I read a solution in this forum.
http://www.openfst.org/twiki/bin/view/Forum/GrmThraxForum
It says openfst must be 'built' with ./configure --enable-far=true . i uninstalled openfst and installed it using ./configure --enable-far=true and also with ./configure --enable-far. The error still persists.
During installation of openfst you have to type:
./configure --enable-far=true --enable-pdt=true --enable-mpdt=true
Then you should install thrax and while on it, type in terminal:
export LD_LIBRARY_PATH=/usr/local/lib
Worked for me for openfst-1.5.4 and thrax-1.2.2.
When I got:
checking fst/extensions/pdt/pdt.h usability... no
I added:
--enable-pdt=true
to ./configure for openfst and I did the same for mpdt error. If you get other errors, you can try doing the same.
if you specify ./configure --enable-far=true, it should work. Because it will install fst folder under /usr/local/include (you should run make install when install opengrm)
then, you may come across error like: fst/extensions/pdt/pdt.h header not found
you can add --enable-pdt=true when ./configure opengrm
I would try to remove openfst against and then do a find on the system to make sure all the fst/fst.h files are gone. It might be missing something or some other package might have provided one.
Also, the --enable-far should not have =true on the end. So, maybe try it that way.

Basemap installation on Mac laptop

I know there are several questions about this topic, but I cannot find a clear answer.
I'm trying to install Basemap in my laptop (Mac OS X, v 10.6.8). I'm running Python 2.7.8 |Anaconda 2.0.1.
Python is installed in the following folder: users/myname/anaconda
I've downloaded basemap-1.0.7 into the same folder (users/myname/anaconda), then I follow the instructions from http://matplotlib.org/basemap/users/installing.html:
To install the GEOS library I open up a terminal and type:
cd anaconda/basemap-1.0.7/geos-3.3.3/
export GEOS_DIR=/user/myname/anaconda
./configure --prefix=$GEOS_DIR
Then I get the following error:
checking host system type... i386-apple-darwin10.8.0
checking target system type... i386-apple-darwin10.8.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... no
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/Users/myname/anaconda/basemap-1.0.7/geos-3.3.3':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
Then, when I try to run make; make install I get the error:
-bash: make: command not found
Can someone explain what I'm doing wrong?
The problem is that Basemap needs to compile GEOS, which is a C library, so you need a C compiler.
Alternatively, just download and install from the Mac OSX binaries provided here: http://trac.osgeo.org/geos/

how to compile fftw3 on iOS

Nowdays I just want to use FFTW3 on iOS, since I've compiled it successfully into i386 version which is used by the iOS simulator, the rest work is to compile it into armv6(or v7) version and lipo these two versions together,below is my incorrect configure:
./configure
CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1
LD=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ld
CCFLAGS="-I
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/lib/gcc/arm-apple-darwin10/4.2.1/include/
-I /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/
-miphoneos-version-min=2.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk"
LDFLAGS="-arch armv6 -isysroot
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk"
--enable-float --host=arm-apple-darwin --build=arm-apple-darwin10 --disable-fortran
when use this to build fftw3,I always get this:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-apple-darwin-strip... no
checking for strip... strip
configure: WARNING: using cross tools not prefixed with host triplet
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... arm-apple-darwin10
checking host system type... arm-apple-darwin
checking for arm-apple-darwin-gcc... /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1
checking whether the C compiler works... no
configure: error: in /Users/chencyz/Desktop/Development/Misc/fftw3/fftw-3.3':
configure: error: C compiler cannot create executables
Seeconfig.log' for more details
I'm not so clear about the problem(C compiler not works?),could anyone give me some guides,thanks very much !
According to ./configure --help:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
So the key is to pass --host=arm-apple-darwin10, and execute configure with the correct alterations to PATH, CFLAGS, LDFLAGS, etc.
This seems to work:
PATH=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:$PATH \
../configure --host=arm-apple-darwin10 CFLAGS="-I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include -I/Library/iPhone/include -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk" \
CC=arm-apple-darwin10-gcc-4.2.1 \
CPP=cpp \
LDFLAGS="-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk" \
--enable-single
Good luck.
I had a similar issue when trying to get cute compiled for iOS. Looking at the configure script, it didn't seem to use the $LDFLAGS variable, but if it did I think you could add the following to the configure line:
./configure CC=... CFLAGS="-arch armv7 -isysroot $SDKROOT" CXXFLAGS="$CFLAGS" LDFLAGS="$CFLAGS -Wl,-syslibroot $SDKROOT"
Where $SDKROOT is /Developer/Platforms/iPhone.platform/Developer/SDKs/iPhone5.0.sdk by default (with the iOS 5.0 SDK).
I never got cute compiled as I couldn't figure out how to correct the C-compiler invocation, however, your mileage may vary.

Cannot created executables installing IT++, ACML

I want to install IT++ with ACML
I first installed ACML and then did:
export LDFLAGS=$LDFLAGS:"-L/opt/acml4.4.0/ifort32/lib"
export CPPFLAGS=$CPPFLAGS:"-I/opt/acml4.4.0/ifort32/include"
So that IT++ can find it when it configures itself.
NExt I went to the IT++ directory and typed "./configure"
then I get the following error:
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 build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for g++... g++
checking for C++ compiler default output file name... configure: error: C++ compiler cannot create executables
See `config.log' for more details.
I went to the config.log and the interesting lines are given below:
lib conftest.cpp >&5
g++: :-I/opt/acml4.4.0/ifort32_mp/include: No such file or directory
g++: :-L/opt/acml4.4.0/ifort32_mp/lib: No such file or directory
configure:2836: $? = 1
Why is it doing this?