Installing ldc breaks gdc

Eduard Staniloiu via Digitalmars-d digitalmars-d at puremagic.com
Sat Dec 10 06:56:41 PST 2016


On Friday, 9 December 2016 at 17:34:35 UTC, Daniel Kozak wrote:
>
>
On Friday, 9 December 2016 at 17:34:35 UTC, Daniel Kozak wrote:
> No thats all wrong, dmd a gdc could not use same include 
> directory that is not possible. GDC use
>
> /usr/lib/gcc/x86_64-linux-gnu/5/include/d/

Yes and no.. as you can see from the verbose output

binary    /usr/lib/gcc/x86_64-linux-gnu/5/cc1d
version   v2.067.1
parse     gcd_bench
importall gcd_bench
import    
object	(/usr/lib/gcc/x86_64-linux-gnu/5/include/d/object.d)
import    std.algorithm	(/usr/include/d/std/algorithm/package.d)
import    
std.algorithm.comparison	(/usr/include/d/std/algorithm/comparison.d)
import    std.functional	(/usr/include/d/std/functional.d)
.
.
import    std.stdiobase	(/usr/include/d/std/stdiobase.d)
/usr/include/d/core/stdc/stdarg.d:48:5: error: undefined 
identifier __va_list_tag
      alias __va_list = __va_list_tag;
      ^
import    core.stdc.errno	(/usr/include/d/core/stdc/errno.d)


> LDC use
>
> /usr/include/d/

binary    /usr/bin/ldc2
version   0.17.1 (DMD v2.068.2, LLVM 3.8.0)
config    /etc/ldc2.conf

contents of /etc/ldc2.conf:

default:
{
     // 'switches' holds array of string that are appends to the 
command line
     // arguments before they are parsed.
     switches = [
         "-I/usr/include/d/ldc",
         "-I/usr/include/d",
         "-L-L/usr/lib",
         "-defaultlib=phobos2-ldc,druntime-ldc",
         "-debuglib=phobos2-ldc-debug,druntime-ldc-debug"
     ];
};

> and dmd use:
>
> /usr/include/dmd

binary    dmd
version   v2.072.0
config    /etc/dmd.conf

contents of /etc/dmd.conf:

[Environment32]
DFLAGS=-I/usr/include/dmd/phobos 
-I/usr/include/dmd/druntime/import -L-L/usr/lib/i386-linux-gnu 
-L--export-dynamic

[Environment64]
DFLAGS=-I/usr/include/dmd/phobos 
-I/usr/include/dmd/druntime/import -L-L/usr/lib/x86_64-linux-gnu 
-L--export-dynamic


> You probably have some misconfiguration issue

Everything is default, since they all have been installed with 
apt-get install


More information about the Digitalmars-d mailing list