Cannot link with libphobos2.a with GCC 6.2 on Ubuntu 16.10

Nordlöw via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Oct 14 04:59:03 PDT 2016


On Thursday, 13 October 2016 at 19:11:36 UTC, Adam D. Ruppe wrote:
> Try `-defaultlib=libphobos2.so` with your dmd command line. The 
> .so version is pic compiled.
>
> Or you can recompile the whole lib.

I don't know how to do that from the command line. I don't want 
to hand modify the Makefile because I want this automatic.

Instead I tried

     make -f posix.mak AUTO_BOOTSTRAP=1

but that fails as

++ -c -Wno-deprecated -Wstrict-aliasing -fno-exceptions -fno-rtti 
-D__pascal= -DMARS=1 -DTARGET_LINUX=1 -DDM_TARGET_CPU_X86=1 -m64 
-Iroot -Itk -Ibackend -I. -DDMDV2=1 -MMD -MF cgsched.deps 
backend/cgsched.c
backend/cg87.c: In function ‘unsigned char loadconst(elem*, int)’:
backend/cg87.c:716:46: error: narrowing conversion of ‘238’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
          {0xEE,0xE8,0xEB,0xE9,0xEA,0xEC,0xED,0};
                                               ^
backend/cg87.c:716:46: error: narrowing conversion of ‘232’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘235’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘233’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘234’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘236’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
backend/cg87.c:716:46: error: narrowing conversion of ‘237’ from 
‘int’ to ‘char’ inside { } [-Wnarrowing]
posix.mak:446: receptet för målet ”cg87.o” misslyckades

on Ubuntu 16.10. It seems we need fix the implicit conversion in 
cg87.c to match stricter type-checking in GCC 6.2.


More information about the Digitalmars-d-learn mailing list