Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 517244 - dev-cpp/gflags-2.1.1 needs some cmake defines to properly construct files in /usr/lib/cmake/gflags
Summary: dev-cpp/gflags-2.1.1 needs some cmake defines to properly construct files in ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords: PATCH
: 517346 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-07-16 13:49 UTC by Adam Stylinski
Modified: 2014-07-29 15:17 UTC (History)
3 users (show)

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


Attachments
fix to gflags ebuild (gflags-2.1.1.ebuild,862 bytes, text/plain)
2014-07-16 13:50 UTC, Adam Stylinski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Stylinski 2014-07-16 13:49:40 UTC
Blender 2.71 does not linking properly against this library version without the addition of this flag.  I've attached the modified ebuild, feel free to modify it further (e.g. you can also add -DBUILD_STATIC_LIBS=ON if you want both shared and static, or you can add that flag conditionally with the use flag static-libs that used to exist in the older ebuilds).  

Reproducible: Always

Steps to Reproduce:
1. emerge blender
Actual Results:  
blender tries to link with multiple libraries with the symbols defined, and I believe with multilib it tries to link to both the 32 and 64 bit libraries.

Expected Results:  
links.
Comment 1 Adam Stylinski 2014-07-16 13:50:30 UTC
Created attachment 380816 [details]
fix to gflags ebuild
Comment 2 Adam Stylinski 2014-07-16 13:50:54 UTC
Also, see #517134
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2014-07-16 14:02:54 UTC
Comment on attachment 380816 [details]
fix to gflags ebuild

--- gflags-2.1.1.ebuild 2014-07-15 18:28:14.805029210 +0200
+++ -   2014-07-16 16:02:47.758833654 +0200
@@ -4,7 +4,7 @@

 EAPI="5"

-inherit cmake-multilib
+inherit cmake-multilib cmake-utils

 DESCRIPTION="Google's C++ argument parsing library"
 HOMEPAGE="http://code.google.com/p/gflags/"
@@ -17,6 +17,12 @@

 PATCHES=( "${FILESDIR}/gflags-2.1.1-libs.patch" )

+multilib_src_configure() {
+  local mycmakeargs=( -DBUILD_SHARED_LIBS=ON )
+
+  cmake-utils_src_configure
+}
+
 multilib_src_install_all() {
   rm -rf "${ED}"/usr/share/doc
   dodoc {AUTHORS,ChangeLog,NEWS,README}.txt
Comment 4 Julian Ospald 2014-07-16 14:54:04 UTC
+*gflags-2.1.1-r1 (16 Jul 2014)
+
+  16 Jul 2014; Julian Ospald <hasufell@gentoo.org> -gflags-2.1.1.ebuild,
+  +gflags-2.1.1-r1.ebuild:
+  build shared libs wrt #517244, add static-libs USE flag
Comment 5 Mike Gilbert gentoo-dev 2014-07-16 15:09:16 UTC
Just FYI: I did not enable shared libs because upstream doesn't seem to care about binary compatibility.

The upgrade from 2.0 to 2.1.1 resulted in missing symbols in dev-util/open-vcdiff.

I have since changed open-vcdiff to use a bundled copy of gflags; switched back to the system copy is on my to-do list.
Comment 6 Julian Ospald 2014-07-16 15:28:40 UTC
(In reply to Mike Gilbert from comment #5)
> Just FYI: I did not enable shared libs because upstream doesn't seem to care
> about binary compatibility.
> 
> The upgrade from 2.0 to 2.1.1 resulted in missing symbols in
> dev-util/open-vcdiff.
> 
> I have since changed open-vcdiff to use a bundled copy of gflags; switched
> back to the system copy is on my to-do list.

Is the SONAME really from upstream? If so, we should probably add a subslot too.
Comment 7 Mike Gilbert gentoo-dev 2014-07-16 15:31:35 UTC
Yes, the SONAME is set by upstream, though not until after the 2.1.1 release was cut.

https://code.google.com/p/gflags/source/detail?r=cd7aece14e2aac0669292c95ab42de6e267a5034
Comment 8 Mike Gilbert gentoo-dev 2014-07-16 15:33:50 UTC
Also this.

https://code.google.com/p/gflags/source/detail?r=bf889786c2a3a2dab89610d0722634d2eedfc694

Frankly, I think it would make more sense to keep the full package version as the SONAME; I think upstream has no clue as to how to version libraries.
Comment 9 Julian Ospald 2014-07-16 15:34:43 UTC
(In reply to Mike Gilbert from comment #8)
> Also this.
> 
> https://code.google.com/p/gflags/source/
> detail?r=bf889786c2a3a2dab89610d0722634d2eedfc694
> 
> Frankly, I think it would make more sense to keep the full package version
> as the SONAME; I think upstream has no clue as to how to version libraries.

That seems to be common for google projects. Maybe someone should tell them.
Comment 11 Julian Ospald 2014-07-16 15:55:34 UTC
(In reply to Mike Gilbert from comment #8)
> Also this.
> 
> https://code.google.com/p/gflags/source/
> detail?r=bf889786c2a3a2dab89610d0722634d2eedfc694
> 
> Frankly, I think it would make more sense to keep the full package version
> as the SONAME; I think upstream has no clue as to how to version libraries.

IMO, we should keep the upstream SONAME, file bugs for them whenever they break ABI and set our subslot to $PV, lol.
Comment 12 Mike Gilbert gentoo-dev 2014-07-16 16:01:35 UTC
(In reply to Julian Ospald (hasufell) from comment #11)
> IMO, we should keep the upstream SONAME, file bugs for them whenever they
> break ABI and set our subslot to $PV, lol.

That sounds reasonable.
Comment 13 Mike Gilbert gentoo-dev 2014-07-16 16:11:06 UTC
I should have checked the issue tracker first.

https://code.google.com/p/gflags/issues/detail?id=82
https://code.google.com/p/gflags/issues/detail?id=83

Need to review this and figure out how to sort out ebuild out.
Comment 14 SpanKY gentoo-dev 2014-07-29 15:17:59 UTC
*** Bug 517346 has been marked as a duplicate of this bug. ***