www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Broken build

reply Steve Teale <steve.teale britseyeview.com> writes:
I have a makefile (Linux) that used to work OK.

DC = dmd
DFLAGS = -gc -I/usr/include/d -I/usr/local/include/d
LFLAGS = -L-L/usr/lib -L-I/usr/local/lib -L-lphobos2 -L-lgtkd -L-ldl -L-
lrt -L-lusps4cb

COMPILE = $(DC) -c $(DFLAGS)

OBJFILES := $(patsubst %.d,%.o,$(wildcard *.d))

all: compo

compo: $(OBJFILES)
	$(DC) -ofcompo $(OBJFILES) $(LFLAGS)

%.o: %.d
	$(COMPILE) $<

clean:
	rm *.o
	rm compo

Same for a CodeBlocks build. As far as I know all that I have done is to 
upgrade from 2.055 to 2.056. I tried to fix a simple bug, and everything 
compiles OK.

But now I get a slew of link errors typified by:

undefined reference to
_D3std5stdio4File17LockingTextWriter8__cpctorMFKS3std5stdio4File17
LockingTextWriterZv

Does this ring a bell with anyone please.

Steve
Dec 19 2011
parent "Martin Nowak" <dawg dawgfoto.de> writes:
On Mon, 19 Dec 2011 17:17:09 +0100, Steve Teale  
<steve.teale britseyeview.com> wrote:

 I have a makefile (Linux) that used to work OK.

 DC = dmd
 DFLAGS = -gc -I/usr/include/d -I/usr/local/include/d
 LFLAGS = -L-L/usr/lib -L-I/usr/local/lib -L-lphobos2 -L-lgtkd -L-ldl -L-
 lrt -L-lusps4cb

 COMPILE = $(DC) -c $(DFLAGS)

 OBJFILES := $(patsubst %.d,%.o,$(wildcard *.d))

 all: compo

 compo: $(OBJFILES)
 	$(DC) -ofcompo $(OBJFILES) $(LFLAGS)

 %.o: %.d
 	$(COMPILE) $<

 clean:
 	rm *.o
 	rm compo

 Same for a CodeBlocks build. As far as I know all that I have done is to
 upgrade from 2.055 to 2.056. I tried to fix a simple bug, and everything
 compiles OK.

 But now I get a slew of link errors typified by:

 undefined reference to
 _D3std5stdio4File17LockingTextWriter8__cpctorMFKS3std5stdio4File17
 LockingTextWriterZv

 Does this ring a bell with anyone please.

 Steve

I'd guess a recent change in the compiler creates new copy constructor for certain types but your phobos installation was build with a older version of the compiler so it hasn't got the copy constructor.
Dec 19 2011