digitalmars.D.learn - std.regex not linking on FreeBSD
- Nick Sabalausky (66/66) Aug 13 2013 Content-Disposition: inline
- Nick Sabalausky (4/16) Aug 13 2013 I think this might be a regression in 2.063. It seems to work fine
Content-Disposition: inline
Ok this is kinda weird. On FreeBSD 9.1, DMD 2.063.2, this hello world
works fine:
----------------------------
import std.stdio;
void main()
{
writeln("Hello");
}
Hello
----------------------------
But this trivial std.regex usage results in a giant stream of linker
errors:
----------------------------
import std.regex;
void main()
{
auto r = regex("aaa");
}
/tmp/.rdmd-0/rdmd-testRegex.d-5897227E7D8898088FFE24128F75C9A3/objs/testRegex.o:
In function `_D3std5regex15__T6ParserTAyaZ6Parser10parseRegexMFNeZv':
testRegex.d:(.text._D3std5regex15__T6ParserTAyaZ6Parser10parseRegexMFNeZv+0x110):
undefined reference to
`_D3std5regex8Bytecode6__ctorMFNcNfE3std5regex2IRkZS3std5regex8Bytecode'
testRegex.d:(.text._D3std5regex15__T6ParserTAyaZ6Parser10parseRegexMFNeZv+0x2b9):
undefined reference to
`_D3std5regex8Bytecode6__ctorMFNcNfE3std5regex2IRkZS3std5regex8Bytecode'
testRegex.d:(.text._D3std5regex15__T6ParserTAyaZ6Parser10parseRegexMFNeZv+0x3af):
undefined reference to
`_D3std5regex8Bytecode6__ctorMFNcNfE3std5regex2IRkZS3std5regex8Bytecode'
testRegex.d:(.text._D3std5regex15__T6ParserTAyaZ6Parser10parseRegexMFNeZv+0x4ab):
undefined reference to
`_D3std5regex8Bytecode6__ctorMFNcNfE3std5regex2IRkZS3std5regex8Bytecode'
testRegex.d:(.text._D3std5regex15__T6ParserTAyaZ6Parser10parseRegexMFNeZv+0x60c):
undefined reference to
`_D3std5regex8Bytecode6__ctorMFNcNfE3std5regex2IRkZS3std5regex8Bytecode'
/tmp/.rdmd-0/rdmd-testRegex.d-5897227E7D8898088FFE24128F75C9A3/objs/testRegex.o:testRegex.d:(.text._D3std5regex15__T6ParserTAyaZ6Parser10parseRegexMFNeZv+0x78b):
more undefined references to
`_D3std5regex8Bytecode6__ctorMFNcNfE3std5regex2IRkZS3std5regex8Bytecode'
follow
/tmp/.rdmd-0/rdmd-testRegex.d-5897227E7D8898088FFE24128F75C9A3/objs/testRegex.o:
In function `_D3std5regex15__T6ParserTAyaZ6Parser9parseAtomMFNfZv':
testRegex.d:(.text._D3std5regex15__T6ParserTAyaZ6Parser9parseAtomMFNfZv+0x22a):
undefined reference to
`_D3std5regex8Bytecode6__ctorMFNcNfE3std5regex2IRkkZS3std5regex8Bytecode'
testRegex.d:(.text._D3std5regex15__T6ParserTAyaZ6Parser9parseAtomMFNfZv+0x257):
undefined reference to
`_D3std5regex8Bytecode6__ctorMFNcNfE3std5regex2IRkZS3std5regex8Bytecode'
[...snip (full output is attached)...]
----------------------------
My dmd.conf looks like this, and yes I'm aware that's not the most kosher
place to install it (That DFLAGS stuff is really all on one line):
----------------------------
[Environment]
DFLAGS=-I/root/dmd2/src/phobos -I/root/dmd2/src/druntime/import
-L-L/root/dmd2/freebsd/lib32 -L-L/root/dmd2/freebsd/lib64
-L--no-warn-search-mismatch -L--export-dynamic
----------------------------
I know that's the only dmd.conf on the system because this is a fresh
FreeBSD VM as of today.
I also tried removing "-L--no-warn-search-mismatch -L--export-dynamic",
but that made no difference.
Aug 13 2013
On Tue, 13 Aug 2013 22:34:11 -0400
Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> wrote:
But this trivial std.regex usage results in a giant stream of linker
errors:
----------------------------
import std.regex;
void main()
{
auto r = regex("aaa");
}
I think this might be a regression in 2.063. It seems to work fine
with 2.062. Can anyone confirm?
Aug 13 2013








Nick Sabalausky <SeeWebsiteToContactMe semitwist.com>