Thread overview |
---|
March 11, 2017 Problem building DMD | ||||
---|---|---|---|---|
| ||||
I'm trying to build the master branch of DMD on redhat 7. I get the following errors: ddmd/root/newdelete.c:26:8: error: expected identifier or ‘(’ before string constant extern "C" ^ ddmd/root/newdelete.c:31:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘new’ void * operator new(size_t m_size) ^ ddmd/root/newdelete.c:36:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘delete’ void operator delete(void *p) Does anyone know what I am doing wrong? |
March 11, 2017 Re: Problem building DMD | ||||
---|---|---|---|---|
| ||||
Posted in reply to Eric | On 03/11/2017 06:41 PM, Eric wrote:
> I'm trying to build the master branch of DMD on redhat 7.
> I get the following errors:
>
> ddmd/root/newdelete.c:26:8: error: expected identifier or ‘(’ before
> string constant
> extern "C"
> ^
> ddmd/root/newdelete.c:31:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
> ‘__attribute__’ before ‘new’
> void * operator new(size_t m_size)
> ^
> ddmd/root/newdelete.c:36:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
> ‘__attribute__’ before ‘delete’
> void operator delete(void *p)
>
> Does anyone know what I am doing wrong?
Looks like a C compiler is used instead of a C++ compiler. Despite the extension, dmd's *.c files are C++ code.
|
March 11, 2017 Re: Problem building DMD | ||||
---|---|---|---|---|
| ||||
Posted in reply to ag0aep6g | On Saturday, 11 March 2017 at 17:54:55 UTC, ag0aep6g wrote:
>
> Looks like a C compiler is used instead of a C++ compiler. Despite the extension, dmd's *.c files are C++ code.
Yes, that's what I thought - redhat has gcc, but not g++. There must
be a needed compile option...
|
March 11, 2017 Re: Problem building DMD | ||||
---|---|---|---|---|
| ||||
Posted in reply to ag0aep6g | On Saturday, 11 March 2017 at 17:54:55 UTC, ag0aep6g wrote:
> On 03/11/2017 06:41 PM, Eric wrote:
>> I'm trying to build the master branch of DMD on redhat 7.
>> I get the following errors:
>>
>> ddmd/root/newdelete.c:26:8: error: expected identifier or ‘(’ before
>> string constant
>> extern "C"
>> ^
>> ddmd/root/newdelete.c:31:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
>> ‘__attribute__’ before ‘new’
>> void * operator new(size_t m_size)
>> ^
>> ddmd/root/newdelete.c:36:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
>> ‘__attribute__’ before ‘delete’
>> void operator delete(void *p)
>>
>> Does anyone know what I am doing wrong?
>
> Looks like a C compiler is used instead of a C++ compiler. Despite the extension, dmd's *.c files are C++ code.
Yes - I needed to install gcc-c++, not g++. That fixed everything.
|
Copyright © 1999-2021 by the D Language Foundation