Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 282838 - >=net-voip/ekiga-3.2.5 fails to build due for -fvisibility-inlines-hidden
Summary: >=net-voip/ekiga-3.2.5 fails to build due for -fvisibility-inlines-hidden
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: voip herd (OBSOLETE)
URL: https://bugzilla.gnome.org/show_bug.c...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-26 21:02 UTC by Gilles Dartiguelongue (RETIRED)
Modified: 2012-11-09 01:16 UTC (History)
3 users (show)

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


Attachments
build.log (build.log,547.69 KB, text/plain)
2009-08-26 21:16 UTC, Gilles Dartiguelongue (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-08-26 21:02:59 UTC
Patch available at the given URL, attaching my build.log in a moment.
Comment 1 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-08-26 21:16:38 UTC
Created attachment 202357 [details]
build.log
Comment 2 Mounir Lamouri (volkmar) (RETIRED) gentoo-dev 2009-08-26 21:26:19 UTC
I will check if it's still in 3.2.5 tomorrow. If you can do it before, let me know.
Comment 3 Mounir Lamouri (volkmar) (RETIRED) gentoo-dev 2009-08-28 15:18:12 UTC
The URL you provided is not about ekiga actually even if the issue is similar.
If you think you can write a patch for ekiga easily, I will appreciate you do it because I think I will have to play a moment before doing it. (I'm not really use to this type of error)
Comment 4 Joël 2009-09-21 12:05:39 UTC
Here's a quick workaround (for users following this bug, obviously not for inclusion in portage):

Create a file "/etc/portage/env/net-libs/opal" which contains:
CXXFLAGS="${CXXFLAGS/ -fvisibility-inlines-hidden / }"

Then rebuild net-libs/opal and then ekiga should build successfully.
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-09-21 13:53:03 UTC
that workaround only works if your flag is surrounded by spaces...
Comment 6 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-09-27 23:02:04 UTC
Still happening with 3.2.6. I spent a few hours this afternoon trying to figure out how to make this work but to no avail. There are some screwed up autofoo but it doesn't seem to affect the build really (LDFLAGS used in place of LIBADD) and using the same trick as the freeswitch fix requires autoconf patches to have the HAVE_VISIBILITY define, but still, this doesn't seem to make any difference when wrapping all includes with it.
Comment 7 Mounir Lamouri (volkmar) (RETIRED) gentoo-dev 2009-09-28 22:36:11 UTC
Then, I will report the bug upstream and filter the flag as a workaround.
Comment 8 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-09-28 23:10:15 UTC
for the record, I filtered the flag in opal, not ekiga, as suggested in comment #4 on my laptop & desktop. Works fine afaict.
Comment 9 Mounir Lamouri (volkmar) (RETIRED) gentoo-dev 2009-09-29 17:37:56 UTC
Bug reported to ekiga [1] team.
In addition, I've added filter-flags "-fvisibility-inlines-hidden" to the opal-3.6.6 ebuild as a workaround.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=596764
Comment 10 Mounir Lamouri (volkmar) (RETIRED) gentoo-dev 2009-09-29 17:52:20 UTC
FYI, after ssuominen, I've changed 'filter-flags ...' to 'append-flags -fno-visibility-inlines-hidden'.
Comment 11 Eugen Dedu 2010-03-03 12:59:24 UTC
Here is what I think, but I might be wrong: ekiga uses AddOption and SetOptionBoolean from mediafmt.h, which uses MakeUnique from mediafmt.h (declared with PCONTAINERINFO(OpalMediaFormat, PContainer), macro which is found in /usr/include/ptlib/contain.h), but MakeUnique has been hidden because it has been inlined (however, it is not specified as inline???)

Could you try the following patch to see if ekiga builds well afterwards?

--- ptlib-svn/include/ptlib/contain.h	2010-01-05 15:09:40.000000000 +0100
+++ ptlib/include/ptlib/contain.h	2010-03-03 12:17:43.000000000 +0100
@@ -332,7 +332,7 @@
     cls & operator=(const cls & c) \
       { AssignContents(c); return *this; } \
     virtual ~cls() { Destruct(); } \
-    virtual PBoolean MakeUnique() \
+    __attribute__((visibility("default"))) virtual PBoolean MakeUnique() \
       { if(par::MakeUnique())return PTrue; CloneContents(this);return PFalse; } \
   protected: \
     cls(int dummy, const cls * c) : par(dummy, c) { CloneContents(c); } \

Finally, I found an interesting comment about that flag: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22592#c5
Comment 12 Jesus Rivero (RETIRED) gentoo-dev 2012-11-09 01:16:04 UTC
net-voip/ekiga-3.9.90 is in the tree. This should be fixed with new versions of opal, ptlib and ekiga.