[kde-freebsd] /usr/ports/devel/cmake wont build
Alex
alex at mailinglist.ahhyes.net
Tue Apr 21 16:25:29 CEST 2009
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
>
> [root at 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)
>
> [root at 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:
> ===========================================
>
> [root at 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 kde at 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
> ==================================================================
>
> [root at 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 at kde.org
> https://mail.kde.org/mailman/listinfo/kde-freebsd
> See also http://freebsd.kde.org/ for latest information
>
>
More information about the kde-freebsd
mailing list