Re: rpm pulls in a dependency on perl in a noarch subpackage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



V Mon, Oct 10, 2022 at 04:31:31PM +0000, Mattia Verga via devel napsal(a):
> Il 10/10/22 15:46, Petr Pisar ha scritto:
> > I'm now facing a build failure on EPEL, which I can't figure out:
> >> /usr/bin/ld: lilxml.o (symbol from plugin): undefined reference to
> >> symbol 'xmlMalloc@@LIBXML2_2.4.30'
> >> /usr/bin/ld: /usr/lib64/libxml2.so.2: error adding symbols: DSO missing
> >> from command line
> >>
> > That says that lilxml.o object file (found in a static liblilxml.a library)
> > refers to an xmlMalloc symbol. But no library (the -l options) passed to the
> > linker command:
> >
> > gcc -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -L/usr/lib -L/opt/X11/lib -L../../libastro -L../../libip -L../../liblilxml -o xephem aavso.o annotmenu.o broadcast.o calmenu.o closemenu.o compiler.o coordsmenu.o datamenu.o db.o dbmenu.o earthmap.o earthmenu.o fallbacks.o favmenu.o formats.o fsmenu.o gallerymenu.o glance.o gsc.o gscnet.o helpmenu.o homeio.o hznmenu.o indimenu.o imregmenu.o jpeg2pm.o jupmenu.o listmenu.o mainmenu.o marsmenu.o marsmmenu.o moonmenu.o moviemenu.o msgmenu.o netmenu.o objmenu.o obslog.o patchlevel.o plot_aux.o plotmenu.o preferences.o progress.o ps.o query.o rotated.o satmenu.o saveres.o scope.o sites.o skybinary.o skyeyep.o skyfifos.o skyfiltmenu.o skyfits.o skyhist.o skyip.o skylist.o skytoolbar.o skyviewmenu.o solsysmenu.o splash.o srchmenu.o sunmenu.o time.o tips.o trailmenu.o uranusmenu.o ucac.o usno.o versionmenu.o webdbmenu.o xe2.o xe3.o xephem.o xmisc.o -lXm -lXt -lXext -lXmu -lX11 -lastro -lip -llilxml -ljpeg -lpng -lz -lm -lssl
> >
> > actually defines that symbol. Thus the linker reported an error.
> >
> > For a user's convenience, the linker searched system libraries
> > and found /usr/lib64/libxml2.so.2 to be defining the system.
> >
> > Hence a solution is patch a xephem build script in order to add -lxml2 to the
> > linker flags used when linking xephem executable. You should report this bug
> > to xephem upstream.
> >
> > -- Petr
> 
> Thanks!
> 
> Still, I'm surprised I hit this only in EPEL, while on Fedora everything
> was built fine.
> 
I looked at the sources. xmlMalloc() function is declared in liblilxml/lilxml.h:

    /* install alternatives to malloc/realloc/free */
    extern void xmlMalloc (void *(*newmalloc)(size_t size),
        void *(*newrealloc)(void *ptr, size_t size), void (*newfree)(void *ptr));

and defined in liblilxml/lilxml.c:

    /* install new version of malloc/realloc/free.
     * N.B. don't call after first use of any other lilxml function
     */
    void
    xmlMalloc (void *(*newmalloc)(size_t size),
           void *(*newrealloc)(void *ptr, size_t size),
           void (*newfree)(void *ptr))
    {
        mymalloc = newmalloc;
        myrealloc = newrealloc;
        myfree = newfree;
    }

There is no other place where the function is called or referred.

Because the function is defined in lilxml.c which is built into liblilxml.a
and then linked to xephem executable, xephem should not link to libxml2. It
has its own xmlMalloc() definition.

Question why EPEL9 reports that error I cannot answer. Maybe some bug in
gcc or binutils.

-- Petr

Attachment: signature.asc
Description: PGP signature

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux