Thread overview
Linking problem
Oct 17, 2014
Russel Winder
Oct 18, 2014
David Nadlinger
Oct 19, 2014
Russel Winder
October 17, 2014
I am using LDC compiled from master/HEAD. The command:

	make clean && make && make install && make clean

completes fine. However when I try to compile a code that used to work fine, I get a link problem shown below. The error message goes on for a very long while so I have truncated it. Hopefully the issue is something trivial. The code compiles and executes fine with DMD and GDC.

ldc2 -I=. -O -release -c -of=pi_parallelMapSequentialReduce.o pi_parallelMapSequentialReduce.d
ldc2 -I=. -O -release -c -of=outputFunctions.o outputFunctions.d
ldc2 -of=pi_parallelMapSequentialReduce pi_parallelMapSequentialReduce.o outputFunctions.o
pi_parallelMapSequentialReduce.o: In function `_D3std11parallelism8TaskPool100__T4amapS88_D30pi_parallelMapSequentialReduce10partialSumFyS3std8typecons16__T5TupleTiTiTdZ5TupleZdZ156__T4amapTS3std9algorithm118__T9MapResultS5430pi_parallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyiTyiZ4iotaFyiyiZ6ResultZ9MapResultZ4amapMFS3std9algorithm118__T9MapResultS5430pi_parallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyiTyiZ4iotaFyiyiZ6ResultZ9MapResultZAd':
pi_parallelMapSequentialReduce.d:(.text._D3std11parallelism8TaskPool100__T4amapS88_D30pi_parallelMapSequentialReduce10partialSumFyS3std8typecons16__T5TupleTiTiTdZ5TupleZdZ156__T4amapTS3std9algorithm118__T9MapResultS5430pi_parallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyiTyiZ4iotaFyiyiZ6ResultZ9MapResultZ4amapMFS3std9algorithm118__T9MapResultS5430pi_parallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyiTyiZ4iotaFyiyiZ6ResultZ9MapResultZAd[_D3std11parallelism8TaskPool100__T4amapS88_D30pi_parallelMapSequentialReduce10partialSumFyS3std8typecons16__T5TupleTiTiTdZ5TupleZdZ156__T4amapTS3std9algorithm118__T9MapResultS5430pi_parallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyiTyiZ4iotaFyiyiZ6ResultZ9MapResultZ4amapMFS3std9algorithm118__T9MapResultS5430pi_parallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyiTyiZ4iotaFyiyiZ6ResultZ9MapResultZAd]+0x3d): undefined reference to `_D4core6memory2GC6mallocFNaNbmkxC8TypeInfoZPv'
pi_parallelMapSequentialReduce.o: In function `_D3std6string17__T6formatTaTmTmZ6formatFNaNfxAammZAya':
pi_parallelMapSequentialReduce.d:(.text._D3std6string17__T6formatTaTmTmZ6formatFNaNfxAammZAya[_D3std6string17__T6formatTaTmTmZ6formatFNaNfxAammZAya]+0x1d): undefined reference to `_D3std5array20__T8appenderTAyaTyaZ8appenderFNaNbNfZS3std5array20__T8AppenderTAyaTyaZ8Appender'
pi_parallelMapSequentialReduce.o: In function `_D3std6format69__T14formattedWriteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk':
pi_parallelMapSequentialReduce.d:(.text._D3std6format69__T14formattedWriteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk[_D3std6format69__T14formattedWriteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk]+0x6a): undefined reference to `_D3std6format18__T10FormatSpecTaZ10FormatSpec6__ctorMFNaNbNcNiNfxAaZS3std6format18__T10FormatSpecTaZ10FormatSpec'
pi_parallelMapSequentialReduce.d:(.text._D3std6format69__T14formattedWriteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk[_D3std6format69__T14formattedWriteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk]+0x112): undefined reference to `_D3std6format18__T10FormatSpecTaZ10FormatSpec6flDashMFNaNbNdNiNfbZv'
pi_parallelMapSequentialReduce.d:(.text._D3std6format69__T14formattedWriteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk[_D3std6format69__T14formattedWriteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk]+0x169): undefined reference to `_D3std6format18__T10FormatSpecTaZ10FormatSpec6flDashMFNaNbNdNiNfbZv'
pi_parallelMapSequentialReduce.o: In function `_D3std5array20__T8AppenderTAyaTyaZ8Appender13ensureAddableMFNaNbNfmZv':
pi_parallelMapSequentialReduce.d:(.text._D3std5array20__T8AppenderTAyaTyaZ8Appender13ensureAddableMFNaNbNfmZv[_D3std5array20__T8AppenderTAyaTyaZ8Appender13ensureAddableMFNaNbNfmZv]+0x41): undefined reference to `_D3std5array29__T19appenderNewCapacityVmi1Z19appenderNewCapacityFNaNbNiNfmmZm'
pi_parallelMapSequentialReduce.d:(.text._D3std5array20__T8AppenderTAyaTyaZ8Appender13ensureAddableMFNaNbNfmZv[_D3std5array20__T8AppenderTAyaTyaZ8Appender13ensureAddableMFNaNbNfmZv]+0x61): undefined reference to `_D4core6memory2GC6extendFNaNbPvmmxC8TypeInfoZm'
pi_parallelMapSequentialReduce.d:(.text._D3std5array20__T8AppenderTAyaTyaZ8Appender13ensureAddableMFNaNbNfmZv[_D3std5array20__T8AppenderTAyaTyaZ8Appender13ensureAddableMFNaNbNfmZv]+0x81): undefined reference to `_D4core6memory2GC6qallocFNaNbmkxC8TypeInfoZS4core6memory8BlkInfo_'
pi_parallelMapSequentialReduce.o: In function `_D3std6format64__T11formatValueTS3std5array20__T8AppenderTAyaTyaZ8AppenderTmTaZ11formatValueFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppendermKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
pi_parallelMapSequentialReduce.d:(.text._D3std6format64__T11formatValueTS3std5array20__T8AppenderTAyaTyaZ8AppenderTmTaZ11formatValueFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppendermKS3std6format18__T10FormatSpecTaZ10FormatSpecZv[_D3std6format64__T11formatValueTS3std5array20__T8AppenderTAyaTyaZ8AppenderTmTaZ11formatValueFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppendermKS3std6format18__T10FormatSpecTaZ10FormatSpecZv]+0xbd): undefined reference to `_D3std6format67__T14formatIntegralTS3std5array20__T8AppenderTAyaTyaZ8AppenderTmTaZ14formatIntegralFNaNbNfS3std5array20__T8AppenderTAyaTyaZ8AppenderxmKS3std6format18__T10FormatSpecTaZ10FormatSpeckmZv'-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


October 18, 2014
Hi Russel,

On Friday, 17 October 2014 at 18:17:19 UTC, Russel Winder via digitalmars-d-ldc wrote:
> I am using LDC compiled from master/HEAD. The command:
>
> 	make clean && make && make install && make clean
>
> completes fine. However when I try to compile a code that used to work
> fine, I get a link problem shown below. The error message goes on for a
> very long while so I have truncated it. Hopefully the issue is something
> trivial. The code compiles and executes fine with DMD and GDC.

I would think by now you know how this works. ;)

In case of inexplicable build problems, the first thing to try is to start with a whole new build directory. make clean is auto-generated by CMake and might also be incomplete (that would be a valid bug report, as it can reasonably be expected to work).

If this doesn't resolve the issue, please open a GitHub ticket with the relevant version/environment information and instructions how to reproduce the issue. Even if you can't get the test case down to a single file, it's still better than having no test case at all. Taking blind guesses really doesn't work too well.

Cheers,
David
October 19, 2014
On Sat, 2014-10-18 at 22:43 +0000, David Nadlinger via digitalmars-d-ldc
wrote:
[…]
> I would think by now you know how this works. ;)

Indeed, I was following my usual strategy of checking on the email list I hadn't done something silly…

> In case of inexplicable build problems, the first thing to try is to start with a whole new build directory. make clean is auto-generated by CMake and might also be incomplete (that would be a valid bug report, as it can reasonably be expected to work).
> 
> If this doesn't resolve the issue, please open a GitHub ticket with the relevant version/environment information and instructions how to reproduce the issue. Even if you can't get the test case down to a single file, it's still better than having no test case at all. Taking blind guesses really doesn't work too well.

…in this case it seems someone fixed it for me as I am now getting a perfectly good build and I did nothing other than wait and "git pull; git submodule update".

The whole thing was clearly a false alarm. Which is good :-)

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder