Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 339298 - =media-gfx/graphviz-2.26.3-r2 fails to compile with sys-devel/libtool-2.4
Summary: =media-gfx/graphviz-2.26.3-r2 fails to compile with sys-devel/libtool-2.4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Graphics Project
URL: http://www.graphviz.org/bugs/b2050.html
Whiteboard:
Keywords:
: 346943 349153 376029 (view as bug list)
Depends on:
Blocks: libtool-2.4
  Show dependency tree
 
Reported: 2010-09-30 23:00 UTC by Samuli Suominen (RETIRED)
Modified: 2011-07-22 18:23 UTC (History)
13 users (show)

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


Attachments
build.log (media-gfx:graphviz-2.26.3-r2:20100930-225942.log,59.88 KB, text/plain)
2010-09-30 23:01 UTC, Samuli Suominen (RETIRED)
Details
Make *sure* only system copy is used (graphviz-2.26.3-r2.ebuild.patch,1.26 KB, patch)
2010-10-05 21:01 UTC, Samuli Suominen (RETIRED)
Details | Diff
For prev. attached ebuild (graphviz-2.26.3-libtool.patch,2.08 KB, patch)
2010-10-05 21:01 UTC, Samuli Suominen (RETIRED)
Details | Diff
gvcext.h conflicts w/ /usr/include/ltdl.h (graphviz-2.26.3-gvcext.patch,516 bytes, patch)
2010-11-15 22:51 UTC, Jimmy.Jazz
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Samuli Suominen (RETIRED) gentoo-dev 2010-09-30 23:00:49 UTC
Looks like graphviz is coming with internal copy of libtool's libltdl, and is still using it's headers and conflicting with system copy:

In file included from ../../lib/common/types.h:36:0,
                 from gvplugin.c:27:
./gvcext.h:83:22: error: conflicting types for 'lt__PROGRAM__LTX_preloaded_symbols'
../../libltdl/ltdl.h:106:36: note: previous declaration of 'lt__PROGRAM__LTX_preloaded_symbols' was here

Portage 2.2_rc88 (default/linux/amd64/10.0/developer, gcc-4.5.1, glibc-2.12.1-r1, 2.6.34 x86_64)
=================================================================
System uname: Linux-2.6.34-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q8200_@_2.33GHz-with-gentoo-2.0.1
Timestamp of tree: Unknown
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r3
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.3
sys-apps/sandbox:    2.3-r1
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.4_p6-r1, 1.7.9-r2, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.5.1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.4
sys-devel/make:      3.82
virtual/os-headers:  2.6.35 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -msse4.1 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -msse4.1 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FEATURES="assume-digests binpkg-logs collision-protect distlocks fixlafiles fixpackages multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed"
LINGUAS="en"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
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="/home/ssuominen/gentoo-x86"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2010-09-30 23:01:14 UTC
Created attachment 249121 [details]
build.log
Comment 2 John Ellson 2010-10-05 19:51:39 UTC
I believe I have this bug fixed in the upstream graphviz sources.

cvs diff -r1.116 -r1.117 lib/gvc/Makefile.am

Basically, $(INCLTDL) is sufficient, and -I$(top_srcdir)/libltdl causes the problem:

@@ -18,8 +18,7 @@
 	-I$(top_srcdir)/lib/pathplan \
 	-I$(top_srcdir)/lib/$(GRAPH) \
 	-I$(top_srcdir)/lib/cdt \
-	$(INCLTDL) -I$(top_srcdir)/libltdl \
-	-DGVLIBDIR=\"$(pkglibdir)\"
+	$(INCLTDL) -DGVLIBDIR=\"$(pkglibdir)\"
 
 if WITH_WIN32
 AM_CFLAGS = -D_BLD_gvc=1
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2010-10-05 20:09:51 UTC
(In reply to comment #2)
> I believe I have this bug fixed in the upstream graphviz sources.

To put that in one-liner sed:

sed -i -e 's:-I$(top_srcdir)/libltdl::' lib/gvc/Makefile.am || die #339298

in src_prepare() of the ebuild

It doesn't solve the issue. It looks like the ebuild is already going great lenghts to avoid using the internal copy already, before this bug:

# This is an old version of libtool
rm -rf libltdl
sed -i -e '/libltdl/d' configure.ac || die
sed -i -e 's/AC_LIBLTDL_CONVENIENCE/AC_LIBLTDL_INSTALLABLE/' configure.ac || die

And then runs eautoreconf on the package, which seems to create the libltdl directory again... sigh.

Configures the package with --disable-ltdl-install to avoid the package to install the bundled libltdl to system, then --enable-ltdl to enable ltdl for use.

What a mess...
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2010-10-05 21:01:30 UTC
Created attachment 249672 [details, diff]
Make *sure* only system copy is used

This with next attachment -libtool.patch will ensure only *system* copy is used, and it still fails with:

In file included from ../../lib/common/types.h:36:0,
                 from gvplugin.c:27:
./gvcext.h:83:22: error: conflicting types for 'lt__PROGRAM__LTX_preloaded_symbols'
/usr/include/ltdl.h:106:36: note: previous declaration of 'lt__PROGRAM__LTX_preloaded_symbols' was here

(I'm not suggesting to use this in Portage, only making a point that the error happens regardless. There's something wrong in gvcext.h itself with libtool-2.4, imho.)
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2010-10-05 21:01:50 UTC
Created attachment 249673 [details, diff]
For prev. attached ebuild
Comment 6 Jimmy.Jazz 2010-11-15 22:51:10 UTC
Created attachment 254443 [details, diff]
gvcext.h conflicts w/ /usr/include/ltdl.h

You have missed that one :)
Comment 7 Robert Cabrera 2010-11-17 08:08:08 UTC
Graphviz did not build for me on my ~x86 laptop until I used Samuli's patches AND Jimmy Jazz's patch together. I hope this helps.
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2010-11-17 16:24:43 UTC
(In reply to comment #2)
> I believe I have this bug fixed in the upstream graphviz sources.
> 
> cvs diff -r1.116 -r1.117 lib/gvc/Makefile.am
> 
> Basically, $(INCLTDL) is sufficient, and -I$(top_srcdir)/libltdl causes the
> problem:
> 
> @@ -18,8 +18,7 @@
>         -I$(top_srcdir)/lib/pathplan \
>         -I$(top_srcdir)/lib/$(GRAPH) \
>         -I$(top_srcdir)/lib/cdt \
> -       $(INCLTDL) -I$(top_srcdir)/libltdl \
> -       -DGVLIBDIR=\"$(pkglibdir)\"
> +       $(INCLTDL) -DGVLIBDIR=\"$(pkglibdir)\"
> 
>  if WITH_WIN32
>  AM_CFLAGS = -D_BLD_gvc=1
> 

I've included this change, plus the change from Comment #6 and it seems to work now.

+*graphviz-2.26.3-r3 (17 Nov 2010)
+
+  17 Nov 2010; Samuli Suominen <ssuominen@gentoo.org>
+  +graphviz-2.26.3-r3.ebuild, +files/graphviz-2.26.3-libtool.patch:
+  Fix building with libtool >= 2.4 wrt #339298 by John Ellson and Jimmy
+  Jazz.
Comment 9 Samuli Suominen (RETIRED) gentoo-dev 2010-11-27 12:19:18 UTC
*** Bug 346943 has been marked as a duplicate of this bug. ***
Comment 10 Samuli Suominen (RETIRED) gentoo-dev 2011-01-02 07:58:24 UTC
*** Bug 349153 has been marked as a duplicate of this bug. ***
Comment 11 Anthony Basile gentoo-dev 2011-07-22 18:23:12 UTC
*** Bug 376029 has been marked as a duplicate of this bug. ***