Thread overview
DSSS 0.74 + DMD 8-(
Dec 25, 2007
Gregor Richards
Dec 25, 2007
John Reimer
Dec 29, 2007
John Reimer
Dec 29, 2007
John Reimer
Dec 26, 2007
yidabu
December 25, 2007
I had hacked DSSS to work with DMD (after some problems), but the problems in DMD have now been fixed. So, DSSS 0.74 is wonky with DMD.

I'll get another release out with that fixed ASAP, but for the moment use 0.73 with DMD.

My mistake,

 - Gregor Richards
December 25, 2007
On Tue, 25 Dec 2007 12:14:08 -0800, Gregor Richards wrote:

> I had hacked DSSS to work with DMD (after some problems), but the problems in DMD have now been fixed. So, DSSS 0.74 is wonky with DMD.
> 
> I'll get another release out with that fixed ASAP, but for the moment use 0.73 with DMD.
> 
> My mistake,
> 
>   - Gregor Richards

Ok, that's good to know. :)

There also seems to be something wrong with 0.73 and gdc 0.24 on linux. Building with a makefile (which uses "gdc" directly) creates a working executable.  Building the same project with "dsss build" (settings using proifle "gdc-posix" creates an executable that segfaults (dsss uses "gdmd"). See guisterax project on dsource.org... this is somehow related to projects using a dynamic loader because gtkD has the same problem with dsss on linux. (using dmd with dsss works for both of these).

Hope you have a clue what's wrong. :)

-JJR

December 26, 2007
On Tue, 25 Dec 2007 12:14:08 -0800
Gregor Richards <Richards@codu.org> wrote:

I reverted to DSSS 0.73.


> I had hacked DSSS to work with DMD (after some problems), but the problems in DMD have now been fixed. So, DSSS 0.74 is wonky with DMD.
> 
> I'll get another release out with that fixed ASAP, but for the moment use 0.73 with DMD.
> 
> My mistake,
> 
>   - Gregor Richards


-- 
yidabu <yidabu.nospam@gmail.com>
D Programming Language China:
http://www.d-programming-language-china.org/
December 29, 2007
John Reimer wrote:
> On Tue, 25 Dec 2007 12:14:08 -0800, Gregor Richards wrote:
> 
>> I had hacked DSSS to work with DMD (after some problems), but the
>> problems in DMD have now been fixed. So, DSSS 0.74 is wonky with DMD.
>>
>> I'll get another release out with that fixed ASAP, but for the moment
>> use 0.73 with DMD.
>>
>> My mistake,
>>
>>   - Gregor Richards
> 
> Ok, that's good to know. :)
> 
> There also seems to be something wrong with 0.73 and gdc 0.24 on linux.  Building with a makefile (which uses "gdc" directly) creates a working executable.  Building the same project with "dsss build" (settings using proifle "gdc-posix" creates an executable that segfaults (dsss uses "gdmd"). See guisterax project on dsource.org... this is somehow related to projects using a dynamic loader because gtkD has the same problem with dsss on linux. (using dmd with dsss works for both of these).
> 
> Hope you have a clue what's wrong. :)
> 
> -JJR
> 


At dsource, the GtkD project guys have determined that this particular issue is due to dsss passing "-rdynamic" to the linker on linux (gdc 0.24)

In etc/rebuild/gdc-posix file export_dynamic=-q,-rdynamic... so this is what is causing the segfaults. Mike Wey determined that passing -rdynamic to the linker for a dmd produces the same segfault.

So, I'm not sure what the intention is for -rdynamic being passed to the linker for gdc, but apparently it's not suitable for projects that load these symbols manually (ie, derelict, GtkD, guisterax) using libdl directly.

It's at least good to know that this is customizable. :)

-JJR

-JJR
December 29, 2007
John Reimer wrote:
> 
> At dsource, the GtkD project guys have determined that this particular issue is due to dsss passing "-rdynamic" to the linker on linux (gdc 0.24)
> 
> In etc/rebuild/gdc-posix file export_dynamic=-q,-rdynamic... so this is what is causing the segfaults. Mike Wey determined that passing -rdynamic to the linker for a dmd produces the same segfault.
> 
> So, I'm not sure what the intention is for -rdynamic being passed to the linker for gdc, but apparently it's not suitable for projects that load these symbols manually (ie, derelict, GtkD, guisterax) using libdl directly.
> 
> It's at least good to know that this is customizable. :)
> 

And finally, the solution is to add the "-no-export-dynamic" flag to the "buildflags" section of the dsss.conf file for these kinds of projects.

-JJR