There is an error in abiword-plugins-2.6.0.ebuild:
app-office/abiword-plugins-2.6.0 ALWAYS depends on dev-libs/boost, but
according to the ebuild, there is only a dependency with USE="cxx":
cxx? ( >=dev-libs/boost-1.33.1 )
So if you have a system without dev-libs/boost and you try to emerge
app-office/abiword-plugins-2.6.0 with USE="-cxx", compilation fails:
i686-pc-linux-gnu-g++ -DPACKAGE_NAME=\"abiword-plugins\"
-DPACKAGE_TARNAME=\"abiword-plugins\" -DPACKAGE_VERSION=\"2.6.0\"
"-DPACKAGE_STRING=\"abiword-plugins 2.6.0\""
-DPACKAGE_BUGREPORT=\"http://bugzilla.abisource.com/\" -DSTDC_HEADERS=1
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
-DHAVE_UNISTD_H=1 -DHAVE_STRINGS_H=1 -DPACKAGE=\"abiword-plugins\"
-DVERSION=\"2.6.0\" -DHAVE_DLFCN_H=1 -DENABLE_PRINT=1 -DHAVE_SYS_WAIT_H=1
-DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -I. -I. -I./../../imp/xp -DNDEBUG
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/af/util/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/af/util/unix
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/af/xap/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/af/ev/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/af/gr/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/text/fmt/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/text/ptbl/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/wp/impexp/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/wp/ap/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/other/spell/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/other/fribidi/xp
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/other/ttftool/unix
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/af/xap/unix
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/af/ev/unix
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/af/gr/unix
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/text/fmt/unix
-I/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0/src/wp/ap/unix
-DABI_PLUGIN_VERSION=\"2.6.0\" -DABI_PLUGIN_MAJOR=2 -DABI_PLUGIN_MINOR=6
-DABI_PLUGIN_MICRO=0 -DABI_PLUGIN_SOURCE=1 -I/usr/include/freetype2
-I/usr/include/fribidi -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/libgsf-1 -I/usr/include/libxml2 -I/usr/include/gtk-2.0
-I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/libpng12 -I/usr/include/libglade-2.0
-march=pentium4 -O2 -pipe -fomit-frame-pointer -MT OXML_Element_Text.lo -MD -MP
-MF .deps/OXML_Element_Text.Tpo -c OXML_Element_Text.cpp -fPIC -DPIC -o
.libs/OXML_Element_Text.o
In file included from ./OXML_Element.h:29,
from OXML_Element.cpp:24:
./OXML_Style.h:36:32: error: boost/shared_ptr.hpp: No such file or directory
In file included from ./OXML_Element.h:29,
from ./OXML_Element_Text.h:27,
from OXML_Element_Text.cpp:24:
./OXML_Style.h:36:32: error: boost/shared_ptr.hpp: No such file or directory
./OXML_Style.h:68: error: 'boost' has not been declared
./OXML_Style.h:68: error: expected initializer before '<' token
./OXML_Element.h:44: error: 'boost' has not been declared./OXML_Style.h:68:
error: 'boost' has not been declared
./OXML_Element.h:44: error: expected initializer before '<' token
./OXML_Style.h:68: error: expected initializer before '<'
token./OXML_Element.h:45: error: 'OXML_SharedElement' was not declared in this
scope
./OXML_Element.h:45: error: template argument 1 is invalid
./OXML_Element.h:45: error: template argument 2 is invalid
./OXML_Element.h:45: error: invalid type in declaration before ';' token
./OXML_Element.h:70: error: expected ',' or '...' before '&' token
./OXML_Element.h:70: error: ISO C++ forbids declaration of 'OXML_SharedElement'
with no type
./OXML_Element.h:70: error: 'bool operator==(int)' must have an argument of
class or enumerated type
./OXML_Element.h:70: error: 'bool operator==(int)' must take exactly two
arguments
./OXML_Element.h:72: error: 'OXML_SharedElement' does not name a type
./OXML_Element.h:73: error: 'OXML_SharedElement' has not been declared
./OXML_Element.h: In function 'bool operator==(int)':
./OXML_Element.h:70: error: 'lhs' was not declared in this scope
./OXML_Element.h:70: error: 'id' was not declared in this scope
./OXML_Element.h: At global scope:
./OXML_Element.h:109: error: 'OXML_SharedStyle' was not declared in this scope
./OXML_Element.h:109: error: template argument 2 is invalid
./OXML_Element.h:109: error: template argument 4 is invalid
./OXML_Element.h:109: error: invalid type in declaration before ';' token
OXML_Element.cpp: In constructor 'OXML_Element::OXML_Element(std::string,
OXML_ElementTag, OXML_ElementType)':
OXML_Element.cpp:44: error: request for member 'clear' in
'((OXML_Element*)this)->OXML_Element::m_children', which is of non-class type
'OXML_ElementVector'
OXML_Element.cpp: At global scope:
OXML_Element.cpp:57: error: 'OXML_SharedElement' does not name a type
OXML_Element.cpp:64: error: 'UT_Error OXML_Element::appendElement' is not a
static member of 'class OXML_Element'
OXML_Element.cpp:64: error: 'OXML_SharedElement' was not declared in this scope
OXML_Element.cpp:65: error: expected ',' or ';' before '{' token
OXML_Element.cpp: In member function 'UT_Error OXML_Element::clearChildren()':
OXML_Element.cpp:79: error: request for member 'clear' in
'((OXML_Element*)this)->OXML_Element::m_children', which is of non-class type
'OXML_ElementVector'
OXML_Element.cpp:80: error: request for member 'size' in
'((OXML_Element*)this)->OXML_Element::m_children', which is of non-class type
'OXML_ElementVector'
OXML_Element.cpp: In member function 'UT_Error
OXML_Element::serializeChildren(std::string)':
OXML_Element.cpp:87: error: expected initializer before 'i'
OXML_Element.cpp:88: error: 'i' was not declared in this scope
OXML_Element.cpp:88: error: request for member 'size' in
'((OXML_Element*)this)->OXML_Element::m_children', which is of non-class type
'OXML_ElementVector'
OXML_Element.cpp: In member function 'UT_Error
OXML_Element::addChildrenToPT(PD_Document*)':
OXML_Element.cpp:114: error: request for member 'size' in
'((OXML_Element*)this)->OXML_Element::m_children', which is of non-class type
'OXML_ElementVector'
OXML_Element.cpp:116: error: invalid types 'OXML_ElementVector[size_t]' for
array subscript
make[5]: *** [OXML_Element.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
./OXML_Element.h:44: error: 'boost' has not been declared
./OXML_Element.h:44: error: expected initializer before '<' token
./OXML_Element.h:45: error: 'OXML_SharedElement' was not declared in this scope
./OXML_Element.h:45: error: template argument 1 is invalid
./OXML_Element.h:45: error: template argument 2 is invalid
./OXML_Element.h:45: error: invalid type in declaration before ';' token
./OXML_Element.h:70: error: expected ',' or '...' before '&' token
./OXML_Element.h:70: error: ISO C++ forbids declaration of 'OXML_SharedElement'
with no type
./OXML_Element.h:70: error: 'bool operator==(int)' must have an argument of
class or enumerated type
./OXML_Element.h:70: error: 'bool operator==(int)' must take exactly two
arguments
./OXML_Element.h:72: error: 'OXML_SharedElement' does not name a type
./OXML_Element.h:73: error: 'OXML_SharedElement' has not been declared
./OXML_Element.h: In function 'bool operator==(int)':
./OXML_Element.h:70: error: 'lhs' was not declared in this scope
./OXML_Element.h:70: error: 'id' was not declared in this scope
./OXML_Element.h: At global scope:
./OXML_Element.h:109: error: 'OXML_SharedStyle' was not declared in this scope
./OXML_Element.h:109: error: template argument 2 is invalid
./OXML_Element.h:109: error: template argument 4 is invalid
./OXML_Element.h:109: error: invalid type in declaration before ';' token
make[5]: *** [OXML_Element_Text.lo] Error 1
make[5]: Leaving directory
`/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-plugins-2.6.0/wp/impexp/OpenXML/common/xp'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory
`/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-plugins-2.6.0/wp/impexp/OpenXML/common'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-plugins-2.6.0/wp/impexp/OpenXML'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-plugins-2.6.0/wp/impexp'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-plugins-2.6.0/wp'
make: *** [all-recursive] Error 1
*
* ERROR: app-office/abiword-plugins-2.6.0 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 2054: Called die
* The specific snippet of code:
* emake || die "Compilation failed"
* The die message:
* Compilation failed
*
* If you need support, post the topmost build error, and the call stack if
relevant.
* A complete build log is located at
'/var/tmp/portage/app-office/abiword-plugins-2.6.0/temp/build.log'.
* The ebuild environment file is located at
'/var/tmp/portage/app-office/abiword-plugins-2.6.0/temp/environment'.
*
Reproducible: Always
emerge -pvt app-office/abiword app-office/abiword-plugins
These are the packages that would be merged, in reverse order:
Calculating dependencies... done!
[ebuild N ] app-office/abiword-plugins-2.6.0 USE="bzip2 jpeg pdf readline
svg wmf -cxx -debug -gnome -grammar -jabber -libgda -math -ots -thesaurus
-wordperfect" 0 kB
[ebuild R ] app-office/abiword-2.6.0 USE="spell xml -debug -gnome" 0 kB
Total: 2 packages (1 new, 1 reinstall), Size of downloads: 0 kB
emerge --info
Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0,
2.6.25-rc7 i686)
=================================================================
System uname: 2.6.25-rc7 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz
Timestamp of tree: Fri, 04 Apr 2008 20:03:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
app-shells/bash: 3.2_p17-r1
dev-java/java-config: 1.3.7, 2.1.5
dev-lang/python: 2.4.4-r9
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox: 1.2.18.1-r2
sys-devel/autoconf: 2.13, 2.61-r1
sys-devel/automake: 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils: 2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool: 1.5.26
virtual/os-headers: 2.6.24
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf
/etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/
/etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo
/etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans
userfetch"
GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo
http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/
ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo
ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo "
LINGUAS="en de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --stats --timeout=180 --exclude=/distfiles
--exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="7zip X aac acpi addbookmarks additions aiglx alias alsa amuled asf
autoreplace bash-completion batch berkdb bluetooth boost branding bzip2 cairo
cdinstall cdr cdrom cli connectionstatus contactnotes cracklib crypt cups dbus
divx dri dv dvd dvdr dvdread eds emovix enblend encode evo exif fam fbsplash
ffmpeg firefox flac gd gdbm gif gimp gimpprint glitz gphoto2 gpm gs gstreamer
gtk hal highlight history iconv ieee1394 imagemagick insecure-savers ipod irc
isdnlog java jbig jpeg kde kdeenablefinal kipi lame latex libnotify live
logitech-mouse logrotate mad matroska midi mikmod mjpeg mmx mozbranding mp3 mp4
mp4live mpeg mplayer mudflap ncurses nls nowlistening nptl nptlonly nsplugin
ntfs obex ogg oggvorbis opengl openmp pam pcre pdf perl plotutils png pppd
python qt-static qt3 qt3support qt4 quicktime rar readline real realmedia
reflection reiser4 reiserfs remote ruby samba scanner sdl sensord session slang
slp sms source spell spl sse sse2 ssl statistics stats stream subtitles svg
tcltk tcpd tetex texteffect theora threads tiff truetype unicode usb vcd vidix
vorbis webpresence win32codecs wmf wmp wxwindows x264 x86 xcomposite xine
xinerama xml xorg xosd xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp
atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968
fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx
via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop
empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi
null plug rate route share shm softvol" APACHE2_MODULES="actions alias
auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm
authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache
dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache
filter headers include info log_config logio mem_cache mime mime_magic
negotiation rewrite setenvif speling status unique_id userdir usertrack
vhost_alias" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="keyboard mouse"
KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001
mtxorb ncurses text" LINGUAS="en de" LIRC_DEVICES="mceusb2" USERLAND="GNU"
VIDEO_CARDS="radeon vesa"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL,
LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS,
PORTDIR_OVERLAY
the plugins checks are broken, they automagically detect most dependencies but
it should still work fine for boost detection.
What happens if you have USE="-wmf" ?
I have USE="bzip2 gnome jabber jpeg pdf readline svg" and it builds fine with
boost installed and USE="-cxx".
USE="-bzip2* -cxx% -debug -gnome -grammar -jabber% -jpeg* -libgda -math -ots
-pdf* -readline* -svg* -thesaurus -wmf* -wordperfect" emerge
=app-office/abiword-plugins-2.6.0
...
> In file included from ./OXML_Element.h:29,
> from OXML_Element.cpp:24:
> ./OXML_Style.h:36:32: error: boost/shared_ptr.hpp: No such file or directory
> ./OXML_Style.h:68: error: 'boost' has not been declared
> ./OXML_Style.h:68: error: expected initializer before '<' token
...
The ./configure looks good with "--without-boost" in it:
./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --enable-all
--with-abiword=/var/tmp/portage/app-office/abiword-plugins-2.6.0/work/abiword-2.6.0
--without-boost --disable-debug --with-bz2abw --without-abigoffice
--without-abigrammar --without-abicollab --with-jpeg --without-gda
--without-abimathview --without-ots --with-pdf --with-abicommand --with-librsvg
--without-aiksaurus --with-wmf --without-wordperfect --without-psion
--libdir=/usr/lib64 --build=x86_64-pc-linux-gnu
Have a look at wp/impexp/OpenXML/common/xp/, there are a lot of headers which
include <boost/*> files
(In reply to comment #2)
>
>
> Have a look at wp/impexp/OpenXML/common/xp/, there are a lot of headers which
> include <boost/*> files
>
As a workaround it builds when you pass also --without-OpenXML to configure.
Maybe this could be used in the ebuild together with the cxx USE flag. But I
think as well that in principle it's an upstream bug.
AFAIK the tcp component of abicollab depends on boost as well
(ABICOLLAB_TCP_LIBS="$BOOST_THREAD_LIB" from abicollab's plugin.m4).
However, currently the abicollab tcp backend doesn't really build anyway
because of a missing dep on dev-cpp/asio (boost 1.35.0 includes asio).
Perhaps a EAPI=1 +cxx USE-flag would be in order?