Even Google couldn't find anyone in a similar predicament, so I present here a bug I have not the solution for. Different USE flags might work - I haven't tried too many combinations yet - but the point is that it dies with these specific ones. emerge tries to build this: [ebuild N ] net-libs/ptlib-2.6.2 USE="alsa asn audio dns esd ffmpeg ftp http ipv6 jabber ldap mail odbc oss pch pipechan qos remote sdl soap ssl stun tts url v4l v4l2 video video-file wav xml xmlrpc -config-file -debug -doc -dtmf -examples -http-forms -http-server -ieee1394 -sasl -serial -shmvideo -snmp -socks -telnet -vxml" 0 kB [0] ...and everything goes fine until this: i686-pc-linux-gnu-g++ -I/var/tmp/portage/net-libs/ptlib-2.6.2/work/ptlib-2.6.2/include -DPTRACING=0 -DPASN_NOPRINTON -DPASN_LEANANDMEAN -D_REENTRANT -I/usr/kerberos/include -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -Os -felide-constructors -Wreorder -O2 -mtune=prescott -pipe -c ptlib/unix/remconn.cxx -o /var/tmp/portage/net-libs/ptlib-2.6.2/work/ptlib-2.6.2/lib_linux_x86/obj/remconn.o ptlib/unix/pipechan.cxx: In member function ‘PBoolean PPipeChannel::PlatformOpen(const PString&, const PStringArray&, PPipeChannel::OpenMode, PBoolean, PBoolean, const PStringToString*)’: ptlib/unix/pipechan.cxx:145: warning: ignoring return value of ‘int dup(int)’, declared with attribute warn_unused_result ptlib/unix/pipechan.cxx:152: warning: ignoring return value of ‘int dup(int)’, declared with attribute warn_unused_result ptlib/unix/pipechan.cxx:160: warning: ignoring return value of ‘int dup(int)’, declared with attribute warn_unused_result ptlib/unix/pipechan.cxx:163: warning: ignoring return value of ‘int dup(int)’, declared with attribute warn_unused_result ptlib/unix/pipechan.cxx:170: warning: ignoring return value of ‘int dup(int)’, declared with attribute warn_unused_result ptlib/unix/pipechan.cxx:173: warning: ignoring return value of ‘int dup(int)’, declared with attribute warn_unused_result ptlib/unix/pipechan.cxx:178: warning: ignoring return value of ‘int dup(int)’, declared with attribute warn_unused_result ptlib/unix/remconn.cxx: In member function ‘PBoolean PRemoteConnection::Open(const PString&, const PString&, const PString&, PBoolean)’: ptlib/unix/remconn.cxx:150: error: ‘PConfig’ was not declared in this scope ptlib/unix/remconn.cxx:150: error: expected `;' before ‘config’ ptlib/unix/remconn.cxx:152: error: ‘config’ was not declared in this scope ptlib/unix/remconn.cxx:182: error: ‘config’ was not declared in this scope ptlib/unix/remconn.cxx: In static member function ‘static PStringArray PRemoteConnection::GetAvailableNames()’: ptlib/unix/remconn.cxx:350: error: ‘PConfig’ was not declared in this scope ptlib/unix/remconn.cxx:350: error: expected `;' before ‘config’ ptlib/unix/remconn.cxx:354: error: ‘config’ was not declared in this scope ptlib/unix/remconn.cxx: In static member function ‘static PRemoteConnection::Status PRemoteConnection::GetConfiguration(const PString&, PRemoteConnection::Configuration&)’: ptlib/unix/remconn.cxx:413: error: ‘PConfig’ was not declared in this scope ptlib/unix/remconn.cxx:413: error: expected `;' before ‘cfg’ ptlib/unix/remconn.cxx:414: error: ‘cfg’ was not declared in this scope ptlib/unix/remconn.cxx:417: error: ‘cfg’ was not declared in this scope ptlib/unix/remconn.cxx: In static member function ‘static PRemoteConnection::Status PRemoteConnection::SetConfiguration(const PString&, const PRemoteConnection::Configuration&, PBoolean)’: ptlib/unix/remconn.cxx:449: error: ‘PConfig’ was not declared in this scope ptlib/unix/remconn.cxx:449: error: expected `;' before ‘cfg’ ptlib/unix/remconn.cxx:451: error: ‘cfg’ was not declared in this scope ptlib/unix/remconn.cxx:454: error: ‘cfg’ was not declared in this scope ptlib/unix/remconn.cxx: In static member function ‘static PRemoteConnection::Status PRemoteConnection::RemoveConfiguration(const PString&)’: ptlib/unix/remconn.cxx:486: error: ‘PConfig’ was not declared in this scope ptlib/unix/remconn.cxx:486: error: expected `;' before ‘cfg’ ptlib/unix/remconn.cxx:488: error: ‘cfg’ was not declared in this scope ptlib/unix/remconn.cxx:491: error: ‘cfg’ was not declared in this scope make[2]: *** [/var/tmp/portage/net-libs/ptlib-2.6.2/work/ptlib-2.6.2/lib_linux_x86/obj/remconn.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/net-libs/ptlib-2.6.2/work/ptlib-2.6.2/src' make[1]: *** [optshared] Error 2 make[1]: Leaving directory `/var/tmp/portage/net-libs/ptlib-2.6.2/work/ptlib-2.6.2/src' make: *** [optshared] Error 2
It is because USE="remote" looks to need USE="config-file". I've updated the ebuild to die if USE="remote -config-file" and I filed a bug upstream [1] If you don't like this way of doing (die when USE flags conflicts), please, yell at bug 276475. Thanks for reporting :) [1] https://sourceforge.net/tracker/?func=detail&aid=2820953&group_id=204472&atid=989748