www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - Linking problem

reply Russel Winder via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
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=3D. -O -release -c -of=3Dpi_parallelMapSequentialReduce.o pi_parall=
elMapSequentialReduce.d
ldc2 -I=3D. -O -release -c -of=3DoutputFunctions.o outputFunctions.d
ldc2 -of=3Dpi_parallelMapSequentialReduce pi_parallelMapSequentialReduce.o =
outputFunctions.o
pi_parallelMapSequentialReduce.o: In function `_D3std11parallelism8TaskPool=
100__T4amapS88_D30pi_parallelMapSequentialReduce10partialSumFyS3std8typecon=
s16__T5TupleTiTiTdZ5TupleZdZ156__T4amapTS3std9algorithm118__T9MapResultS543=
0pi_parallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iota=
TyiTyiZ4iotaFyiyiZ6ResultZ9MapResultZ4amapMFS3std9algorithm118__T9MapResult=
S5430pi_parallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4=
iotaTyiTyiZ4iotaFyiyiZ6ResultZ9MapResultZAd':
pi_parallelMapSequentialReduce.d:(.text._D3std11parallelism8TaskPool100__T4=
amapS88_D30pi_parallelMapSequentialReduce10partialSumFyS3std8typecons16__T5=
TupleTiTiTdZ5TupleZdZ156__T4amapTS3std9algorithm118__T9MapResultS5430pi_par=
allelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyiTyiZ=
4iotaFyiyiZ6ResultZ9MapResultZ4amapMFS3std9algorithm118__T9MapResultS5430pi=
_parallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyi=
TyiZ4iotaFyiyiZ6ResultZ9MapResultZAd[_D3std11parallelism8TaskPool100__T4ama=
pS88_D30pi_parallelMapSequentialReduce10partialSumFyS3std8typecons16__T5Tup=
leTiTiTdZ5TupleZdZ156__T4amapTS3std9algorithm118__T9MapResultS5430pi_parall=
elMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyiTyiZ4io=
taFyiyiZ6ResultZ9MapResultZ4amapMFS3std9algorithm118__T9MapResultS5430pi_pa=
rallelMapSequentialReduce7executeFyiZ9__lambda3TS3std5range15__T4iotaTyiTyi=
Z4iotaFyiyiZ6ResultZ9MapResultZAd]+0x3d): undefined reference to `_D4core6m=
emory2GC6mallocFNaNbmkxC8TypeInfoZPv'
pi_parallelMapSequentialReduce.o: In function `_D3std6string17__T6formatTaT=
mTmZ6formatFNaNfxAammZAya':
pi_parallelMapSequentialReduce.d:(.text._D3std6string17__T6formatTaTmTmZ6fo=
rmatFNaNfxAammZAya[_D3std6string17__T6formatTaTmTmZ6formatFNaNfxAammZAya]+0=
x1d): undefined reference to `_D3std5array20__T8appenderTAyaTyaZ8appenderFN=
aNbNfZS3std5array20__T8AppenderTAyaTyaZ8Appender'
pi_parallelMapSequentialReduce.o: In function `_D3std6format69__T14formatte=
dWriteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNa=
NfS3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk':
pi_parallelMapSequentialReduce.d:(.text._D3std6format69__T14formattedWriteT=
S3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std=
5array20__T8AppenderTAyaTyaZ8AppenderxAammZk[_D3std6format69__T14formattedW=
riteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNf=
S3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk]+0x6a): undefined referen=
ce to `_D3std6format18__T10FormatSpecTaZ10FormatSpec6__ctorMFNaNbNcNiNfxAaZ=
S3std6format18__T10FormatSpecTaZ10FormatSpec'
pi_parallelMapSequentialReduce.d:(.text._D3std6format69__T14formattedWriteT=
S3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std=
5array20__T8AppenderTAyaTyaZ8AppenderxAammZk[_D3std6format69__T14formattedW=
riteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNf=
S3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk]+0x112): undefined refere=
nce to `_D3std6format18__T10FormatSpecTaZ10FormatSpec6flDashMFNaNbNdNiNfbZv=
'
pi_parallelMapSequentialReduce.d:(.text._D3std6format69__T14formattedWriteT=
S3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNfS3std=
5array20__T8AppenderTAyaTyaZ8AppenderxAammZk[_D3std6format69__T14formattedW=
riteTS3std5array20__T8AppenderTAyaTyaZ8AppenderTaTmTmZ14formattedWriteFNaNf=
S3std5array20__T8AppenderTAyaTyaZ8AppenderxAammZk]+0x169): undefined refere=
nce to `_D3std6format18__T10FormatSpecTaZ10FormatSpec6flDashMFNaNbNdNiNfbZv=
'
pi_parallelMapSequentialReduce.o: In function `_D3std5array20__T8AppenderTA=
yaTyaZ8Appender13ensureAddableMFNaNbNfmZv':
pi_parallelMapSequentialReduce.d:(.text._D3std5array20__T8AppenderTAyaTyaZ8=
Appender13ensureAddableMFNaNbNfmZv[_D3std5array20__T8AppenderTAyaTyaZ8Appen=
der13ensureAddableMFNaNbNfmZv]+0x41): undefined reference to `_D3std5array2=
9__T19appenderNewCapacityVmi1Z19appenderNewCapacityFNaNbNiNfmmZm'
pi_parallelMapSequentialReduce.d:(.text._D3std5array20__T8AppenderTAyaTyaZ8=
Appender13ensureAddableMFNaNbNfmZv[_D3std5array20__T8AppenderTAyaTyaZ8Appen=
der13ensureAddableMFNaNbNfmZv]+0x61): undefined reference to `_D4core6memor=
y2GC6extendFNaNbPvmmxC8TypeInfoZm'
pi_parallelMapSequentialReduce.d:(.text._D3std5array20__T8AppenderTAyaTyaZ8=
Appender13ensureAddableMFNaNbNfmZv[_D3std5array20__T8AppenderTAyaTyaZ8Appen=
der13ensureAddableMFNaNbNfmZv]+0x81): undefined reference to `_D4core6memor=
y2GC6qallocFNaNbmkxC8TypeInfoZS4core6memory8BlkInfo_'
pi_parallelMapSequentialReduce.o: In function `_D3std6format64__T11formatVa=
lueTS3std5array20__T8AppenderTAyaTyaZ8AppenderTmTaZ11formatValueFNaNfS3std5=
array20__T8AppenderTAyaTyaZ8AppendermKS3std6format18__T10FormatSpecTaZ10For=
matSpecZv':
pi_parallelMapSequentialReduce.d:(.text._D3std6format64__T11formatValueTS3s=
td5array20__T8AppenderTAyaTyaZ8AppenderTmTaZ11formatValueFNaNfS3std5array20=
__T8AppenderTAyaTyaZ8AppendermKS3std6format18__T10FormatSpecTaZ10FormatSpec=
Zv[_D3std6format64__T11formatValueTS3std5array20__T8AppenderTAyaTyaZ8Append=
erTmTaZ11formatValueFNaNfS3std5array20__T8AppenderTAyaTyaZ8AppendermKS3std6=
format18__T10FormatSpecTaZ10FormatSpecZv]+0xbd): undefined reference to `_D=
3std6format67__T14formatIntegralTS3std5array20__T8AppenderTAyaTyaZ8Appender=
TmTaZ14formatIntegralFNaNbNfS3std5array20__T8AppenderTAyaTyaZ8AppenderxmKS3=
std6format18__T10FormatSpecTaZ10FormatSpeckmZv'
=E2=80=A6


--=20
Russel.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder ekiga.n=
et
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
Oct 17 2014
parent reply "David Nadlinger" <code klickverbot.at> writes:
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
Oct 18 2014
parent Russel Winder via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
On Sat, 2014-10-18 at 22:43 +0000, David Nadlinger via digitalmars-d-ldc
wrote:
[=E2=80=A6]
 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=E2=80=A6
 In case of inexplicable build problems, the first thing to try is=20
 to start with a whole new build directory. make clean is=20
 auto-generated by CMake and might also be incomplete (that would=20
 be a valid bug report, as it can reasonably be expected to work).
=20
 If this doesn't resolve the issue, please open a GitHub ticket=20
 with the relevant version/environment information and=20
 instructions how to reproduce the issue. Even if you can't get=20
 the test case down to a single file, it's still better than=20
 having no test case at all. Taking blind guesses really doesn't=20
 work too well.
=E2=80=A6in 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 :-) --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 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
Oct 19 2014