gdc on linux does not install druntime's .d files?
Iain Buclaw
ibuclaw at ubuntu.com
Thu Oct 17 09:31:11 PDT 2013
On 17 October 2013 10:09, Johannes Pfau <nospam at example.com> wrote:
> 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.
1. gdc looks for both .d and .di files in the include paths, so that
is not the problem...
2. The .di file generation should still be kept around to act as a
sanity check to make sure that all is useful for the target
platform/architecture.
--
Iain Buclaw
*(p < e ? p++ : p) = (c & 0x0f) + '0';
More information about the D.gnu
mailing list