Re: What does dmd 2.066 want from me?

2015-01-08 Thread John Colvin via Digitalmars-d-learn

On Wednesday, 7 January 2015 at 20:10:35 UTC, Artem Tarasov wrote:
I'm trying to compile my software with the latest compiler, and 
it spits out the following error:


$ make
...
rdmd --force --build-only -IBioD -g -L-Lhtslib -L-l:libhts.a 
-L-l:libphobos2.a -ofbuild/sambamba.o main.d

...
/tmp/.rdmd-1000/rdmd-main.d-5E103AD0DCA0998F00B4F9BA5B181EDE/objs/sambamba.o.o:(.data._D80TypeInfo_S3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead6__initZ+0x30): 
undefined reference to 
`_D3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead9__xtoHashFNbNeKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadZm'
/tmp/.rdmd-1000/rdmd-main.d-5E103AD0DCA0998F00B4F9BA5B181EDE/objs/sambamba.o.o:(.data._D80TypeInfo_S3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead6__initZ+0x38): 
undefined reference to 
`_D3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead11__xopEqualsFKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadZb'


What the heck do these lines mean? Presumably they come from 
the recent change in hash implementation, but I don't use this 
struct in any dictionary whatsoever! It doesn't have opCmp 
either and perfectly worked until now.


Are you totally sure that you don't have any old .o or .a files 
lying around? Remember that D offers no binary compatibility 
across compiler releases.


Also, are you absolutely certain that 1) the correct dmd.conf is 
being used and 2) the correct version of druntime/phobos is 
specified in dmd.conf


Re: What does dmd 2.066 want from me?

2015-01-08 Thread Artem Tarasov via Digitalmars-d-learn
On Thursday, 8 January 2015 at 01:22:54 UTC, Rikki Cattermole 
wrote:

Have you got opEqual's defined?
Its wanting that and toHash I think.


Yes, I have opEquals defined. I've just tried to add dummy toHash 
(returning a constant), but it doesn't help :(


OK, it seems I'll have to stick with 2.065 and LDC 0.15. These 
new bugs in every new version of compiler drive me nuts.

Thanks for trying to help, anyway.


Re: What does dmd 2.066 want from me?

2015-01-08 Thread Steven Schveighoffer via Digitalmars-d-learn

On 1/7/15 3:10 PM, Artem Tarasov wrote:

I'm trying to compile my software with the latest compiler, and it spits
out the following error:

$ make
...
rdmd --force --build-only -IBioD -g -L-Lhtslib -L-l:libhts.a
-L-l:libphobos2.a -ofbuild/sambamba.o main.d
...
/tmp/.rdmd-1000/rdmd-main.d-5E103AD0DCA0998F00B4F9BA5B181EDE/objs/sambamba.o.o:(.data._D80TypeInfo_S3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead6__initZ+0x30):
undefined reference to
`_D3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead9__xtoHashFNbNeKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadZm'

/tmp/.rdmd-1000/rdmd-main.d-5E103AD0DCA0998F00B4F9BA5B181EDE/objs/sambamba.o.o:(.data._D80TypeInfo_S3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead6__initZ+0x38):
undefined reference to
`_D3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead11__xopEqualsFKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadZb'


What the heck do these lines mean? Presumably they come from the recent
change in hash implementation, but I don't use this struct in any
dictionary whatsoever! It doesn't have opCmp either and perfectly worked
until now.


The latest changes are compile-time requirements, not link-time. I doubt 
they have to do with your problem.


Check for stale objects and libraries.

-Steve


Re: What does dmd 2.066 want from me?

2015-01-07 Thread yazd via Digitalmars-d-learn
If you have just installed a newer compiler and trying to link 
with older compiled code, then linking and other things can get 
wrong. I suggest recompiling all of your code using the new 
compiler.


What does dmd 2.066 want from me?

2015-01-07 Thread Artem Tarasov via Digitalmars-d-learn
I'm trying to compile my software with the latest compiler, and 
it spits out the following error:


$ make
...
rdmd --force --build-only -IBioD -g -L-Lhtslib -L-l:libhts.a 
-L-l:libphobos2.a -ofbuild/sambamba.o main.d

...
/tmp/.rdmd-1000/rdmd-main.d-5E103AD0DCA0998F00B4F9BA5B181EDE/objs/sambamba.o.o:(.data._D80TypeInfo_S3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead6__initZ+0x30): 
undefined reference to 
`_D3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead9__xtoHashFNbNeKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadZm'
/tmp/.rdmd-1000/rdmd-main.d-5E103AD0DCA0998F00B4F9BA5B181EDE/objs/sambamba.o.o:(.data._D80TypeInfo_S3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead6__initZ+0x38): 
undefined reference to 
`_D3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead11__xopEqualsFKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadZb'


What the heck do these lines mean? Presumably they come from the 
recent change in hash implementation, but I don't use this struct 
in any dictionary whatsoever! It doesn't have opCmp either and 
perfectly worked until now.


Re: What does dmd 2.066 want from me?

2015-01-07 Thread Rikki Cattermole via Digitalmars-d-learn

On 8/01/2015 9:10 a.m., Artem Tarasov wrote:

I'm trying to compile my software with the latest compiler, and it spits
out the following error:

$ make
...
rdmd --force --build-only -IBioD -g -L-Lhtslib -L-l:libhts.a
-L-l:libphobos2.a -ofbuild/sambamba.o main.d
...
/tmp/.rdmd-1000/rdmd-main.d-5E103AD0DCA0998F00B4F9BA5B181EDE/objs/sambamba.o.o:(.data._D80TypeInfo_S3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead6__initZ+0x30):
undefined reference to
`_D3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead9__xtoHashFNbNeKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadZm'

/tmp/.rdmd-1000/rdmd-main.d-5E103AD0DCA0998F00B4F9BA5B181EDE/objs/sambamba.o.o:(.data._D80TypeInfo_S3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead6__initZ+0x38):
undefined reference to
`_D3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamRead11__xopEqualsFKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadKxS3bio3bam4read41__T12EagerBamReadTS3bio3bam4read7BamReadZ12EagerBamReadZb'


What the heck do these lines mean? Presumably they come from the recent
change in hash implementation, but I don't use this struct in any
dictionary whatsoever! It doesn't have opCmp either and perfectly worked
until now.


Have you got opEqual's defined?
Its wanting that and toHash I think.