public inbox for gentoo-amd64@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-amd64]  Dynamic library trying to link against static library?
@ 2006-08-12 16:09 Michael Hordijk
  2006-08-12 18:42 ` Richard Fish
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Hordijk @ 2006-08-12 16:09 UTC (permalink / raw
  To: gentoo-amd64

	So this is more of a library linking issue, but I run into this error 
frequently, especially when linking against ncurses.  I'm trying to 
emerge dev-perl/Curses-1.14.  It then tries to link against ncurses, and 
fails when it can't build an .so using libncurses.a.  Well no kidding.
	The ncurses ebuild puts libncurses.a in /usr/lib64 and libncurses.so in 
/lib64.  How do I get packages like the above to properly link against 
the dynamic library in /lib64 rather than /usr/lib64?

- hoffer

-- 
gentoo-amd64@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-amd64] Dynamic library trying to link against static library?
  2006-08-12 16:09 [gentoo-amd64] Dynamic library trying to link against static library? Michael Hordijk
@ 2006-08-12 18:42 ` Richard Fish
  2006-08-12 21:26   ` [gentoo-amd64] " Michael Hordijk
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Fish @ 2006-08-12 18:42 UTC (permalink / raw
  To: gentoo-amd64

On 8/12/06, Michael Hordijk <hoffbrinkle@hotmail.com> wrote:
>         So this is more of a library linking issue, but I run into this error
> frequently, especially when linking against ncurses.  I'm trying to
> emerge dev-perl/Curses-1.14.  It then tries to link against ncurses, and
> fails when it can't build an .so using libncurses.a.  Well no kidding.
>         The ncurses ebuild puts libncurses.a in /usr/lib64 and libncurses.so in
> /lib64.  How do I get packages like the above to properly link against
> the dynamic library in /lib64 rather than /usr/lib64?

???

My amd64 system has:

~ > ll /usr/lib64/libncurses.so
-rwxr-xr-x 1 root root 299 Jun 30 21:50 /usr/lib64/libncurses.so

~ > cat /usr/lib64/libncurses.so
/* GNU ld script
   Since Gentoo has critical dynamic libraries
   in /lib, and the static versions in /usr/lib,
   we need to have a "fake" dynamic lib in /usr/lib,
   otherwise we run into linking problems.

   See bug http://bugs.gentoo.org/4411 for more info.
 */
GROUP ( /lib64/libncurses.so )

~ > emerge -pv ncurses
...
[ebuild   R   ] sys-libs/ncurses-5.5-r3  USE="unicode -bootstrap
-build -debug -doc -gpm -minimal -nocxx -trace" 0 kB

-Richard
-- 
gentoo-amd64@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gentoo-amd64]  Re: Dynamic library trying to link against static library?
  2006-08-12 18:42 ` Richard Fish
@ 2006-08-12 21:26   ` Michael Hordijk
  2006-08-12 22:50     ` Richard Fish
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Hordijk @ 2006-08-12 21:26 UTC (permalink / raw
  To: gentoo-amd64

Richard Fish wrote:
> On 8/12/06, Michael Hordijk <hoffbrinkle@hotmail.com> wrote:
> > The ncurses ebuild puts libncurses.a in /usr/lib64 and
>> libncurses.so in /lib64.  How do I get packages like the above to
>> properly link against the dynamic library in /lib64 rather than
>> /usr/lib64?

> My amd64 system has:
> 
> ~ > ll /usr/lib64/libncurses.so
> -rwxr-xr-x 1 root root 299 Jun 30 21:50 /usr/lib64/libncurses.so

Huh.  First I made sure I had a clean install:

~ $ emerge --oneshot ncurses

Double check:

~ $ emerge -pv ncurses
[ebuild   R   ] sys-libs/ncurses-5.5-r2  USE="gpm -bootstrap -build 
-debug -doc -minimal -nocxx -unicode" 0 kB

Good so far.  Now:

~ $ ls -l /usr/lib64/libncurses.so
ls: /usr/lib64/libncurses.so: No such file or directory

Not so good.  And indeed:

~ $ equery files ncurses | grep libncurses
/lib64/libncurses.so
/lib64/libncurses.so.5
/lib64/libncurses.so.5.5
/usr/lib64/libncurses++.a
/usr/lib64/libncurses.a

So I tracked down bug 4411, checked the ncurses ebuild, and it has the 
appropriate:

gen_usr_ldscript lib{,n}curses.so

in there.  Great.  Run the following:

~ $ ebuild /usr/portage/sys-libs/ncurses/ncurses-5.5-r2.ebuild install

And the last line of output is:

QA Notice: missing gen_usr_ldscript for libncurses.so

Huh.  That's not good.  The funny thing is, there is definitel a 
gen_usr_ldscript in /usr/portage/eclass/eutils.eclass.  So why can't the 
ebuild see it and generating this QA notice?

- hoffer

-- 
gentoo-amd64@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-amd64] Re: Dynamic library trying to link against static library?
  2006-08-12 21:26   ` [gentoo-amd64] " Michael Hordijk
@ 2006-08-12 22:50     ` Richard Fish
  2006-08-12 23:43       ` Michael Hordijk
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Fish @ 2006-08-12 22:50 UTC (permalink / raw
  To: gentoo-amd64

On 8/12/06, Michael Hordijk <hoffbrinkle@hotmail.com> wrote:
> QA Notice: missing gen_usr_ldscript for libncurses.so
>
> Huh.  That's not good.  The funny thing is, there is definitel a
> gen_usr_ldscript in /usr/portage/eclass/eutils.eclass.  So why can't the
> ebuild see it and generating this QA notice?

Hmm, you don't happen to have an eutils.eclass in an overlay do you?

-Richard
-- 
gentoo-amd64@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gentoo-amd64]  Re: Dynamic library trying to link against static library?
  2006-08-12 22:50     ` Richard Fish
@ 2006-08-12 23:43       ` Michael Hordijk
  2006-08-12 23:52         ` Richard Fish
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Hordijk @ 2006-08-12 23:43 UTC (permalink / raw
  To: gentoo-amd64

Richard Fish wrote:
> Hmm, you don't happen to have an eutils.eclass in an overlay do you?

Indeed I do!  Goodness, that was so old, I don't even remember why had 
to modify the eclass.  And I don't have access to the repository where I 
had saved the logs either.  Having a modified eclass overlay is a rather 
insidious thing.  At least with ebuilds, they eventually version bump 
and become non-overlayed.  Ah well, on with the emerging.  Thanks!

- hoffer

-- 
gentoo-amd64@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-amd64] Re: Dynamic library trying to link against static library?
  2006-08-12 23:43       ` Michael Hordijk
@ 2006-08-12 23:52         ` Richard Fish
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Fish @ 2006-08-12 23:52 UTC (permalink / raw
  To: gentoo-amd64

On 8/12/06, Michael Hordijk <hoffbrinkle@hotmail.com> wrote:
> had saved the logs either.  Having a modified eclass overlay is a rather
> insidious thing.

Yeah, eclasses in overlays are *evil*! :-)

-Richard
-- 
gentoo-amd64@gentoo.org mailing list



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-08-12 23:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-12 16:09 [gentoo-amd64] Dynamic library trying to link against static library? Michael Hordijk
2006-08-12 18:42 ` Richard Fish
2006-08-12 21:26   ` [gentoo-amd64] " Michael Hordijk
2006-08-12 22:50     ` Richard Fish
2006-08-12 23:43       ` Michael Hordijk
2006-08-12 23:52         ` Richard Fish

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox