Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 449812 - dev-libs/udis86-1.7 - shared library fixups
Summary: dev-libs/udis86-1.7 - shared library fixups
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Chí-Thanh Christopher Nguyễn
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-02 19:52 UTC by Alon Bar-Lev (RETIRED)
Modified: 2013-01-11 11:10 UTC (History)
4 users (show)

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


Attachments
udis86-1.7.ebuild.diff (udis86-1.7.ebuild.diff,938 bytes, patch)
2013-01-02 19:52 UTC, Alon Bar-Lev (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alon Bar-Lev (RETIRED) gentoo-dev 2013-01-02 19:52:00 UTC
Created attachment 334088 [details, diff]
udis86-1.7.ebuild.diff

Currently there is USE flag of pic, while there is no apparent reason to build static archive.

The attached patch builds the libudis86 as shared library.

If the static archive is important we can add 'static USE and add --enable-static.

Also some more cleanups for the ebuild, EAPI=4 and others.

Thanks!
Comment 1 Chí-Thanh Christopher Nguyễn gentoo-dev 2013-01-02 20:01:25 UTC
I understand that enabling PIC has certain drawbacks. The flag was only added because some users (not all) saw build issues with llvm otherwise. See bug 337969 and bug 317599 comment 6.
Comment 2 Alon Bar-Lev (RETIRED) gentoo-dev 2013-01-02 20:07:15 UTC
Hi!

What are the drawbacks? all libraries in tree are PIC now... or should be.

Thanks!
Comment 3 Alon Bar-Lev (RETIRED) gentoo-dev 2013-01-02 20:25:55 UTC
Also I think the policy is to create shared objects and not static objects, as if ebuild is updated static linked binaries will not be effected.
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2013-01-02 21:27:15 UTC
Alon is correct, the way PIC is handled now is simply wrong.

The static library should not have PIC, the shared library HAS to have it, so a pic USE flag is generally speaking wrong.

Pach loocks good to me.
Comment 5 Chí-Thanh Christopher Nguyễn gentoo-dev 2013-01-02 23:19:10 UTC
Fine, feel free to commit this.

Please also inform the llvm maintainer that he needs to adjust the dependency to dev-libs/udis86[pic(+)]
Comment 6 Alon Bar-Lev (RETIRED) gentoo-dev 2013-01-03 09:34:54 UTC
Hello llvm maintainers,

This change will create shared library out of libudis86, it will always be PIC.

What will be the simplest solution for you?
1. Add pic USE only for <udis86-1.7-r1 for these non llvm stable packages.
2. Leave fake udis86 pic USE for now, and when we stabilize we remove the pic USE from all llvm ebuilds (including these stable).

Thanks.
Comment 7 Chí-Thanh Christopher Nguyễn gentoo-dev 2013-01-03 09:47:20 UTC
as llvm uses EAPI>=4, dev-libs/udis86[pic(+)] should do exactly what is needed.
Comment 8 Alon Bar-Lev (RETIRED) gentoo-dev 2013-01-03 10:02:19 UTC
(In reply to comment #7)
> as llvm uses EAPI>=4, dev-libs/udis86[pic(+)] should do exactly what is
> needed.

Nice! I did not know that!

So llvm maintainers, can you please modify this so we can commit this?

Thanks!
Comment 9 Bernard Cafarelli gentoo-dev 2013-01-03 23:31:38 UTC
Indeed it works fine (both udis86 with or without pic USE-flag). I updated all llvm ebuilds in tree updated to dev-libs/udis86[pic(+)] dep
Comment 10 Alon Bar-Lev (RETIRED) gentoo-dev 2013-01-04 07:12:30 UTC
Thanks!

udis86-1.7-r1 is producing shared library.