www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Creating a shared library in D : undefined symbol: _deh_beg

reply "Timo =?UTF-8?B?V2VzdGvDpG1wZXIi?= <timo.westkamper gmail.com> writes:
I just created a shared library in D using DMD in Ubuntu and run 
into the following error when trying to use it

   undefined symbol: _deh_beg

I found this old thread where it is suggested to create a dummy 
main method : 
http://lists.puremagic.com/pipermail/digitalmars-d/2007-October/026970.html

I did that and it fixed the error, but it doesn't seem quite 
right.

My DMD call looks like this

   dmd -shared -fPIC <DFILES HERE> -I../src -ofbeep.so
Mar 31 2012
next sibling parent mta`chrono <chrono mta-international.net> writes:
The compiler is able to generater position independant code but as far
as I remember, there are still some issues in druntime which make it
difficult to create dynamic librarys in D. You need to somehow
initialize the runtime.
Apr 01 2012
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2012-03-31 22:13, "Timo Westkämper" <timo.westkamper gmail.com>" wrote:
 I just created a shared library in D using DMD in Ubuntu and run into
 the following error when trying to use it

 undefined symbol: _deh_beg

 I found this old thread where it is suggested to create a dummy main
 method :
 http://lists.puremagic.com/pipermail/digitalmars-d/2007-October/026970.html

 I did that and it fixed the error, but it doesn't seem quite right.

 My DMD call looks like this

 dmd -shared -fPIC <DFILES HERE> -I../src -ofbeep.so
As far as I know the runtime is not ready for shared libraries yet. -- /Jacob Carlborg
Apr 01 2012
parent "Timo =?UTF-8?B?V2VzdGvDpG1wZXIi?= <timo.westkamper gmail.com> writes:
On Sunday, 1 April 2012 at 13:16:50 UTC, Jacob Carlborg wrote:
 On 2012-03-31 22:13, "Timo Westkämper" 
 <timo.westkamper gmail.com>" wrote:
 I just created a shared library in D using DMD in Ubuntu and 
 run into
 the following error when trying to use it

 undefined symbol: _deh_beg

 I found this old thread where it is suggested to create a 
 dummy main
 method :
 http://lists.puremagic.com/pipermail/digitalmars-d/2007-October/026970.html

 I did that and it fixed the error, but it doesn't seem quite 
 right.

 My DMD call looks like this

 dmd -shared -fPIC <DFILES HERE> -I../src -ofbeep.so
As far as I know the runtime is not ready for shared libraries yet.
I will try something like this http://stackoverflow.com/questions/9758255/d2-calling-writefln-in-d-shared-libraries-from-c-side
Apr 01 2012