Thread overview
Trunk Having trouble linking.
May 29, 2013
Hans W. Uhlig
May 29, 2013
Kai Nacke
May 29, 2013
Hans W. Uhlig
May 29, 2013
I am not sure what I did wrong, but after some C++11 corrections I finally got around to linking and boom. What library am I missing that it is attempting to reference?

CMakeFiles/ldc2.dir/driver/main.cpp.o: In function `main':
/home/huhlig/Temp/d/ldc/driver/main.cpp:(.text+0x1faf): undefined reference to `Port::stricmp(char const*, char const*)'
/home/huhlig/Temp/d/ldc/driver/main.cpp:(.text+0x1fc0): undefined reference to `Port::stricmp(char const*, char const*)'
lib/libldc.a(module.c.o): In function `Module::buildTargetFiles(bool)':
/home/huhlig/Temp/d/ldc/dmd2/module.c:(.text+0x674): undefined reference to `Port::stricmp(char const*, char const*)'
/home/huhlig/Temp/d/ldc/dmd2/module.c:(.text+0x6af): undefined reference to `Port::stricmp(char const*, char const*)'
/home/huhlig/Temp/d/ldc/dmd2/module.c:(.text+0x6ea): undefined reference to `Port::stricmp(char const*, char const*)'
lib/libldc.a(mtype.c.o): In function `TypeBasic::getProperty(Loc, Identifier*)':
/home/huhlig/Temp/d/ldc/dmd2/mtype.c:(.text+0x5bbe): undefined reference to `Port::nan'
/home/huhlig/Temp/d/ldc/dmd2/mtype.c:(.text+0x5be2): undefined reference to `Port::infinity'
/home/huhlig/Temp/d/ldc/dmd2/mtype.c:(.text+0x5c50): undefined reference to `Port::ldbl_max'
lib/libldc.a(doc.c.o): In function `DocComment::parseMacros(Escape**, Macro**, unsigned char*, unsigned long)':
/home/huhlig/Temp/d/ldc/dmd2/doc.c:(.text+0x867): undefined reference to `Port::memicmp(char const*, char const*, int)'
lib/libldc.a(doc.c.o): In function `DocComment::parse(Scope*, Dsymbol*, unsigned char*)':
/home/huhlig/Temp/d/ldc/dmd2/doc.c:(.text+0xae1): undefined reference to `Port::memicmp(char const*, char const*, int)'
/home/huhlig/Temp/d/ldc/dmd2/doc.c:(.text+0xb9f): undefined reference to `Port::memicmp(char const*, char const*, int)'
/home/huhlig/Temp/d/ldc/dmd2/doc.c:(.text+0xbd6): undefined reference to `Port::memicmp(char const*, char const*, int)'
lib/libldc.a(doc.c.o): In function `isDitto(unsigned char*)':
/home/huhlig/Temp/d/ldc/dmd2/doc.c:(.text+0x3551): undefined reference to `Port::memicmp(char const*, char const*, int)'
lib/libldc.a(doc.c.o):/home/huhlig/Temp/d/ldc/dmd2/doc.c:(.text+0x38fd): more undefined references to `Port::memicmp(char const*, char const*, int)' follow
lib/libldc.a(expression.c.o): In function `RealEquals(long double, long double)':
/home/huhlig/Temp/d/ldc/dmd2/expression.c:(.text+0x81aa): undefined reference to `Port::isNan(long double)'
/home/huhlig/Temp/d/ldc/dmd2/expression.c:(.text+0x81cc): undefined reference to `Port::isNan(long double)'
lib/libldc.a(expression.c.o): In function `RealExp::equals(Object*)':
/home/huhlig/Temp/d/ldc/dmd2/expression.c:(.text+0x82c4): undefined reference to `Port::isNan(long double)'
/home/huhlig/Temp/d/ldc/dmd2/expression.c:(.text+0x82d4): undefined reference to `Port::isNan(long double)'
lib/libldc.a(expression.c.o): In function `realToMangleBuffer(OutBuffer*, long double)':
/home/huhlig/Temp/d/ldc/dmd2/expression.c:(.text+0x851b): undefined reference to `Port::isNan(long double)'
lib/libldc.a(expression.c.o):/home/huhlig/Temp/d/ldc/dmd2/expression.c:(.text+0x8944): more undefined references to `Port::isNan(long double)' follow
lib/libldc.a(constfold.c.o): In function `Mod(Type*, Expression*, Expression*)':
/home/huhlig/Temp/d/ldc/dmd2/constfold.c:(.text+0x1b7a): undefined reference to `Port::fmodl(long double, long double)'
/home/huhlig/Temp/d/ldc/dmd2/constfold.c:(.text+0x1b9b): undefined reference to `Port::fmodl(long double, long double)'
/home/huhlig/Temp/d/ldc/dmd2/constfold.c:(.text+0x1c5f): undefined reference to `Port::fmodl(long double, long double)'
/home/huhlig/Temp/d/ldc/dmd2/constfold.c:(.text+0x1c80): undefined reference to `Port::fmodl(long double, long double)'
lib/libldc.a(constfold.c.o): In function `Pow(Type*, Expression*, Expression*)':
/home/huhlig/Temp/d/ldc/dmd2/constfold.c:(.text+0x20ef): undefined reference to `Port::nan'
lib/libldc.a(constfold.c.o): In function `Equal(TOK, Type*, Expression*, Expression*)':
/home/huhlig/Temp/d/ldc/dmd2/constfold.c:(.text+0x2d43): undefined reference to `Port::isNan(long double)'
/home/huhlig/Temp/d/ldc/dmd2/constfold.c:(.text+0x2d60): undefined reference to `Port::isNan(long double)'
lib/libldc.a(constfold.c.o): In function `Cmp(TOK, Type*, Expression*, Expression*)':
/home/huhlig/Temp/d/ldc/dmd2/constfold.c:(.text+0x325b): undefined reference to `Port::isNan(long double)'
/home/huhlig/Temp/d/ldc/dmd2/constfold.c:(.text+0x326b): undefined reference to `Port::isNan(long double)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [bin/ldc2] Error 1
make[1]: *** [CMakeFiles/ldc2.dir/all] Error 2
make: *** [all] Error 2
May 29, 2013
On Wednesday, 29 May 2013 at 01:02:27 UTC, Hans W. Uhlig wrote:
> I am not sure what I did wrong, but after some C++11 corrections I finally got around to linking and boom. What library am I missing that it is attempting to reference?
>
> CMakeFiles/ldc2.dir/driver/main.cpp.o: In function `main':
> /home/huhlig/Temp/d/ldc/driver/main.cpp:(.text+0x1faf): undefined reference to `Port::stricmp(char const*, char const*)'

Hi Hans!

Looks like your linking list misses dmd2/root/port.c

Regards
Kai
May 29, 2013
On Wednesday, 29 May 2013 at 04:35:01 UTC, Kai Nacke wrote:
> On Wednesday, 29 May 2013 at 01:02:27 UTC, Hans W. Uhlig wrote:
>> I am not sure what I did wrong, but after some C++11 corrections I finally got around to linking and boom. What library am I missing that it is attempting to reference?
>>
>> CMakeFiles/ldc2.dir/driver/main.cpp.o: In function `main':
>> /home/huhlig/Temp/d/ldc/driver/main.cpp:(.text+0x1faf): undefined reference to `Port::stricmp(char const*, char const*)'
>
> Hi Hans!
>
> Looks like your linking list misses dmd2/root/port.c
>
> Regards
> Kai

Odd. I checked this out from trunk today and cmake ../ldc && make