[kde-freebsd] /usr/ports/devel/cmake wont build

Alex alex at mailinglist.ahhyes.net
Tue Apr 21 11:10:13 CEST 2009


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?



More information about the kde-freebsd mailing list