Thread overview
(Linux) Which compilers should be working now with shared libraries?
Nov 15, 2013
Marco Leise
Nov 15, 2013
Dicebot
Nov 15, 2013
Marco Leise
Nov 16, 2013
Martin Nowak
Nov 16, 2013
Marco Leise
Nov 16, 2013
qznc
Nov 17, 2013
Ellery Newcomer
Nov 16, 2013
David Nadlinger
November 15, 2013
Since GtkD offers the option to build shared libraries, I was
wondering which of the 3 compilers (SDC excluded for now,
sorry :)) can handle that at the moment.
I think DMD does and GDC doesn't (at least the Wiki says so).
What about LDC?

-- 
Marco

November 15, 2013
Only DMD does shared right now.
November 15, 2013
Am Fri, 15 Nov 2013 20:37:53 +0100
schrieb Marco Leise <Marco.Leise@gmx.de>:

> Since GtkD offers the option to build shared libraries, I was
> wondering which of the 3 compilers (SDC excluded for now,
> sorry :)) can handle that at the moment.
> I think DMD does and GDC doesn't (at least the Wiki says so).
> What about LDC?

Oops, this was answered with "not ready yet" a few topics earlier. Ok, then static D libs only for now.

-- 
Marco

November 16, 2013
On Friday, 15 November 2013 at 20:17:38 UTC, Marco Leise wrote:
> Oops, this was answered with "not ready yet" a few topics
> earlier. Ok, then static D libs only for now.

That applies only to loading, linking shared libraries works.
November 16, 2013
Am Sat, 16 Nov 2013 14:00:53 +0100
schrieb "Martin Nowak" <code@dawg.eu>:

> On Friday, 15 November 2013 at 20:17:38 UTC, Marco Leise wrote:
> > Oops, this was answered with "not ready yet" a few topics earlier. Ok, then static D libs only for now.
> 
> That applies only to loading, linking shared libraries works.

That reads like "all compilers can link against shared
libraries, but none can actually load any into the process".
That's probably not what you meant to say, right? At least
"Hello world" with phobos.so seems to work with DMD.
Or does loading D libraries through libdl in particular fail?

-- 
Marco

November 16, 2013
On Friday, 15 November 2013 at 19:38:10 UTC, Marco Leise wrote:
> What about LDC?

As I just noted in another thread, the DMD 2.064 branch of LDC now uses the same module discovery/runtime startup scheme on Linux as DMD. So, thanks to Martin's awesome work, it is only a matter of working any remaining small issues out at this point.

David
November 16, 2013
On Saturday, 16 November 2013 at 13:00:54 UTC, Martin Nowak wrote:
> On Friday, 15 November 2013 at 20:17:38 UTC, Marco Leise wrote:
>> Oops, this was answered with "not ready yet" a few topics
>> earlier. Ok, then static D libs only for now.
>
> That applies only to loading, linking shared libraries works.

I think telling anybody "shared libraries do (not) work" is too simplistic. Is there an overview, what does and what does not work with shared libraries? I envision a matrix with one axis "dmd, gdc, ldc" and one axis "linking shared C library, loading/unloading shared C libraries, link shared D library into D, link shared D library into C, ..."
November 17, 2013
On 11/16/2013 02:40 PM, qznc wrote:
> On Saturday, 16 November 2013 at 13:00:54 UTC, Martin Nowak wrote:
>> On Friday, 15 November 2013 at 20:17:38 UTC, Marco Leise wrote:
>>> Oops, this was answered with "not ready yet" a few topics
>>> earlier. Ok, then static D libs only for now.
>>
>> That applies only to loading, linking shared libraries works.
>
> I think telling anybody "shared libraries do (not) work" is too
> simplistic. Is there an overview, what does and what does not work with
> shared libraries? I envision a matrix with one axis "dmd, gdc, ldc" and
> one axis "linking shared C library, loading/unloading shared C
> libraries, link shared D library into D, link shared D library into C, ..."

and then another axis for dmdfe/druntime release, and then another axis for platform, and then another axis for architecture

and then this becomes maybe a bit much for a wiki system to handle.

But I would like something like this too.