# Cannot link gcc programs in 10-BETA1



## laufdi (Oct 24, 2013)

I upgraded to 10-BETA1. Everything, ports or other, I compile with gcc gives errors at linking like for example graphics/k3d

```
Linking CXX executable ../bin/k3d-resource-compiler
CMakeFiles/k3d-resource-compiler.dir/main.cpp.o: In function `boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const':
main.cpp:(.text._ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE[boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const]+0x19): undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int)'
CMakeFiles/k3d-resource-compiler.dir/main.cpp.o: In function `boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*)':
```
etc. etc.

I reinstalled world with 

```
WITH_GCC="yes"
WITH_GNUCXX="yes"
```
and also the gcc46 and gcc47 ports (and also boost\*)

Any ideas?


----------



## DutchDaemon (Oct 24, 2013)

You are using an unsupported, HEAD/CURRENT version of FreeBSD, so problems can be expected: http://goo.gl/spCpU

Join, and report to, the freebsd-current mailing list, please.


----------



## xibo (Oct 25, 2013)

GCC was removed from the default build because no one wants to maintain it, especially its usage in ports. If you want/need to use GCC for ports building, you should use lang/gcc rather than the base GCC, i.e set 
	
	



```
USE_GCC=any
```
 for the corresponding ports, or put it into make.conf to enable GCC for any port rather than defining WITH_GCC in src.conf. You'll probably have to rebuild _all_ ports for this to take effect (and you can remove base GCC thereafter).


----------

