[Bug d/87866] New: gdc fails to compile minimal test

ro at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Nov 2 14:10:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87866

            Bug ID: 87866
           Summary: gdc fails to compile minimal test
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
              Host: *-*-solaris2.10

Continuing from the failure described in PR d/87865 with the workaround
mentioned
there,libphobos fails to configure:

configure: error: can't compile D sources!

config.log shows

configure:4846: /var/gcc/regression/trunk/10-gcc-gas/build/./gcc/gdc
-B/var/gcc/regression/trunk/10-gcc-gas/build/./gcc/
-B/vol/gcc/sparc-sun-solaris2.10/bin/ -B/vol/gcc/sparc-sun-solaris2.10/lib/
-isystem /vol/gcc/sparc-sun-solaris2.10/include -isystem
/vol/gcc/sparc-sun-solaris2.10/sys-include   -fchecking=1 -c -fno-moduleinfo
-nostdinc -I /vol/gcc/src/hg/trunk/local/libphobos/libdruntime  -O2 -g
conftest.d >&5
d21: error: cannot find source code for runtime library file 'object.d'
d21: note: dmd might not be correctly installed. Run 'dmd -man' for
installation
 instructions.

in pp_string, at pretty-print.c:1701
0x1188dc3 pp_string(pretty_printer*, char const*)
        /vol/gcc/src/hg/trunk/local/gcc/pretty-print.c:1701
0x1188dc3 pp_string(pretty_printer*, char const*)
        /vol/gcc/src/hg/trunk/local/gcc/pretty-print.c:1699
0x118a23b pp_format(pretty_printer*, text_info*)
        /vol/gcc/src/hg/trunk/local/gcc/pretty-print.c:1294
0x11785a7 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*)
        /vol/gcc/src/hg/trunk/local/gcc/diagnostic.c:1004
0x336fe7 d_diagnostic_report_diagnostic
        /vol/gcc/src/hg/trunk/local/gcc/d/d-diagnostic.cc:138
0x3371f7 errorSupplemental(Loc const&, char const*, ...)
        /vol/gcc/src/hg/trunk/local/gcc/d/d-diagnostic.cc:206
0x22871f Module::read(Loc)
        /vol/gcc/src/hg/trunk/local/gcc/d/dmd/dmodule.c:313
0x22aa43 Module::load(Loc, Array<Identifier*>*, Identifier*)
        /vol/gcc/src/hg/trunk/local/gcc/d/dmd/dmodule.c:278
0x20f003 Import::load(Scope*)
        /vol/gcc/src/hg/trunk/local/gcc/d/dmd/dimport.c:155
0x20f227 Import::importAll(Scope*)
        /vol/gcc/src/hg/trunk/local/gcc/d/dmd/dimport.c:174
0x20f227 Import::importAll(Scope*)
        /vol/gcc/src/hg/trunk/local/gcc/d/dmd/dimport.c:170
0x227fff Module::importAll(Scope*)
        /vol/gcc/src/hg/trunk/local/gcc/d/dmd/dmodule.c:790
0x227fff Module::importAll(Scope*)
        /vol/gcc/src/hg/trunk/local/gcc/d/dmd/dmodule.c:725
0x3415b7 d_parse_file()
        /vol/gcc/src/hg/trunk/local/gcc/d/d-lang.cc:1099

When I run the compiler under truss -f, I find that it only looks in its
 working directory for some reason:

4398:   read(4, " m o d u l e   m o d ;\n".., 50)       = 50
4398:   close(4)                                        = 0
4398:   stat64("object.di", 0xFFBFE980)                 Err#2 ENOENT
4398:   stat64("object.d", 0xFFBFE980)                  Err#2 ENOENT
4398:   stat64("object", 0xFFBFE980)                    Err#2 ENOENT
4398:   open64("object.d", O_RDONLY)                    Err#2 ENOENT

I haven't yet dug further or compared with what happens on Solaris 11 where
this works fine.


More information about the Gcc-bugs mailing list