[Issue 16794] Official .deb packages must compile libphobos2.a with -fPIC

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Tue Nov 29 18:42:08 PST 2016


https://issues.dlang.org/show_bug.cgi?id=16794

Jonathan M Davis <issues.dlang at jmdavisProg.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |issues.dlang at jmdavisProg.co
                   |                            |m
         Depends on|                            |15935

--- Comment #2 from Jonathan M Davis <issues.dlang at jmdavisProg.com> ---
I've tried to bootstrap dmd on (k)ubuntu 16.10 in two different ways:

1. Compiling and installing dmd 2.067.1 and then trying to build 2.071.0 with
it.
2. Compiling 2.071.0 with the ldc currently in the ubunto repos which shows

LDC - the LLVM D compiler (0.17.1):
  based on DMD v2.068.2 and LLVM 3.8.0

as its version.

In both cases, to get dmd building, I've had to add -Wno-narrowing to dmd's
src/posix.mak like so

BACK_FLAGS := -I$(ROOT) -I$(TK) -I$(C) -I. -DDMDV2=1 -Wno-narrowing

or dmd failed to compile due to errors related to narrowing conversions. When I
built druntime and Phobos, I compiled them with PIC=1. I was able to build dmd
2.067.1 and its corresponding druntime and phobos in this manner (after which I
added -fPIC to its dmd.conf). However, whether I built dmd 2.070.0 with dmd
2.067.1 or with ldmd2 -fPIC, I ran into the same build error. dmd 2.070.0 built
fine, but its druntime failed with

Internal error: backend/elfobj.c 1027
posix.mak:184: recipe for target 'generated/linux/release/64/libdruntime.a'
failed

which looks like is what is being hit in bug #15935, though there, it's
reporting it for dub rather than druntime.

--


More information about the Digitalmars-d-bugs mailing list