Mail archive
alpine-devel

Re: [alpine-devel] Re: fltk upgrades, dillo, other packages...

From: Natanael Copa <ncopa_at_alpinelinux.org>
Date: Tue, 18 Nov 2014 09:43:44 +0100

On Sun, 16 Nov 2014 23:46:19 -0800
Isaac Dunham <ibid.ag_at_gmail.com> wrote:

> On Sun, Nov 16, 2014 at 10:10:26PM -0800, Isaac Dunham wrote:
> > Hello,
> > I'm working on getting WebkitFLTK[1] to build, so as to build Fifth,
> > which is yet another Webkit browser--this time, it's loosely based on
> > Opera 9.x and uses FLTK.
> > WebkitFLTK requires FLTK 1.3.3, while we have 1.3.2.
> > There are some issues with doing an upgrade:
> > -1.3.3 has a couple bugs fixed in SVN; this is easily addressed by
> > grabbing the patches.
> > -1.3.3 also is now missing the symbol "fl_oldfocus" (and possibly others),
> > which will break dillo. It does *not* change the library version.
> > I have looked through the commit logs and looked online, and there's
> > no obvious candidate for what caused the issue.
> > The dillo developers are guessing that linker magic might have caused it;
> > they have a workaround that involves disabling the use of fl_oldfocus,
> > at the cost of not restoring focus properly.
> >
>
> -fvisibility=hidden is the culprit; FLTK started using it this summer.
> Building with -fvisibility-inlines-hidden instead seems to avoid this.

This sounds like a bug in FLTK (or dillo).

Either fl_oldfocus symbol should be marked visible for dillo to use, or
the fl_oldfocus is not exported and not supposed to be used outside
FLTK itself - in which case dillo shouldnt use it.

googling around i found this:

https://www.mail-archive.com/gentoo-commits_at_lists.gentoo.org/msg68829.html
Index: fltk-1.3.3-visibility.patch
===================================================================
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
_at_@ -928,7 +928,7 @@
 
 ////////////////////////////////////////////////////////////////
 
-Fl_Widget* fl_oldfocus; // kludge for Fl_Group...
+FL_EXPORT Fl_Widget* fl_oldfocus; // kludge for Fl_Group...
 
 /**
     Sets the widget that will receive FL_KEYBOARD events.


Which seems to make the fl_oldfocus visible. I think this is the way to go...

>
> Although we'll get smaller binaries with -fvisibility=hidden,
> I'm inclined to forcibly switch it to -fvisibility-inlines-hidden.
> It would also be possible to do some prodding, by running
> make && rm src/Fl.o && \
> sed -e 's/fvisibility=hidden/fvisibility-inlines-hidden/g' -i
> makeinclude && \ make || return 1
>
> which builds only the one file where it's relevant with less
> aggressive visibility settings.
>
> Considering that I'd be using the same sed to disable it globally or
> for the one file, I might as well set it for only the one file.
>
> Thanks,
> Isaac Dunham
>
>
> ---
> Unsubscribe: alpine-devel+unsubscribe_at_lists.alpinelinux.org
> Help: alpine-devel+help_at_lists.alpinelinux.org
> ---
>



---
Unsubscribe:  alpine-devel+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-devel+help_at_lists.alpinelinux.org
---
Received on Tue Nov 18 2014 - 09:43:44 UTC