Bug#835255: gdc-6: std.datetime: undefined reference to dlopen/dlsym/dlclose

2016-08-29 Thread Markus Koschany
Control: severity -1 serious

On Wed, 24 Aug 2016 10:34:01 +0200 Iain Buclaw 
wrote:
[...]
> Hmm, probably related to upstream bug:
> https://bugzilla.gdcproject.org/show_bug.cgi?id=202#c10
> 
> There is definitely a problem where template symbols could land in any
> module, and if that module has external dependencies, it forces them
> on the user.
> 
> I had mentioned that moving to dynamic loading of std.net.curl may
> help the original issue, so it looks like it just shifted the problem
> elsewhere.  This will go away when phobos starts shipping as a dynamic
> library.
> 
> https://github.com/D-Programming-GDC/GDC/pull/214
> 
> Iain.

in my opinion this is a serious regression and it breaks current
reverse-dependencies in an obviously not intended way. See

https://bugs.debian.org/835281

https://bugs.debian.org/835727

Regards,

Markus



signature.asc
Description: OpenPGP digital signature


Bug#835255: gdc-6: std.datetime: undefined reference to dlopen/dlsym/dlclose

2016-08-24 Thread Iain Buclaw
On 23 August 2016 at 22:29, Peter De Wachter  wrote:
> Package: gdc-6
> Version: 6.2.0-1
> Severity: normal
>
> Hi. In this release, programs that reference std.datetime fail to
> build, with error messages referencing curl and libdl. I don't know
> what's going on here, but it seems there's something badly broken in
> libphobos.
>
> $ cat date.d
> import std.datetime;
> void main () { }
>
> $ gdc -o date date.d
> /usr/lib/gcc/x86_64-linux-gnu/6/libgphobos2.a(lt4-curl.o): In function 
> `_D3std3net4curl7CurlAPI19_sharedStaticDtor18FZv':
> /build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3682:
>  undefined reference to `dlclose'
> /usr/lib/gcc/x86_64-linux-gnu/6/libgphobos2.a(lt4-curl.o): In function 
> `_D3std3net4curl7CurlAPI7loadAPIFZPv':
> /build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3630:
>  undefined reference to `dlopen'
> /build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3636:
>  undefined reference to `dlsym'
> /build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
>  undefined reference to `dlsym'
> /build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
>  undefined reference to `dlsym'
> /build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
>  undefined reference to `dlsym'
> /build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
>  undefined reference to `dlsym'
> /usr/lib/gcc/x86_64-linux-gnu/6/libgphobos2.a(lt4-curl.o):/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
>  more undefined references to `dlsym' follow
> /usr/lib/gcc/x86_64-linux-gnu/6/libgphobos2.a(lt4-curl.o): In function 
> `_D3std3net4curl7CurlAPI7loadAPIFZPv':
> /build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3639:
>  undefined reference to `dlclose'
> /build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3651:
>  undefined reference to `dlopen'
> collect2: error: ld returned 1 exit status
>
>


Hmm, probably related to upstream bug:
https://bugzilla.gdcproject.org/show_bug.cgi?id=202#c10

There is definitely a problem where template symbols could land in any
module, and if that module has external dependencies, it forces them
on the user.

I had mentioned that moving to dynamic loading of std.net.curl may
help the original issue, so it looks like it just shifted the problem
elsewhere.  This will go away when phobos starts shipping as a dynamic
library.

https://github.com/D-Programming-GDC/GDC/pull/214

Iain.



Bug#835255: gdc-6: std.datetime: undefined reference to dlopen/dlsym/dlclose

2016-08-23 Thread Peter De Wachter
Package: gdc-6
Version: 6.2.0-1
Severity: normal

Hi. In this release, programs that reference std.datetime fail to
build, with error messages referencing curl and libdl. I don't know
what's going on here, but it seems there's something badly broken in
libphobos.

$ cat date.d
import std.datetime;
void main () { }

$ gdc -o date date.d
/usr/lib/gcc/x86_64-linux-gnu/6/libgphobos2.a(lt4-curl.o): In function 
`_D3std3net4curl7CurlAPI19_sharedStaticDtor18FZv':
/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3682:
 undefined reference to `dlclose'
/usr/lib/gcc/x86_64-linux-gnu/6/libgphobos2.a(lt4-curl.o): In function 
`_D3std3net4curl7CurlAPI7loadAPIFZPv':
/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3630:
 undefined reference to `dlopen'
/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3636:
 undefined reference to `dlsym'
/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
 undefined reference to `dlsym'
/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
 undefined reference to `dlsym'
/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
 undefined reference to `dlsym'
/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
 undefined reference to `dlsym'
/usr/lib/gcc/x86_64-linux-gnu/6/libgphobos2.a(lt4-curl.o):/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3662:
 more undefined references to `dlsym' follow
/usr/lib/gcc/x86_64-linux-gnu/6/libgphobos2.a(lt4-curl.o): In function 
`_D3std3net4curl7CurlAPI7loadAPIFZPv':
/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3639:
 undefined reference to `dlclose'
/build/gcc-6-JZuWWC/gcc-6-6.2.0/build/x86_64-linux-gnu/libphobos/src/../../../../src/libphobos/src/std/net/curl.d:3651:
 undefined reference to `dlopen'
collect2: error: ld returned 1 exit status



-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.6.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=nl_BE.UTF-8, LC_CTYPE=nl_BE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages gdc-6 depends on:
ii  g++-66.2.0-1
ii  gcc-6-base   6.2.0-1
ii  libc62.23-4
ii  libgmp10 2:6.1.1+dfsg-1
ii  libisl15 0.17.1-1
ii  libmpc3  1.0.3-1
ii  libmpfr4 3.1.4-2
ii  libphobos-6-dev  6.2.0-1
ii  zlib1g   1:1.2.8.dfsg-2+b1

gdc-6 recommends no packages.

gdc-6 suggests no packages.

-- no debconf information