I am trying to compile a small program (I can provide the source code if need be). It compiles but will not link:
dmd -I=../d_library -L='-lsqlite3' load_transactions.d ../d_library/lib.o
/usr/bin/ld: ../d_library/lib.o: in function _D3std6format8internal5write__T5roundTG64aZQmFNaNbNiNfKQrmmEQCgQCfQCbQBv13RoundingClassbaZb': /home/dca/dlang/dmd-2.097.2/linux/bin64/../../src/phobos/std/format/internal/write.d:3709: undefined reference to
_D3std4math8hardware20FloatingPointControl8roundingFNaNbNdNiNeZk'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1
make: *** [makefile:10: load_transactions] Error 1
The d demangler tells me this:
dca@pangloss:/tmp/nvim$ echo '_D3std4math8hardware20FloatingPointControl8roundingFNaNbNdNiNeZk'| /home/dca/dlang/dmd-2.097.2/linux/bin64/ddemangle
pure nothrow @property @nogc @trusted uint std.math.hardware.FloatingPointControl.rounding()
I do not reference the rounding function explicitly in my program, so I believe the reference is within the D libraries.
Any ideas/suggestions?
Thanks --
/Don Allen