www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Instructions to build DMD from source don't work (anymore) here

reply Basile B. <b2.temp gmx.com> writes:
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.
Nov 30
next sibling parent reply Basile B. <b2.temp gmx.com> writes:
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 ?
Nov 30
parent reply Jacob Carlborg <doob me.com> writes:
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
Nov 30
parent reply Basile B. <b2.temp gmx.com> writes:
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.
Nov 30
parent Jacob Carlborg <doob me.com> writes:
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
Nov 30
prev sibling parent Joakim <dlang joakim.fea.st> writes:
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.
Dec 02