[Freewx-maint] Bug#738849: Please enable webview support for wx3.0

Gianfranco Costamagna costamagnagianfranco at yahoo.it
Fri May 2 00:20:28 UTC 2014


Hi again Olly



> Il Giovedì 1 Maggio 2014 0:32, Olly Betts <olly at survex.com> ha scritto:
> > On Wed, Apr 30, 2014 at 07:34:03PM +0100, costamagnagianfranco at yahoo.it wrote:
>>  > Il Mercoledì 30 Aprile 2014 12:39, Olly Betts <olly at survex.com> 
> ha scritto:
>>  > > On Wed, Apr 30, 2014 at 08:45:47AM +0100, Gianfranco Costamagna 
> wrote:
>>  >>  Isn't the "-Wl,--as-needed" automatically passed by 
> dh 
>>  > system? are you
>>  >>  overriding LDFLAGS somewhere?
>>  > 
>>  > I don't believe either is true.  Passing it unconditionally 
> wouldn't be
>>  > a good plan, as it breaks some cases (as I mentioned above).
>>  > 
>>  > Are you perhaps thinking of "-Wl,-z,relro" (which is related 
> to
>>  > hardening)?
>> 
>>  ok can it be that ubuntu enables them by default and debian not?
>>  https://wiki.ubuntu.com/ToolChain/CompilerFlags#A-Wl.2C--as-needed
> 
> I don't follow Ubuntu development these days, but possibly.
> 
>>  ubuntu is using them since three years, and why should removing a not
>>  used library be a problem?
>>  I mean if no symbols are used we can drop safely right?
> 
> It isn't always safe to do so - you can get a clean build but hit
> problems at runtime.  For example a program might use dlsym() to look up
> a symbol from a library it was linked against, but if there aren't any
> references at link time, the library won't be there if --as-needed is
> used:
> 
> olly at gemse:~$ cat asneeded.c 
> #include <dlfcn.h>
> #include <stdio.h>
> 
> int main(int argc, char ** argv) {
>     void * handle = dlopen(NULL, RTLD_NOW);  
>     if (!handle) {
>     fprintf(stderr, "dlopen failed: %s\n", dlerror());
>     return 1;
>     }
>     (void)argc;
>     while (*++argv) {
>     printf("%s=%p\n", *argv, dlsym(handle, *argv));
>     }
>     return 0;
> }
> olly at gemse:~$ gcc -Wall -W -O2 asneeded.c -ldl -lz -o asneeded
> olly at gemse:~$ ./asneeded zlibVersion
> zlibVersion=0x7fc6e04a9fc0
> olly at gemse:~$ gcc -Wall -W -O2 -Wl,--as-needed asneeded.c -ldl -lz -o asneeded 
> olly at gemse:~$ ./asneeded zlibVersion
> zlibVersion=(nil)
> 
>>  Can we safely leave them inside?
>> 
>>  The patch is so ugly, but the libraries are not there anymore
>> 
> https://github.com/LocutusOfBorg/wx/commit/e18d875c355096e458371d7f83910d02c926c294
> 
> A much cleaner way is just to add this to debian/rules instead of the
> above changes:
> 
> export DEB_LDFLAGS_APPEND=-Wl,--as-needed
> 


are you sure about this? Seems to be not working
DEB_LDFLAGS_APPEND=-Wl,--as-needed
and neither this
DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed

(or at least I don't see them when building)
are them hidden?
cheers,

Gianfranco
>>  Attached the log of the new debdiffs
> 
> Great, that looks much better to me.  Thanks for all your work on this.
> 
> 
> Cheers,
>     Olly
> 



More information about the Freewx-maint mailing list