April 15, 2016
http://bugzilla.gdcproject.org/show_bug.cgi?id=220

            Bug ID: 220
           Summary: Parsing of dmd.conf is highly problematic
           Product: GDC
           Version: development
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gdc
          Assignee: ibuclaw@gdcproject.org
          Reporter: Marco.Leise@gmx.de

When compiling dmd-2.068 with gdc based on 4.8.5 and frontend 2.066 I encountered a problem. The make file expects a D compiler with dmd interface, so I used gdmd. It produced an error about phobos2 not being found. When I looked into '-vdmd' I noticed it was picking up stuff that makes no sense. The full command lines for idgen.d were:

/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.5/x86_64-pc-linux-gnu-gdc -I /opt/dmd-2.071/import -c /var/tmp/portage/dev-lang/dmd-2.068.2-r3/work/dmd2/src/dmd/idgen.d -o idgen.o /usr/x86_64-pc-linux-gnu/gcc-bin/4.8.5/x86_64-pc-linux-gnu-gdc -I /opt/dmd-2.071/import idgen.o -Wl,--export-dynamic -defaultlib phobos2 -Wl,-L/opt/dmd-2.071/lib32 -Wl,-rpath -Wl,/opt/dmd-2.071/lib32 -Wl,-L/opt/dmd-2.071/lib32 -Wl,-rpath -Wl,/opt/dmd-2.071/lib32 -Wl,-L/opt/dmd-2.071/lib64 -Wl,-rpath -Wl,/opt/dmd-2.071/lib64 -o idgen

There was stuff from dmd-2.071's dmd.conf mixed in. The packages I maintain for Gentoo carefully separate the eco systems for each compiler and front-end version, so dmd.conf is a symlink and really only contains settings applicable for the currently active dmd. Neither its imports nor the libraries are compatible with GDC. On top of that dmd.conf may contain linker flags not required by GDC or flags may have a different meaning between compiler versions.

If a configuration file for gdmd is desired it should reside next to the script (or some other version specific path), so they can differ for multiple simultaneously installed GCCs.

-- 
You are receiving this mail because:
You are watching all bug changes.