[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