www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Building 2.063.2 from source produces non-working toolchain??

reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
While trying to track down a 2.063.2 problem someone posted to the
D.learn forum, I tried to build dmd/druntime/phobos 2.063.2 from source,
and to my chagrin, discovered that the resulting toolchain is
non-functional.  Even the simplest program:

	void main() {}

doesn't compile:

/mnt/1/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../x86_
4-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
test.o: In function `no symbol':
test.d:(.text+0x6): undefined reference to `_Dmodule_ref'
collect2: error: ld returned 1 exit status
--- errorlevel 1

Attempting to run Phobos unittests also aborts with undefined references
to `_Dmodule_ref'.

Am I doing something wrong?? How did 2.063.2 even build in the first
place?

P.S. I'm on Linux 64-bit, in case that matters. (Also, I don't have
32-bit development libraries installed -- could that be a problem?)


T

-- 
May you live all the days of your life. -- Jonathan Swift
Aug 28 2013
next sibling parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Wed, 28 Aug 2013 15:18:47 -0700
"H. S. Teoh" <hsteoh quickfur.ath.cx> wrote:
 
  (Also, I don't have
 32-bit development libraries installed -- could that be a problem?)
 

Possibly, although I don't know what the expected symptoms of that would be. Could you post the exact steps you're using to checkout, build and test the toolchain? Also, are you sure your dmd.conf is right and that the right dmd.conf is being picked up?
Aug 28 2013
parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Thu, Aug 29, 2013 at 01:57:11AM -0400, Nick Sabalausky wrote:
 On Thu, 29 Aug 2013 01:27:08 -0400
 Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> wrote:

 The following works for me, although my Linux box is a 32-bit VM
 (stupid consumer-level Intel CPU with no hardware virtualization...).
 But doing s/32/64/ *should* make it work on a 64-bit:
 
 http://pastebin.com/QegPhs8U

*facepalm* I'm an idiot. My dmd.conf was broken, because it didn't include the -L-L% P%/../../druntime/lib component, so no wonder it couldn't find the startup files. I'll crawl into the corner to hide now. ;-) Thanks for the detailed paste, though. I wouldn't have discovered the problem otherwise! T -- Perhaps the most widespread illusion is that if we were in power we would behave very differently from those who now hold it---when, in truth, in order to get power we would have to become very much like them. -- Unknown
Aug 29 2013
prev sibling next sibling parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Thu, 29 Aug 2013 01:27:08 -0400
Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> wrote:

 On Wed, 28 Aug 2013 15:18:47 -0700
 "H. S. Teoh" <hsteoh quickfur.ath.cx> wrote:
 
  (Also, I don't have
 32-bit development libraries installed -- could that be a problem?)
 

Possibly, although I don't know what the expected symptoms of that would be. Could you post the exact steps you're using to checkout, build and test the toolchain? Also, are you sure your dmd.conf is right and that the right dmd.conf is being picked up?

The following works for me, although my Linux box is a 32-bit VM (stupid consumer-level Intel CPU with no hardware virtualization...). But doing s/32/64/ *should* make it work on a 64-bit: http://pastebin.com/QegPhs8U
Aug 28 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-08-29 00:18, H. S. Teoh wrote:
 While trying to track down a 2.063.2 problem someone posted to the
 D.learn forum, I tried to build dmd/druntime/phobos 2.063.2 from source,
 and to my chagrin, discovered that the resulting toolchain is
 non-functional.  Even the simplest program:

 	void main() {}

 doesn't compile:

Using a clone from git or the zip release? -- /Jacob Carlborg
Aug 28 2013