Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 216245 - app-office/abiword-plugins-2.6.0 dependency issue (dev-libs/boost)
Summary: app-office/abiword-plugins-2.6.0 dependency issue (dev-libs/boost)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: GNOME Office (OBSOLETE)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-04 21:53 UTC by Christian Merkle
Modified: 2010-09-03 15:17 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Merkle 2008-04-04 21:53:22 UTC
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
Comment 1 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-04-04 23:50:30 UTC
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".
Comment 2 Christian Merkle 2008-04-05 10:54:56 UTC
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
Comment 3 Christian Merkle 2008-04-05 12:03:31 UTC
1.) Maybe app-office/abiword-plugins could also use the "boost" USeflag to enable/disable boost support

2.) I wrote a bug to the abiword bugzilla: http://bugzilla.abisource.com/show_bug.cgi?id=11520
Comment 4 Walter Meinl 2008-04-05 13:52:00 UTC
(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.
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-04-05 15:10:39 UTC
which version of boost and libgsf do you have btw ? I'm going with the cxx -> openxml solution because it is indeed a dep to enable the plugin as stated in plugin.m4.
Comment 6 srrijkers 2008-04-05 15:39:43 UTC
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?
Comment 7 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-04-05 16:00:46 UTC
asio won't be added to the deps anyway, see bug #216182 for that. If you have it installed it will probably be autodetected even though with -cxx it shouldn't.
Comment 8 Pacho Ramos gentoo-dev 2010-08-24 12:21:36 UTC
Looks like app-office/abiword-2.8.6 ebuild only depends on boost when affected plugins are enabled, would this be solved then? 
Comment 9 Pacho Ramos gentoo-dev 2010-09-03 15:17:51 UTC
(In reply to comment #8)
> Looks like app-office/abiword-2.8.6 ebuild only depends on boost when affected
> plugins are enabled, would this be solved then? 
> 

Feel free to reopen if not :-)