Seems gcc4.4 is a little strict. /usr/lib/libstdc++.so.6 exists in both /usr/lib and /usr/local/lib/gcc-4.4.0
However in LD_LIBRARY_PATH /usr/lib takes precedence Adding /usr/local/lib/gcc-4.4.0 before /usr/lib seems to cure the error below: /libexec/ld-elf.so.1: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11 required by ./cmake_bootstrap_57544.test not found other errors that are encountered during compilation with gcc4.4 can be silenced by adding -fpermissive to cflags I have resolved this issue. What a royal pain in the backside though. Alex wrote: > Hi Guys, > > Running 7.2-PRERELEASE (7-stable)/i386. Using latest ports snapshot. > > I am trying to compile kde 4.2.2 from ports. > > Firstly some information about my build environment: > > CC=/usr/local/bin/gcc44 > CXX=/usr/local/bin/g++44 > CFLAGS=-O3 > CXXFLAGS=-O3 > > [r...@laptop /usr/ports/devel/cmake]# $CC -v > Using built-in specs. > Target: i386-portbld-freebsd7.1 > Configured with: ./..//gcc-4.4-20090331/configure --disable-nls > --with-system-zlib --with-libiconv-prefix=/usr/local > --with-gmp=/usr/local --program-suffix=44 > --libdir=/usr/local/lib/gcc-4.4.0 > --with-gxx-include-dir=/usr/local/lib/gcc-4.4.0/include/c++/ > --disable-rpath --prefix=/usr/local --mandir=/usr/local/man > --infodir=/usr/local/info/gcc44 --build=i386-portbld-freebsd7.1 > Thread model: posix > gcc version 4.4.0 20090331 (prerelease) (GCC) > > [r...@laptop /usr/ports/devel/cmake]# $CXX -v > Using built-in specs. > Target: i386-portbld-freebsd7.1 > Configured with: ./..//gcc-4.4-20090331/configure --disable-nls > --with-system-zlib --with-libiconv-prefix=/usr/local > --with-gmp=/usr/local --program-suffix=44 > --libdir=/usr/local/lib/gcc-4.4.0 > --with-gxx-include-dir=/usr/local/lib/gcc-4.4.0/include/c++/ > --disable-rpath --prefix=/usr/local --mandir=/usr/local/man > --infodir=/usr/local/info/gcc44 --build=i386-portbld-freebsd7.1 > Thread model: posix > gcc version 4.4.0 20090331 (prerelease) (GCC) > > I have been able to build xorg and everything else ok so far, however > cmake is giving me grief, here is the output from compilation: > =========================================== > > [r...@laptop /usr/ports/devel/cmake]# make > ===> Vulnerability check disabled, database not found > ===> Extracting for cmake-2.6.3 > => MD5 Checksum OK for cmake-2.6.3.tar.gz. > => SHA256 Checksum OK for cmake-2.6.3.tar.gz. > ===> Patching for cmake-2.6.3 > ===> Applying FreeBSD patches for cmake-2.6.3 > ===> Configuring for cmake-2.6.3 > --------------------------------------------- > CMake 2.6-3, Copyright (c) 2007 Kitware, Inc., Insight Consortium > C compiler on this system is: /usr/local/bin/gcc44 -O3 -fno-strict-aliasing > --------------------------------------------- > Error when bootstrapping CMake: > Cannot find appropriate C++ compiler on this system. > Please specify one using environment variable CXX. > See cmake_bootstrap.log for compilers attempted. > --------------------------------------------- > Log of errors: > /usr/ports/devel/cmake/work/cmake-2.6.3/Bootstrap.cmk/cmake_bootstrap.log > --------------------------------------------- > ===> Script "configure" failed unexpectedly. > Please report the problem to k...@freebsd.org [maintainer] and attach the > "/usr/ports/devel/cmake/work/cmake-2.6.3/config.log" including the output of > the failure of your make command. Also, it might be a good idea to provide > an overview of all packages installed on your system (e.g. an `ls > /var/db/pkg`). > *** Error code 1 > > Stop in /usr/ports/devel/cmake. > > ================================================================== > Contents of > /usr/ports/devel/cmake/work/cmake-2.6.3/Bootstrap.cmk/cmake_bootstrap.log > ================================================================== > > [r...@laptop /usr/ports/devel/cmake]# cat > /usr/ports/devel/cmake/work/cmake-2.6.3/Bootstrap.cmk/cmake_bootstrap.log > Try: > /usr/local/bin/gcc44 > > > Line: /usr/local/bin/gcc44 -O3 -fno-strict-aliasing > cmake_bootstrap_57544.test.c -o cmake_bootstrap_57544.test > ---------- file > ----------------------- > > > #ifdef > __cplusplus > > > # error "The CMAKE_C_COMPILER is set to a C++ > compiler" > #endif > > > > #include<stdio.h> > > #if defined(__CLASSIC_C__) > int main(argc, argv) > int argc; > char* argv[]; > #else > int main(int argc, char* argv[]) > #endif > { > printf("%d\n", (argv != 0)); > return argc-1; > } > ------------------------------------------ > 1 > Test succeded > Try: /usr/local/bin/g++44 > Line: /usr/local/bin/g++44 -O3 -DTEST1 cmake_bootstrap_57544.test.cxx -o > cmake_bootstrap_57544.test > ---------- file > ----------------------- > > > #if > defined(TEST1) > > > # include > <iostream> > > > #else > > > # include > <iostream.h> > > > #endif > > > > class NeedCXX > { > public: > NeedCXX() { this->Foo = 1; } > int GetFoo() { return this->Foo; } > private: > int Foo; > }; > int main() > { > NeedCXX c; > #ifdef TEST3 > cout << c.GetFoo() << endl; > #else > std::cout << c.GetFoo() << std::endl; > #endif > return 0; > } > ------------------------------------------ > /libexec/ld-elf.so.1: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11 > required by ./cmake_bootstrap_57544.test not found > Test produced non-zero return > code > > > Try: > /usr/local/bin/g++44 > > > Line: /usr/local/bin/g++44 -O3 -DTEST2 cmake_bootstrap_57544.test.cxx -o > cmake_bootstrap_57544.test > ---------- file > ----------------------- > > > #if > defined(TEST1) > > > # include > <iostream> > > > #else > > > # include > <iostream.h> > > > #endif > > > > class NeedCXX > { > public: > NeedCXX() { this->Foo = 1; } > int GetFoo() { return this->Foo; } > private: > int Foo; > }; > int main() > { > NeedCXX c; > #ifdef TEST3 > cout << c.GetFoo() << endl; > #else > std::cout << c.GetFoo() << std::endl; > #endif > return 0; > } > ------------------------------------------ > cmake_bootstrap_57544.test.cxx:4:23: error: iostream.h: No such file or > directory > cmake_bootstrap_57544.test.cxx: In function 'int > main()': > cmake_bootstrap_57544.test.cxx:21: error: 'cout' is not a member of > 'std' > cmake_bootstrap_57544.test.cxx:21: error: 'endl' is not a member of 'std' > Test failed to compile > Try: /usr/local/bin/g++44 > Line: /usr/local/bin/g++44 -O3 -DTEST3 cmake_bootstrap_57544.test.cxx -o > cmake_bootstrap_57544.test > ---------- file ----------------------- > #if defined(TEST1) > # include <iostream> > #else > # include <iostream.h> > #endif > > class NeedCXX > { > public: > NeedCXX() { this->Foo = 1; } > int GetFoo() { return this->Foo; } > private: > int Foo; > }; > int main() > { > NeedCXX c; > #ifdef TEST3 > cout << c.GetFoo() << endl; > #else > std::cout << c.GetFoo() << std::endl; > #endif > return 0; > } > ------------------------------------------ > cmake_bootstrap_57544.test.cxx:4:23: error: iostream.h: No such file or > directory > cmake_bootstrap_57544.test.cxx: In function 'int main()': > cmake_bootstrap_57544.test.cxx:19: error: 'cout' was not declared in > this scope > cmake_bootstrap_57544.test.cxx:19: error: 'endl' was not declared in > this scope > Test failed to compile > > Any ideas? Obviously its unhappy about gcc4.4 being the c++ compiler, > but why is that? > > _______________________________________________ > kde-freebsd mailing list > kde-freebsd@kde.org > https://mail.kde.org/mailman/listinfo/kde-freebsd > See also http://freebsd.kde.org/ for latest information > > _______________________________________________ kde-freebsd mailing list kde-freebsd@kde.org https://mail.kde.org/mailman/listinfo/kde-freebsd See also http://freebsd.kde.org/ for latest information