gdc on linux does not install druntime's .d files?

Johannes Pfau nospam at example.com
Thu Oct 17 02:09:46 PDT 2013


Am Wed, 16 Oct 2013 23:34:11 +0100
schrieb Iain Buclaw <ibuclaw at ubuntu.com>:

> >
> >
> > Hi, sorry for the necro, but this discussion seemed to be somehow
> > relevant to the problem I'm currently having. I have built GDC for
> > ARM (on a Raspberry Pi) and I wanted to build dub [1]. This build
> > fails with the following error:
> >
> > /usr/local/stow/gdc-4.8.1/include/d/4.8.1/arm-linux-gnueabihf/core/time.di:224:
> > Error: this cannot be interpreted at compile time, because it has no
> > available source code
> > /usr/local/stow/gdc-4.8.1/include/d/4.8.1/std/net/curl.d:195:
> > called from here: dur(2L)
> >
> > Is there any way to emit the plain .d files when building GDC, or
> > some other workaround...?
> >
> > Actually, as I was typing this, it seems there is a workaround [2].
> > Still, there must be a nicer way? I must admit I don't get the
> > whole .di thing.
> >
> 
> On Ubuntu, there is no workaround other than patching gcc proper with
> the Ubuntu patches for multiarch.

Wait - this is a different problem. It's not a path problem,
it's really a .di/.d problem.

DMD seems to ship .d include files for druntime now, they're no longer
shipping the .di files. The archlinux packages even do this for gdc.
Some stuff now depends on this, as having the source code available
allows more stuff to work in ctfe.

We have to fix this in our libdruntime makefile, we shouldn't
generate the .di files anymore. Instead we should directly install
the .d files. 


More information about the D.gnu mailing list