Thread overview
Instructions to build DMD from source don't work (anymore) here
Nov 30, 2017
Basile B.
Nov 30, 2017
Basile B.
Nov 30, 2017
Jacob Carlborg
Nov 30, 2017
Basile B.
Nov 30, 2017
Jacob Carlborg
Dec 02, 2017
Joakim
November 30, 2017
Hi, I've recently switched from a linux distribution to another (F27). During the last 2 years i used a script to build DMD, unfortunately i forgot to include it in my backup. Initially i thought "No problem, there's the instructions in the wiki, it's more or less about calling make with a couple of option". In theory only...

make -fposix.mak gives me

> [basile@pc1 dmd]$ make -f posix.mak
> make -C src -f posix.mak
> make[1] : on entre dans le répertoire « /home/basile/dev/repos/dlang/dmd/src »
> no cpu specified, assuming X86
>  (CC)  ROOT_OBJS  ddmd/root/newdelete.c
> c++ -c -o../generated/linux/release/64/newdelete.o -Wno-deprecated -Wstrict-
> aliasing -fno-exceptions -fno-rtti -D__pascal= -DMARS=1 -DTARGET_LINUX=1 -
> DDM_TARGET_CPU_X86=1 -m64 -fPIC -std=gnu++98 -Iddmd/root -MMD -MF ../generated/linux/release/64/newdelete.deps ddmd/root/newdelete.c
> cc1plus: désolé, pas implémenté: mode 64 bits pas compilé
> make[1]: *** [posix.mak:568: ../generated/linux/release/64/newdelete.o] Error 1
> make[1] : on quitte le répertoire « /home/basile/dev/repos/dlang/dmd/src »
> make: *** [posix.mak:8: all] Error 2

All required tools are setup. I do not set AUTOBOOTSTRAP=1 since dmd 2.077 is setup.

November 30, 2017
On Thursday, 30 November 2017 at 08:38:15 UTC, Basile B. wrote:
> [...]
> All required tools are setup. I do not set AUTOBOOTSTRAP=1 since dmd 2.077 is setup.

I needed gcc-c++... I don't know why but since "which g++" gave a valid file name i thought it was enough.

What's the difference ?


November 30, 2017
On 2017-11-30 09:56, Basile B. wrote:
> On Thursday, 30 November 2017 at 08:38:15 UTC, Basile B. wrote:
>> [...]
>> All required tools are setup. I do not set AUTOBOOTSTRAP=1 since dmd 2.077 is setup.
> 
> I needed gcc-c++... I don't know why but since "which g++" gave a valid file name i thought it was enough.
> 
> What's the difference ?

I don't know how Fedora works but you need a C++ compiler [1]. It seems like "gcc-c++" is the name of the "g++" package in Fedora.

[1] https://stackoverflow.com/questions/12952913/how-do-i-install-g-for-fedora

-- 
/Jacob Carlborg
November 30, 2017
On Thursday, 30 November 2017 at 10:47:57 UTC, Jacob Carlborg wrote:
> On 2017-11-30 09:56, Basile B. wrote:
>> On Thursday, 30 November 2017 at 08:38:15 UTC, Basile B. wrote:
>>> [...]
>>> All required tools are setup. I do not set AUTOBOOTSTRAP=1 since dmd 2.077 is setup.
>> 
>> I needed gcc-c++... I don't know why but since "which g++" gave a valid file name i thought it was enough.
>> 
>> What's the difference ?
>
> I don't know how Fedora works but you need a C++ compiler [1]. It seems like "gcc-c++" is the name of the "g++" package in Fedora.
>
> [1] https://stackoverflow.com/questions/12952913/how-do-i-install-g-for-fedora

That's strange because as said i had g++ / c++ but DMD compiles only once gcc-c++ setup. Anyway, working now.
November 30, 2017
On 2017-11-30 12:19, Basile B. wrote:

> That's strange because as said i had g++ / c++ but DMD compiles only once gcc-c++ setup. Anyway, working now.

It should be possible to get which package the "g++" file belongs to [1].

[1] https://unix.stackexchange.com/questions/4705/how-to-find-out-which-package-a-file-belongs-to

-- 
/Jacob Carlborg
December 02, 2017
On Thursday, 30 November 2017 at 08:38:15 UTC, Basile B. wrote:
> Hi, I've recently switched from a linux distribution to another (F27). During the last 2 years i used a script to build DMD, unfortunately i forgot to include it in my backup. Initially i thought "No problem, there's the instructions in the wiki, it's more or less about calling make with a couple of option". In theory only...
>
> make -fposix.mak gives me
>
>> [basile@pc1 dmd]$ make -f posix.mak
>> make -C src -f posix.mak
>> make[1] : on entre dans le répertoire « /home/basile/dev/repos/dlang/dmd/src »
>> no cpu specified, assuming X86
>>  (CC)  ROOT_OBJS  ddmd/root/newdelete.c
>> c++ -c -o../generated/linux/release/64/newdelete.o -Wno-deprecated -Wstrict-
>> aliasing -fno-exceptions -fno-rtti -D__pascal= -DMARS=1 -DTARGET_LINUX=1 -
>> DDM_TARGET_CPU_X86=1 -m64 -fPIC -std=gnu++98 -Iddmd/root -MMD -MF ../generated/linux/release/64/newdelete.deps ddmd/root/newdelete.c
>> cc1plus: désolé, pas implémenté: mode 64 bits pas compilé

According to Google Translate, this means your C++ compiler doesn't support 64-bit mode.  Not sure why, since the Makefile is only compiling in 64-bit after checking that's what your kernel is, with uname -m.