August 16, 2008
Hello,

i try to compile gdc svn 243 under linux ubuntu 8.10 with
--d-language-version=2
./gcc-4.1.2/configure --prefix=/usr/local/gcc-4.1.2 --enable-languages=c,d,c++ --disable-share
and i get the error


/home/mahansen/D/build/./gcc/gdc -B/home/mahansen/D/build/./gcc/ -B/usr/local/gcc-4.1.2/i686-pc-linux-gnu/bin/ -B/usr/local/gcc-4.1.2/i686-pc-linux-gnu/lib/ -isystem /usr/local/gcc-4.1.2/i686-pc-linux-gnu/include -isystem /usr/local/gcc-4.1.2/i686-pc-linux-gnu/sys-include -o std/contracts.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe   \
        -I ../../../gcc-4.1.2/libphobos -I ../../../gcc-4.1.2/libphobos/internal/gc -I ./i686-pc-linux-gnu -c ../../../gcc-4.1.2/libphobos/std/contracts.d
../../../gcc-4.1.2/libphobos/std/contracts.d:412: Error: undefined identifier module string.strerror_r
../../../gcc-4.1.2/libphobos/std/contracts.d:412: Error: function expected before (), not module string.strerror_r of type void
make[4]: *** [std/contracts.o] Error 1

import std.c.string; contains the following message:
// Original DMD strerror_r is non-portable glibc version

Manfred






Manfred
August 16, 2008
Manfred Hansen wrote:

> Hello,
> 
> i try to compile gdc svn 243 under linux ubuntu 8.10 with
> --d-language-version=2
> ./gcc-4.1.2/configure --prefix=/usr/local/gcc-4.1.2
> --enable-languages=c,d,c++ --disable-share and i get the error
> 
> 
> /home/mahansen/D/build/./gcc/gdc -B/home/mahansen/D/build/./gcc/
> -B/usr/local/gcc-4.1.2/i686-pc-linux-gnu/bin/
> -B/usr/local/gcc-4.1.2/i686-pc-linux-gnu/lib/ -isystem
> /usr/local/gcc-4.1.2/i686-pc-linux-gnu/include -isystem
> /usr/local/gcc-4.1.2/i686-pc-linux-gnu/sys-include -o std/contracts.o -g
> -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC
> -fversion=GC_Use_Data_Fixed -nostdinc -pipe   \
>         -I ../../../gcc-4.1.2/libphobos -I
>         ../../../gcc-4.1.2/libphobos/internal/gc -I ./i686-pc-linux-gnu -c
>         ../../../gcc-4.1.2/libphobos/std/contracts.d
> ../../../gcc-4.1.2/libphobos/std/contracts.d:412: Error: undefined
> identifier module string.strerror_r
> ../../../gcc-4.1.2/libphobos/std/contracts.d:412: Error: function expected
> before (), not module string.strerror_r of type void make[4]: ***
> [std/contracts.o] Error 1
> 
> import std.c.string; contains the following message:
> // Original DMD strerror_r is non-portable glibc version
> 
> Manfred
> 

i have insert this in import std.c.string;
version (linux)
{
    const(char)* strerror_r(int errnum, char* buf, size_t buflen);      ///
}

Now i am able to compile gdc.

Manfred