Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 36493 - dev-perl/XML-LibXML-1.56 compile error (dep of "snownews")
Summary: dev-perl/XML-LibXML-1.56 compile error (dep of "snownews")
Status: RESOLVED DUPLICATE of bug 33651
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High blocker (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
: 38616 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-12-25 14:31 UTC by Marcus J. van Dijk, Jr.
Modified: 2005-07-17 13:06 UTC (History)
2 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 Marcus J. van Dijk, Jr. 2003-12-25 14:31:45 UTC
I am aware about the heavy CFLAGS, however, when I change them in make.conf, this merge is not affected. My guess is that CFLAGS are inherited from elsewhere. Normal Gentoo ~x86-system.

serena root # emerge --oneshot XML-LibXML
Calculating dependencies ...done!
>>> emerge (1 of 1) dev-perl/XML-LibXML-1.56 to /
>>> md5 src_uri ;-) XML-LibXML-1.56.tar.gz
>>> Unpacking source...
>>> Unpacking XML-LibXML-1.56.tar.gz to /var/tmp/portage/XML-LibXML-1.56/work
>>> Source unpacked.
enable native perl UTF8
running xml2-config...ok
looking for -lxml2... yes
Checking if your kit is complete...
Looks good
Writing Makefile for XML::LibXML
cp lib/XML/LibXML/DOM.pod blib/lib/XML/LibXML/DOM.pod
cp lib/XML/LibXML/Number.pm blib/lib/XML/LibXML/Number.pm
cp lib/XML/LibXML/SAX.pm blib/lib/XML/LibXML/SAX.pm
cp lib/XML/LibXML/Node.pod blib/lib/XML/LibXML/Node.pod
cp lib/XML/LibXML/Literal.pm blib/lib/XML/LibXML/Literal.pm
cp lib/XML/LibXML/SAX/Builder.pm blib/lib/XML/LibXML/SAX/Builder.pm
cp LibXML.pm blib/lib/XML/LibXML.pm
cp lib/XML/LibXML/Parser.pod blib/lib/XML/LibXML/Parser.pod
cp lib/XML/LibXML/DocumentFragment.pod blib/lib/XML/LibXML/DocumentFragment.pod
cp lib/XML/LibXML/Element.pod blib/lib/XML/LibXML/Element.pod
cp lib/XML/LibXML/SAX/Parser.pm blib/lib/XML/LibXML/SAX/Parser.pm
cp lib/XML/LibXML/Namespace.pod blib/lib/XML/LibXML/Namespace.pod
cp lib/XML/LibXML/SAX/Builder.pod blib/lib/XML/LibXML/SAX/Builder.pod
cp lib/XML/LibXML/Document.pod blib/lib/XML/LibXML/Document.pod
cp lib/XML/LibXML/Attr.pod blib/lib/XML/LibXML/Attr.pod
cp lib/XML/LibXML/SAX/Generator.pm blib/lib/XML/LibXML/SAX/Generator.pm
cp lib/XML/LibXML/CDATASection.pod blib/lib/XML/LibXML/CDATASection.pod
cp LibXML.pod blib/lib/XML/LibXML.pod
cp lib/XML/LibXML/SAX.pod blib/lib/XML/LibXML/SAX.pod
cp lib/XML/LibXML/Text.pod blib/lib/XML/LibXML/Text.pod
cp lib/XML/LibXML/Boolean.pm blib/lib/XML/LibXML/Boolean.pm
cp lib/XML/LibXML/PI.pod blib/lib/XML/LibXML/PI.pod
cp lib/XML/LibXML/NodeList.pm blib/lib/XML/LibXML/NodeList.pm
cp lib/XML/LibXML/Comment.pod blib/lib/XML/LibXML/Comment.pod
cp lib/XML/LibXML/Dtd.pod blib/lib/XML/LibXML/Dtd.pod
/usr/bin/perl /usr/lib/perl5/5.8.2/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.8.2/ExtUtils/typemap -typemap typemap  LibXML.xs > LibXML.xsc && mv LibXML.xsc LibXML.c
gcc -c  -I/usr/include/libxml2 -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -fforce-addr -fmerge-all-constants -ffast-math -fnew-ra -ftracer -funroll-all-loops -fprefetch-loop-arrays -fstrict-aliasing -falign-labels=1 -falign-loops=16 -falign-jumps=16 -march=athlon-xp -mfpmath=sse -mno-push-args -maccumulate-outgoing-args -minline-all-stringops -pipe -fomit-frame-pointer   -DVERSION=\"1.56\" -DXS_VERSION=\"1.56\" -fPIC "-I/usr/lib/perl5/5.8.2/i686-linux-thread-multi/CORE"  -DHAVE_UTF8 -DHAVE_BLANK LibXML.c
In file included from LibXML.xs:31:
/usr/include/libxml2/libxml/DOCBparser.h:18:2: warning: #warning "The DOCBparser module has been deprecated in libxml2-2.6.0"
LibXML.xs:73: error: duplicate `extern'
LibXML.xs:74: error: duplicate `extern'
LibXML.xs:76: error: duplicate `extern'
LibXML.xs:77: error: duplicate `extern'
LibXML.xs:78: error: duplicate `extern'
LibXML.xs:79: error: duplicate `extern'
make: *** [LibXML.o] Error 1

!!! ERROR: dev-perl/XML-LibXML-1.56 failed.
!!! Function perl-module_src_compile, Line 50, Exitcode 2
!!! compilation failed

serena root #
Comment 1 Spider (RETIRED) gentoo-dev 2003-12-25 15:40:55 UTC
rebuild perl and libxml*  with lower CFLAGS.


just because something compiles doesn't mean it works.
Comment 2 Marcus J. van Dijk, Jr. 2003-12-25 16:39:08 UTC
I know.

At the moment I am recompiling perl. I have enabled threading support. If XML-LibXML fails again, I'll retry using perl without threads.
Comment 3 Marcus J. van Dijk, Jr. 2003-12-28 09:23:26 UTC
Recompiling perl with or without threads both do not resolve this problem. I am not a programmer but it seems to me this is a problem outside of this package:
LibXML.xs:73: error: duplicate `extern'

The following packages are installed. I have tried to recompile them all but that helps not either.

serena root # qpkg -I xml
app-text/docbook-xml-dtd *
dev-libs/libxml *
dev-libs/libxml2 *
dev-perl/XML-LibXML-Common *
dev-perl/XML-NamespaceSupport *
dev-perl/XML-Parser *
dev-perl/XML-SAX *
dev-perl/XML-Writer *
dev-python/pyxml *
serena root # 
Comment 4 eric sammer 2004-01-03 22:11:53 UTC
I looked into this and it seems that LIBXML_DLL_IMPORT is defined as XMLPUBVAR and XMLPUBVAR is defined as 'extern' in xmlexports.h from libxml2. It expands the tokens as 'extern extern ...' and the error is 100% true - it's a double extern.

The #define LIBXML_DLL_IMPORT XMLPUBVAR is not in an #ifdef (in any meaningful way) nor is the #define XMLPUBVAR extern

I can't imagine this working on any platform. Is it possible that the XMLPUBVAR define has changed with a new version of libxml2? It looks as if the upstream author should have left out the 'extern' as it is part of the #define. Report this upstream, per chance?
Comment 5 Marcus J. van Dijk, Jr. 2004-01-04 14:25:19 UTC
Thanks for the input here Eric, I hope you don't mind I have added you to the CC-list. As I'm not a developer myself (I just barely understand all this), I'd like to ask either you or a Gentoo-dev, to take it from here.
Thanks in advance.
Comment 6 Guy 2004-01-17 22:17:01 UTC
I'm having the same problems.

FWIW -  I noticed there was a lot of {what appears to be} cruft under /usr/lib for perl 5.8.0 & 5.8.1 even though I'm running 5.8.2.

Might this be an issue?
Comment 7 Eric Sammer (RETIRED) gentoo-dev 2004-01-18 02:31:31 UTC
The multiple perl lib directories won't cause this. This is specifically due to the #define expansion. In other words, the final expanded C comes out as 'extern extern function()' which is improper. I'm going to look upstream to see if there's anything else about this.
Comment 8 Eric Sammer (RETIRED) gentoo-dev 2004-01-18 14:33:27 UTC
*** Bug 38616 has been marked as a duplicate of this bug. ***
Comment 9 Robert Coie (RETIRED) gentoo-dev 2004-01-30 17:10:49 UTC

*** This bug has been marked as a duplicate of 33651 ***