When I try to emerge arts with USE=hardened, the compiler complains that it does not understand -fno-stack-protector and -fno-stack-protector-all, and aborts: Making all in mcopidl make[2]: Entering directory `/var/tmp/portage/arts-1.3.2/work/arts-1.3.2/mcopidl' creating mcopidl.all_cc.cc ... i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../mcop -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -I../libltdl -DQT_THREAD_SUPPORT -D_REENTRANT -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O3 -mtune=pentium4 -march=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe -fvisibility-inlines-hidden -fvisibility=hidden -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -ftemplate-depth-99 -O0 -fno-stack-protector -fno-stack-protector-all -c -o mcopidl.all_cc.o `test -f 'mcopidl.all_cc.cc' || echo './'`mcopidl.all_cc.cc distcc[27064] ERROR: compile (null) on localhost failed cc1plus: error: unrecognized command line option "-fno-stack-protector" cc1plus: error: unrecognized command line option "-fno-stack-protector-all" distcc[27062] ERROR: compile mcopidl.all_cc.cc on 192.168.0.1 failed make[2]: *** [mcopidl.all_cc.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/arts-1.3.2/work/arts-1.3.2/mcopidl' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/arts-1.3.2/work/arts-1.3.2' make: *** [all] Error 2 This problem does not occur without USE=hardened. Reproducible: Always Steps to Reproduce: 1. USE=hardened emerge arts Actual Results: emerge failed with the above error. emerge --info Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r0, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 Intel(R) Pentium(R) 4 CPU 1.70GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Mar 12 2005, 14:15:06)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -mtune=pentium4 -march=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -mtune=pentium4 -march=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe -fvisibility-inlines-hidden -fvisibility=hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache distcc distlocks fixpackages sandbox sfperms userpriv usersandbox" GENTOO_MIRRORS="http://mirror.averse.net/pub/gentoo http://ftp.isu.edu.tw/pub/Linux/Gentoo http://gentoo.osuosl.org" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://192.168.0.1/gentoo-portage" USE="x86 3dfx X acpi alsa apm arts berkdb bitmap-fonts cjk crypt font-server gdbm gif gpm hardened ithreads jpeg kde kdeenablefinal libg++ libwww mmx ncurses nls nomotif nptl opengl oss pam pdflib pic png pthreads qt readline sdl spell sse ssl tcpd threads truetype truetype-fonts type1-fonts unicode xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
Oops, it didn't disappear on USE=-hardened. Instead a even weirder error occurs, this time when making mcop instead of making mcopidl: Making all in mcop make[2]: Entering directory `/var/tmp/portage/arts-1.3.2/work/arts-1.3.2/mcop' /bin/sh ../libtool --silent --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../libltdl -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -I../libltdl -DEXTENSION_DIR='"/usr/kde/3.3/lib"' -DTRADER_DIR='"/usr/kde/3.3/lib/mcop"' -DQT_THREAD_SUPPORT -D_REENTRANT -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -ansi -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DNDEBUG -O2 -O3 -mtune=pentium4 -march=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe -Wformat-security -Wmissing-format-attribute -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c -o md5.lo `test -f 'md5.c' || echo './'`md5.c creating libmcop_la.all_cc.cc ... /bin/sh ../libtool --silent --mode=compile --tag=CXX i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../libltdl -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -I../libltdl -DEXTENSION_DIR='"/usr/kde/3.3/lib"' -DTRADER_DIR='"/usr/kde/3.3/lib/mcop"' -DQT_THREAD_SUPPORT -D_REENTRANT -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include-Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O3 -mtune=pentium4 -march=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe -fvisibility-inlines-hidden -fvisibility=hidden -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -ftemplate-depth-99 -c -o libmcop_la.all_cc.lo `test -f 'libmcop_la.all_cc.cc' || echo './'`libmcop_la.all_cc.cc In file included from libmcop_la.all_cc.cc:2: buffer.cc: In member function `void Arts::Buffer::patchLong(long int, long int)': buffer.cc:321: warning: unused variable 'len' In file included from libmcop_la.all_cc.cc:5: debug.cc: In function `char* arts_strdup_vprintf(const char*, char*)': debug.cc:798: warning: function might be possible candidate for `printf' format attribute In file included from libmcop_la.all_cc.cc:12: tcpserver.cc: In member function `virtual void Arts::TCPServer::notifyIO(int, int)': tcpserver.cc:182: warning: unused variable 'nbl_result' In file included from libmcop_la.all_cc.cc:13: unixserver.cc: In member function `virtual void Arts::UnixServer::notifyIO(int, int)': unixserver.cc:142: warning: unused variable 'nbl_result' In file included from libmcop_la.all_cc.cc:20: md5auth.cc: In function `char* arts_md5_auth_mkcookie()': md5auth.cc:125: warning: statement has no effect In file included from libmcop_la.all_cc.cc:27: tmpglobalcomm.cc: In member function `virtual bool Arts::TmpGlobalComm_impl::put(const std::string&, const std::string&)': tmpglobalcomm.cc:43: warning: unused variable 'result' In file included from libmcop_la.all_cc.cc:35: loopback.cc: In member function `virtual void Arts::LoopbackConnection::qSendBuffer(Arts::Buffer*)': loopback.cc:17: warning: unused variable 'magic' socketconnection.cc: At global scope: socketconnection.cc:125: warning: unused parameter '_fd' buffer.cc:150: warning: unused parameter 'l' /bin/sh ../libtool --silent --mode=link --tag=CXX i686-pc-linux-gnu-g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O3 -mtune=pentium4 -march=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer-pipe -fvisibility-inlines-hidden -fvisibility=hidden -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -ftemplate-depth-99 -o libmcop.la -rpath /usr/kde/3.3/lib -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -version-info 1:0 -L/usr/lib -L/usr/qt/3/lib -L/usr/kde/3.3/lib md5.lo libmcop_la.all_cc.lo -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 ../libltdl/libltdlc.la make[2]: Leaving directory `/var/tmp/portage/arts-1.3.2/work/arts-1.3.2/mcop' Making all in mcopidl make[2]: Entering directory `/var/tmp/portage/arts-1.3.2/work/arts-1.3.2/mcopidl' creating mcopidl.all_cc.cc ... i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../mcop -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -I../libltdl -DQT_THREAD_SUPPORT -D_REENTRANT -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O3 -mtune=pentium4 -march=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe -fvisibility-inlines-hidden -fvisibility=hidden -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -ftemplate-depth-99 -O0 -c -o mcopidl.all_cc.o `test -f 'mcopidl.all_cc.cc' || echo './'`mcopidl.all_cc.cc In file included from mcopidl.all_cc.cc:3: /usr/share/misc/bison.simple:164:5: warning: "YYMAXDEPTH" is not defined In file included from mcopidl.all_cc.cc:4: scanner.cc:743:5: warning: "YY_STACK_USED" is not defined scanner.cc:1783:5: warning: "YY_ALWAYS_INTERACTIVE" is not defined scanner.cc:2077:5: warning: "YY_MAIN" is not defined scanner.cc:2056: warning: 'void* yy_flex_realloc(void*, yy_size_t)' defined but not used /bin/sh ../libtool --silent --mode=link --tag=CXX i686-pc-linux-gnu-g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O3 -mtune=pentium4 -march=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer-pipe -fvisibility-inlines-hidden -fvisibility=hidden -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -ftemplate-depth-99 -O0 -o mcopidl -L/usr/lib -L/usr/qt/3/lib -L/usr/kde/3.3/lib mcopidl.all_cc.o../mcop/libmcop.la mcopidl.all_cc.o(.text+0x8642): In function `createStubCode(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Arts::MethodDef const&)': : undefined reference to `Arts::Buffer::Buffer()' mcopidl.all_cc.o(.text+0x870a): In function `createStubCode(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Arts::MethodDef const&)': : undefined reference to `Arts::Buffer::toString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' mcopidl.all_cc.o(.text+0x8aea): In function `createStubCode(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Arts::MethodDef const&)': : undefined reference to `Arts::Buffer::~Buffer()' mcopidl.all_cc.o(.text+0x97c0): In function `findInterface(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': : undefined reference to `Arts::InterfaceDef::InterfaceDef(Arts::InterfaceDef const&)' mcopidl.all_cc.o(.text+0x97ef): In function `findInterface(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': : undefined reference to `Arts::InterfaceDef::InterfaceDef()' mcopidl.all_cc.o(.text+0x980e): In function `mergeAllParents(Arts::InterfaceDef const&)': : undefined reference to `Arts::InterfaceDef::InterfaceDef(Arts::InterfaceDef const&)' mcopidl.all_cc.o(.text+0xe530): In function `doInterfacesSource(_IO_FILE*)': : undefined reference to `Arts::MethodDef::MethodDef()' mcopidl.all_cc.o(.text+0xe728): In function `doInterfacesSource(_IO_FILE*)': : undefined reference to `Arts::ParamDef::ParamDef()' mcopidl.all_cc.o(.text+0xead6): In function `doInterfacesSource(_IO_FILE*)': : undefined reference to `Arts::Buffer::Buffer()' mcopidl.all_cc.o(.text+0xec7f): In function `doInterfacesSource(_IO_FILE*)': : undefined reference to `Arts::MethodDef::MethodDef()' mcopidl.all_cc.o(.text+0xed25): In function `doInterfacesSource(_IO_FILE*)': : undefined reference to `Arts::MethodDef::writeType(Arts::Buffer&) const' mcopidl.all_cc.o(.text+0xee17): In function `doInterfacesSource(_IO_FILE*)': : undefined reference to `Arts::ParamDef::ParamDef()' mcopidl.all_cc.o(.text+0xee82): In function `doInterfacesSource(_IO_FILE*)': : undefined reference to `Arts::MethodDef::writeType(Arts::Buffer&) const' mcopidl.all_cc.o(.text+0xefab): In function `doInterfacesSource(_IO_FILE*)': : undefined reference to `Arts::Buffer::toString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' mcopidl.all_cc.o(.text+0xf917): In function `doInterfacesSource(_IO_FILE*)': : undefined reference to `Arts::Buffer::~Buffer()' mcopidl.all_cc.o(.text+0xf978): In function `doInterfaceRepoSource(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': : undefined reference to `Arts::Buffer::Buffer()' mcopidl.all_cc.o(.text+0xf9a1): In function `doInterfaceRepoSource(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': : undefined reference to `Arts::ModuleDef::writeType(Arts::Buffer&) const' mcopidl.all_cc.o(.text+0xfa24): In function `doInterfaceRepoSource(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': : undefined reference to `Arts::Buffer::toString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' mcopidl.all_cc.o(.text+0xfacf): In function `doInterfaceRepoSource(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': : undefined reference to `Arts::Buffer::~Buffer()' mcopidl.all_cc.o(.text+0xfaed): In function `doTypeFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': : undefined reference to `Arts::Buffer::Buffer()' mcopidl.all_cc.o(.text+0xfb11): In function `doTypeFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': : undefined reference to `Arts::ModuleDef::writeType(Arts::Buffer&) const' mcopidl.all_cc.o(.text+0xfb63): In function `doTypeFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': : undefined reference to `Arts::Buffer::size()' mcopidl.all_cc.o(.text+0xfb78): In function `doTypeFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': : undefined reference to `Arts::Buffer::read(long)' mcopidl.all_cc.o(.text+0xfbae): In function `doTypeFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': : undefined reference to `Arts::Buffer::~Buffer()' mcopidl.all_cc.o(.text+0x1199b): In function `yyparse()': : undefined reference to `Arts::TypeDef::TypeDef(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<Arts::TypeComponent, std::allocator<Arts::TypeComponent> > const&, 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&)' mcopidl.all_cc.o(.text+0x11a81): In function `yyparse()': : undefined reference to `Arts::EnumDef::EnumDef(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<Arts::EnumComponent, std::allocator<Arts::EnumComponent> > const&, 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&)' mcopidl.all_cc.o(.text+0x11bdd): In function `yyparse()': : undefined reference to `Arts::EnumComponent::EnumComponent(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, 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&)' mcopidl.all_cc.o(.text+0x11cd6): In function `yyparse()': : undefined reference to `Arts::EnumComponent::EnumComponent(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, 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&)' mcopidl.all_cc.o(.text+0x11dcf): In function `yyparse()': : undefined reference to `Arts::EnumComponent::EnumComponent(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, 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&)' mcopidl.all_cc.o(.text+0x11e95): In function `yyparse()': : undefined reference to `Arts::EnumComponent::EnumComponent(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, 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&)' mcopidl.all_cc.o(.text+0x121ac): In function `yyparse()': : undefined reference to `Arts::InterfaceDef::InterfaceDef()' mcopidl.all_cc.o(.text+0x12711): In function `yyparse()': : undefined reference to `Arts::AttributeDef::AttributeDef(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Arts::AttributeType, 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&)' mcopidl.all_cc.o(.text+0x129af): In function `yyparse()': : undefined reference to `Arts::AttributeDef::AttributeDef(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Arts::AttributeType, 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&)' mcopidl.all_cc.o(.text+0x12bc9): In function `yyparse()': : undefined reference to `Arts::MethodDef::MethodDef(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Arts::MethodType, std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> > const&, 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&)' mcopidl.all_cc.o(.text+0x12e3b): In function `yyparse()': : undefined reference to `Arts::ParamDef::ParamDef(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, 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&)' mcopidl.all_cc.o(.text+0x13180): In function `yyparse()': : undefined reference to `Arts::TypeComponent::TypeComponent(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, 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&)' mcopidl.all_cc.o(.text+0x155b8): In function `__static_initialization_and_destruction_0(int, int)': : undefined reference to `Arts::ModuleDef::ModuleDef()' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts12InterfaceDefD1Ev+0xb): In function `Arts::InterfaceDef::~InterfaceDef()': : undefined reference to `vtable for Arts::InterfaceDef' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts12InterfaceDefD1Ev+0x6a): In function `Arts::InterfaceDef::~InterfaceDef()': : undefined reference to `Arts::Type::~Type()' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts9MethodDefD1Ev+0xb): In function `Arts::MethodDef::~MethodDef()': : undefined reference to `vtable for Arts::MethodDef' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts9MethodDefD1Ev+0x4e): In function `Arts::MethodDef::~MethodDef()': : undefined reference to `Arts::Type::~Type()' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts8ParamDefD1Ev+0xb): In function `Arts::ParamDef::~ParamDef()': : undefined reference to `vtable for Arts::ParamDef' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts8ParamDefD1Ev+0x40): In function `Arts::ParamDef::~ParamDef()': : undefined reference to `Arts::Type::~Type()' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts13TypeComponentD1Ev+0xb): In function `Arts::TypeComponent::~TypeComponent()': : undefined reference to `vtable for Arts::TypeComponent' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts13TypeComponentD1Ev+0x40): In function `Arts::TypeComponent::~TypeComponent()': : undefined reference to `Arts::Type::~Type()' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts12AttributeDefD1Ev+0xb): In function `Arts::AttributeDef::~AttributeDef()': : undefined reference to `vtable for Arts::AttributeDef' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts12AttributeDefD1Ev+0x40): In function `Arts::AttributeDef::~AttributeDef()': : undefined reference to `Arts::Type::~Type()' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts13EnumComponentD1Ev+0xb): In function `Arts::EnumComponent::~EnumComponent()': : undefined reference to `vtable for Arts::EnumComponent' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts13EnumComponentD1Ev+0x32): In function `Arts::EnumComponent::~EnumComponent()': : undefined reference to `Arts::Type::~Type()' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts7EnumDefD1Ev+0xb): In function `Arts::EnumDef::~EnumDef()': : undefined reference to `vtable for Arts::EnumDef' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts7EnumDefD1Ev+0x40): In function `Arts::EnumDef::~EnumDef()': : undefined reference to `Arts::Type::~Type()' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts7TypeDefD1Ev+0xb): In function `Arts::TypeDef::~TypeDef()': : undefined reference to `vtable for Arts::TypeDef' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts7TypeDefD1Ev+0x40): In function `Arts::TypeDef::~TypeDef()': : undefined reference to `Arts::Type::~Type()' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt10_ConstructIN4Arts7EnumDefES1_EvPT_RKT0_+0x30): In function `void std::_Construct<Arts::EnumDef, Arts::EnumDef>(Arts::EnumDef*, Arts::EnumDef const&)': : undefined reference to `Arts::EnumDef::EnumDef(Arts::EnumDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts7EnumDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0x49): In function `std::vector<Arts::EnumDef, std::allocator<Arts::EnumDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::EnumDef*, std::vector<Arts::EnumDef, std::allocator<Arts::EnumDef> > >, Arts::EnumDef const&)': : undefined reference to `Arts::EnumDef::EnumDef(Arts::EnumDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts7EnumDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0xc4): In function `std::vector<Arts::EnumDef, std::allocator<Arts::EnumDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::EnumDef*, std::vector<Arts::EnumDef, std::allocator<Arts::EnumDef> > >, Arts::EnumDef const&)': : undefined reference to `Arts::EnumDef::operator=(Arts::EnumDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt10_ConstructIN4Arts7TypeDefES1_EvPT_RKT0_+0x30): In function `void std::_Construct<Arts::TypeDef, Arts::TypeDef>(Arts::TypeDef*, Arts::TypeDef const&)': : undefined reference to `Arts::TypeDef::TypeDef(Arts::TypeDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts7TypeDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0x49): In function `std::vector<Arts::TypeDef, std::allocator<Arts::TypeDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::TypeDef*, std::vector<Arts::TypeDef, std::allocator<Arts::TypeDef> > >, Arts::TypeDef const&)': : undefined reference to `Arts::TypeDef::TypeDef(Arts::TypeDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts7TypeDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0xc4): In function `std::vector<Arts::TypeDef, std::allocator<Arts::TypeDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::TypeDef*, std::vector<Arts::TypeDef, std::allocator<Arts::TypeDef> > >, Arts::TypeDef const&)': : undefined reference to `Arts::TypeDef::operator=(Arts::TypeDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt10_ConstructIN4Arts12InterfaceDefES1_EvPT_RKT0_+0x30): In function `void std::_Construct<Arts::InterfaceDef, Arts::InterfaceDef>(Arts::InterfaceDef*, Arts::InterfaceDef const&)': : undefined reference to `Arts::InterfaceDef::InterfaceDef(Arts::InterfaceDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts12InterfaceDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0x4c): In function `std::vector<Arts::InterfaceDef, std::allocator<Arts::InterfaceDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::InterfaceDef*, std::vector<Arts::InterfaceDef, std::allocator<Arts::InterfaceDef> > >, Arts::InterfaceDef const&)': : undefined reference to `Arts::InterfaceDef::InterfaceDef(Arts::InterfaceDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts12InterfaceDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0xc9): In function `std::vector<Arts::InterfaceDef, std::allocator<Arts::InterfaceDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::InterfaceDef*, std::vector<Arts::InterfaceDef, std::allocator<Arts::InterfaceDef> > >, Arts::InterfaceDef const&)': : undefined reference to `Arts::InterfaceDef::operator=(Arts::InterfaceDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt10_ConstructIN4Arts12AttributeDefES1_EvPT_RKT0_+0x30): In function `void std::_Construct<Arts::AttributeDef, Arts::AttributeDef>(Arts::AttributeDef*, Arts::AttributeDef const&)': : undefined reference to `Arts::AttributeDef::AttributeDef(Arts::AttributeDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts12AttributeDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0x4a): In function `std::vector<Arts::AttributeDef, std::allocator<Arts::AttributeDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::AttributeDef*, std::vector<Arts::AttributeDef, std::allocator<Arts::AttributeDef> > >, Arts::AttributeDef const&)': : undefined reference to `Arts::AttributeDef::AttributeDef(Arts::AttributeDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts12AttributeDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0xc5): In function `std::vector<Arts::AttributeDef, std::allocator<Arts::AttributeDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::AttributeDef*, std::vector<Arts::AttributeDef, std::allocator<Arts::AttributeDef> > >, Arts::AttributeDef const&)': : undefined reference to `Arts::AttributeDef::operator=(Arts::AttributeDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt10_ConstructIN4Arts9MethodDefES1_EvPT_RKT0_+0x30): In function `void std::_Construct<Arts::MethodDef, Arts::MethodDef>(Arts::MethodDef*, Arts::MethodDef const&)': : undefined reference to `Arts::MethodDef::MethodDef(Arts::MethodDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts9MethodDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0x4c): In function `std::vector<Arts::MethodDef, std::allocator<Arts::MethodDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::MethodDef*, std::vector<Arts::MethodDef, std::allocator<Arts::MethodDef> > >, Arts::MethodDef const&)': : undefined reference to `Arts::MethodDef::MethodDef(Arts::MethodDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts9MethodDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0xc7): In function `std::vector<Arts::MethodDef, std::allocator<Arts::MethodDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::MethodDef*, std::vector<Arts::MethodDef, std::allocator<Arts::MethodDef> > >, Arts::MethodDef const&)': : undefined reference to `Arts::MethodDef::operator=(Arts::MethodDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt10_ConstructIN4Arts8ParamDefES1_EvPT_RKT0_+0x30): In function `void std::_Construct<Arts::ParamDef, Arts::ParamDef>(Arts::ParamDef*, Arts::ParamDef const&)': : undefined reference to `Arts::ParamDef::ParamDef(Arts::ParamDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts8ParamDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0x49): In function `std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::ParamDef*, std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> > >, Arts::ParamDef const&)': : undefined reference to `Arts::ParamDef::ParamDef(Arts::ParamDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts8ParamDefESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0xc4): In function `std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::ParamDef*, std::vector<Arts::ParamDef, std::allocator<Arts::ParamDef> > >, Arts::ParamDef const&)': : undefined reference to `Arts::ParamDef::operator=(Arts::ParamDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt10_ConstructIN4Arts13EnumComponentES1_EvPT_RKT0_+0x30): In function `void std::_Construct<Arts::EnumComponent, Arts::EnumComponent>(Arts::EnumComponent*, Arts::EnumComponent const&)': : undefined reference to `Arts::EnumComponent::EnumComponent(Arts::EnumComponent const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts13EnumComponentESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0x49): In function `std::vector<Arts::EnumComponent, std::allocator<Arts::EnumComponent> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::EnumComponent*, std::vector<Arts::EnumComponent, std::allocator<Arts::EnumComponent> > >,Arts::EnumComponent const&)': : undefined reference to `Arts::EnumComponent::EnumComponent(Arts::EnumComponent const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts13EnumComponentESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0xc4): In function `std::vector<Arts::EnumComponent, std::allocator<Arts::EnumComponent> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::EnumComponent*, std::vector<Arts::EnumComponent, std::allocator<Arts::EnumComponent> > >,Arts::EnumComponent const&)': : undefined reference to `Arts::EnumComponent::operator=(Arts::EnumComponent const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt10_ConstructIN4Arts13TypeComponentES1_EvPT_RKT0_+0x30): In function `void std::_Construct<Arts::TypeComponent, Arts::TypeComponent>(Arts::TypeComponent*, Arts::TypeComponent const&)': : undefined reference to `Arts::TypeComponent::TypeComponent(Arts::TypeComponent const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts13TypeComponentESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0x49): In function `std::vector<Arts::TypeComponent, std::allocator<Arts::TypeComponent> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::TypeComponent*, std::vector<Arts::TypeComponent, std::allocator<Arts::TypeComponent> > >,Arts::TypeComponent const&)': : undefined reference to `Arts::TypeComponent::TypeComponent(Arts::TypeComponent const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZNSt6vectorIN4Arts13TypeComponentESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_+0xc4): In function `std::vector<Arts::TypeComponent, std::allocator<Arts::TypeComponent> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Arts::TypeComponent*, std::vector<Arts::TypeComponent, std::allocator<Arts::TypeComponent> > >,Arts::TypeComponent const&)': : undefined reference to `Arts::TypeComponent::operator=(Arts::TypeComponent const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt15__copy_backwardIPN4Arts7EnumDefES2_ET0_T_S4_S3_St26random_access_iterator_tag+0x34): In function `Arts::EnumDef* std::__copy_backward<Arts::EnumDef*, Arts::EnumDef*>(Arts::EnumDef*, Arts::EnumDef*, Arts::EnumDef*, std::random_access_iterator_tag)': : undefined reference to `Arts::EnumDef::operator=(Arts::EnumDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt15__copy_backwardIPN4Arts7TypeDefES2_ET0_T_S4_S3_St26random_access_iterator_tag+0x34): In function `Arts::TypeDef* std::__copy_backward<Arts::TypeDef*, Arts::TypeDef*>(Arts::TypeDef*, Arts::TypeDef*, Arts::TypeDef*, std::random_access_iterator_tag)': : undefined reference to `Arts::TypeDef::operator=(Arts::TypeDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt15__copy_backwardIPN4Arts12InterfaceDefES2_ET0_T_S4_S3_St26random_access_iterator_tag+0x3a): In function `Arts::InterfaceDef* std::__copy_backward<Arts::InterfaceDef*, Arts::InterfaceDef*>(Arts::InterfaceDef*, Arts::InterfaceDef*, Arts::InterfaceDef*, std::random_access_iterator_tag)': : undefined reference to `Arts::InterfaceDef::operator=(Arts::InterfaceDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt15__copy_backwardIPN4Arts12AttributeDefES2_ET0_T_S4_S3_St26random_access_iterator_tag+0x3a): In function `Arts::AttributeDef* std::__copy_backward<Arts::AttributeDef*, Arts::AttributeDef*>(Arts::AttributeDef*, Arts::AttributeDef*, Arts::AttributeDef*, std::random_access_iterator_tag)': : undefined reference to `Arts::AttributeDef::operator=(Arts::AttributeDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt15__copy_backwardIPN4Arts9MethodDefES2_ET0_T_S4_S3_St26random_access_iterator_tag+0x3a): In function `Arts::MethodDef* std::__copy_backward<Arts::MethodDef*, Arts::MethodDef*>(Arts::MethodDef*, Arts::MethodDef*, Arts::MethodDef*, std::random_access_iterator_tag)': : undefined reference to `Arts::MethodDef::operator=(Arts::MethodDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt15__copy_backwardIPN4Arts8ParamDefES2_ET0_T_S4_S3_St26random_access_iterator_tag+0x3a): In function `Arts::ParamDef* std::__copy_backward<Arts::ParamDef*, Arts::ParamDef*>(Arts::ParamDef*, Arts::ParamDef*, Arts::ParamDef*, std::random_access_iterator_tag)': : undefined reference to `Arts::ParamDef::operator=(Arts::ParamDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt15__copy_backwardIPN4Arts13EnumComponentES2_ET0_T_S4_S3_St26random_access_iterator_tag+0x3a): In function `Arts::EnumComponent* std::__copy_backward<Arts::EnumComponent*, Arts::EnumComponent*>(Arts::EnumComponent*, Arts::EnumComponent*, Arts::EnumComponent*, std::random_access_iterator_tag)': : undefined reference to `Arts::EnumComponent::operator=(Arts::EnumComponent const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt6__copyIPN4Arts12AttributeDefES2_ET0_T_S4_S3_St26random_access_iterator_tag+0x2e): Infunction `Arts::AttributeDef* std::__copy<Arts::AttributeDef*, Arts::AttributeDef*>(Arts::AttributeDef*, Arts::AttributeDef*, Arts::AttributeDef*, std::random_access_iterator_tag)': : undefined reference to `Arts::AttributeDef::operator=(Arts::AttributeDef const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZSt15__copy_backwardIPN4Arts13TypeComponentES2_ET0_T_S4_S3_St26random_access_iterator_tag+0x3a): In function `Arts::TypeComponent* std::__copy_backward<Arts::TypeComponent*, Arts::TypeComponent*>(Arts::TypeComponent*, Arts::TypeComponent*, Arts::TypeComponent*, std::random_access_iterator_tag)': : undefined reference to `Arts::TypeComponent::operator=(Arts::TypeComponent const&)' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts9ModuleDefD1Ev+0xb): In function `Arts::ModuleDef::~ModuleDef()': : undefined reference to `vtable for Arts::ModuleDef' mcopidl.all_cc.o(.gnu.linkonce.t._ZN4Arts9ModuleDefD1Ev+0x5c): In function `Arts::ModuleDef::~ModuleDef()': : undefined reference to `Arts::Type::~Type()' collect2: ld returned 1 exit status distcc[5356] ERROR: compile (null) on localhost failed make[2]: *** [mcopidl] Error 1 make[2]: Leaving directory `/var/tmp/portage/arts-1.3.2/work/arts-1.3.2/mcopidl' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/arts-1.3.2/work/arts-1.3.2' make: *** [all] Error 2
Have you tried wothout "-fvisibility-inlines-hidden -fvisibility=hidden" in CXXFLAGS?
I upgraded to kde 3.4.0 and arts 3.4.0 installs fine with these CFLAGS: CFLAGS="-march=pentium4 -pipe -O2" CXXFLAGS="${CFLAGS}" Should be my compiler settings then. :o
-fvisibility=hidden MUST NOT BE ADDED TO CFLAGS. It'll give problems with ALL the programs that don't export symbols and only the programs made to support them should set it by themself.
Closing.