Can't compile binutils

Hi,

I'm trying to build binutils, but everyhting stops on this error:
Code:
./../elfcpp/elfcpp_file.h:360: error: 'gettext' was not declared in this scope
./../elfcpp/elfcpp_file.h: In member function 'void elfcpp::Elf_file<size, big_endian, File>::construct(File*, const elfcpp::Ehdr<size, big_endian>&)':
./../elfcpp/elfcpp_file.h:383: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h:383: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
./../elfcpp/elfcpp_file.h:386: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'void elfcpp::Elf_file<size, big_endian, File>::initialize_shnum()':
./../elfcpp/elfcpp_file.h:438: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'off_t elfcpp::Elf_file<size, big_endian, File>::section_header_offset(unsigned int)':
./../elfcpp/elfcpp_file.h:471: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'std::string elfcpp::Elf_file<size, big_endian, File>::section_name(unsigned int)':
./../elfcpp/elfcpp_file.h:506: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h:515: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'typename File::Location elfcpp::Elf_file<size, big_endian, File>::section_contents(unsigned int)':
./../elfcpp/elfcpp_file.h:532: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'typename elfcpp::Elf_types<size>::Elf_WXword elfcpp::Elf_file<size, big_endian, File>::section_size(unsigned int)':
./../elfcpp/elfcpp_file.h:550: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'typename elfcpp::Elf_types<size>::Elf_WXword elfcpp::Elf_file<size, big_endian, File>::section_flags(unsigned int)':
./../elfcpp/elfcpp_file.h:569: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'typename elfcpp::Elf_types<size>::Elf_Addr elfcpp::Elf_file<size, big_endian, File>::section_addr(unsigned int)':
./../elfcpp/elfcpp_file.h:588: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'elfcpp::Elf_Word elfcpp::Elf_file<size, big_endian, File>::section_type(unsigned int)':
./../elfcpp/elfcpp_file.h:607: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'elfcpp::Elf_Word elfcpp::Elf_file<size, big_endian, File>::section_link(unsigned int)':
./../elfcpp/elfcpp_file.h:626: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'elfcpp::Elf_Word elfcpp::Elf_file<size, big_endian, File>::section_info(unsigned int)':
./../elfcpp/elfcpp_file.h:645: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
./../elfcpp/elfcpp_file.h: In member function 'typename elfcpp::Elf_types<size>::Elf_WXword elfcpp::Elf_file<size, big_endian, File>::section_addralign(unsigned int)':
./../elfcpp/elfcpp_file.h:664: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
In file included from incremental.h:33,
                 from readsyms.h:30,
                 from archive.cc:36:
output.h: In member function 'virtual void gold::Output_section_headers::do_print_to_mapfile(gold::Mapfile*) const':
output.h:492: error: 'gettext' was not declared in this scope
output.h: In member function 'virtual void gold::Output_segment_headers::do_print_to_mapfile(gold::Mapfile*) const':
output.h:542: error: 'gettext' was not declared in this scope
output.h: In member function 'virtual void gold::Output_file_header::do_print_to_mapfile(gold::Mapfile*) const':
output.h:589: error: 'gettext' was not declared in this scope
output.h: In member function 'virtual void gold::Output_data_const::do_print_to_mapfile(gold::Mapfile*) const':
output.h:815: error: 'gettext' was not declared in this scope
output.h: In member function 'virtual void gold::Output_data_const_buffer::do_print_to_mapfile(gold::Mapfile*) const':
output.h:846: error: 'gettext' was not declared in this scope
output.h: In member function 'virtual void gold::Output_data_fixed_space::do_print_to_mapfile(gold::Mapfile*) const':
output.h:878: error: 'gettext' was not declared in this scope
output.h: In member function 'virtual void gold::Output_data_space::do_print_to_mapfile(gold::Mapfile*) const':
output.h:918: error: 'gettext' was not declared in this scope
output.h: In member function 'virtual void gold::Output_data_strtab::do_print_to_mapfile(gold::Mapfile*) const':
output.h:981: error: 'gettext' was not declared in this scope
output.h: In member function 'void gold::Output_data_reloc_base<sh_type, dynamic, size, big_endian>::do_print_to_mapfile(gold::Mapfile*) const':
output.h:1501: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
output.h:1502: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
output.h: In member function 'void gold::Output_relocatable_relocs<sh_type, size, big_endian>::do_print_to_mapfile(gold::Mapfile*) const':
output.h:2111: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
output.h: In member function 'void gold::Output_data_group<size, big_endian>::do_print_to_mapfile(gold::Mapfile*) const':
output.h:2136: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
output.h: In member function 'void gold::Output_data_got<got_size, big_endian>::do_print_to_mapfile(gold::Mapfile*) const':
output.h:2277: error: there are no arguments to 'gettext' that depend on a template parameter, so a declaration of 'gettext' must be available
output.h: In member function 'virtual void gold::Output_data_dynamic::do_print_to_mapfile(gold::Mapfile*) const':
output.h:2447: error: 'gettext' was not declared in this scope
output.h: In member function 'virtual void gold::Output_symtab_xindex::do_print_to_mapfile(gold::Mapfile*) const':
output.h:2584: error: 'gettext' was not declared in this scope
archive.cc: In static member function 'static gold::Library_base::Should_include gold::Library_base::should_include_member(gold::Symbol_table*, gold::Layout*, const char*, gold::Symbol**, std::string*, char**, size_t*)':
archive.cc:116: error: 'gettext' was not declared in this scope
archive.cc: In member function 'void gold::Archive::setup()':
archive.cc:218: error: 'gettext' was not declared in this scope
archive.cc: In member function 'void gold::Archive::read_armap(off_t, gold::section_size_type)':
archive.cc:306: error: 'gettext' was not declared in this scope
archive.cc: In member function 'off_t gold::Archive::interpret_header(const gold::Archive::Archive_header*, off_t, std::string*, off_t*) const':
archive.cc:338: error: 'gettext' was not declared in this scope
archive.cc:358: error: 'gettext' was not declared in this scope
archive.cc:369: error: 'gettext' was not declared in this scope
archive.cc:400: error: 'gettext' was not declared in this scope
archive.cc:410: error: 'gettext' was not declared in this scope
archive.cc: In member function 'void gold::Archive::const_iterator::read_next_header()':
archive.cc:507: error: 'gettext' was not declared in this scope
archive.cc: In member function 'gold::Object* gold::Archive::get_elf_object_for_member(off_t, bool*)':
archive.cc:675: error: 'gettext' was not declared in this scope
archive.cc: In static member function 'static void gold::Archive::print_stats()':
archive.cc:1020: error: 'gettext' was not declared in this scope
archive.cc: In static member function 'static void gold::Lib_group::print_stats()':
archive.cc:1254: error: 'gettext' was not declared in this scope
gmake[4]: *** [archive.o] Error 1
gmake[4]: Leaving directory `/usr/ports/devel/binutils/work/binutils-2.23.1/gold'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/ports/devel/binutils/work/binutils-2.23.1/gold'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/ports/devel/binutils/work/binutils-2.23.1/gold'
gmake[1]: *** [all-gold] Error 2
gmake[1]: Leaving directory `/usr/ports/devel/binutils/work/binutils-2.23.1'
gmake: *** [all] Error 2
*** [do-build] Error code 1

Stop in /usr/ports/devel/binutils.

I have no idea, what do with this
 
My /etc/make.conf.:
Code:
WITHOUT_X11=yes
WITH_UTF8=yes
WITHOUT_HAL=yes
WITHOUT_DBUS=yes

## optimizations
WITH_SSE=yes
WITH_3DNOW=yes
WITH_MMX=yes
WITH_THREADS=yes

CPUTYPE?=i686
CFLAGS= -O2 -fno-strict-aliasing -pipe -s
CXXFLAGS= -O2 -fno-strict-aliasing -pipe -s
COPTFLAGS= -O2 -fno-strict-aliasing -pipe -s -funroll-loops -ffast-math

OPTIMIZED_CFLAGS=YES
BUILD_OPTIMIZED=YES
WITH_CPUFLAGS=YES
WITH_OPTIMIZED_CFLAGS=YES

NO_INET6=YES

#WITHOUT_DEBUG=YES


## do not install *.symbol files in /boot/kernel
INSTALL_NODEBUG=yes

## do not ask
BATCH=yes

## MySQL server
.if ${.CURDIR:M*/ports/databases/mysql*-server}
  WITH_CHARSET=utf8
  WITH_COLLATION=utf8_general_ci
.endif

# added by use.perl 2013-03-10 18:33:49
PERL_VERSION=5.14.2
 
Setting CFLAGS in /etc/make.conf is a mistake. It actually prevents ports that can really use optimized CFLAGS from using them. It can also cause subtle and hard to debug errors. Please don't do that.
 
Well you have absolutly right. I've hashed flags: CFLAGS, CXXFLAGS, COPTFLAGS and compilation finished successfully

Thanks for help.
 
Back
Top