Thread overview
GCC master: Weird build problem on Fedora 29
Nov 20, 2018
Dejan Lekic
Nov 20, 2018
dangbinghoo
Nov 21, 2018
Iain Buclaw
Nov 21, 2018
Iain Buclaw
November 20, 2018
I am trying to build GCC master with D enabled, configured with:

../configure --enable-languages=d --prefix=/opt/gcc --mandir=/opt/gcc/share/man --infodir=/opt/gcc/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-multilib --with-tune=native --build=x86_64-redhat-linux

It stops at phobos:

Checking multilib configuration for libphobos...
Configuring in x86_64-redhat-linux/libphobos
configure: loading cache ./config.cache
checking build system type... x86_64-redhat-linux-gnu
checking host system type... x86_64-redhat-linux-gnu
checking target system type... x86_64-redhat-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
configure: error: source directory already configured; run "make distclean" there first
make[1]: *** [Makefile:19619: configure-target-libphobos] Error 1
make[1]: Leaving directory '/disk/one/src/gcc/build'
make: *** [Makefile:982: all] Error 2

When I do what it tells me to do (make distclean in the phobos directory) I am getting:

Making distclean in libdruntime
make[1]: Entering directory '/disk/one/src/gcc/libphobos/libdruntime'
make[1]: *** No rule to make target 'distclean'.  Stop.
make[1]: Leaving directory '/disk/one/src/gcc/libphobos/libdruntime'
make: *** [Makefile:468: distclean-recursive] Error 1

When I looked at libdruntime it seems like it was not configured properly (Makefile has not been generated):

dejan@turing$ ls
core  __entrypoint.di  gc  gcc  gcstub  LICENSE  __main.di  Makefile.am  Makefile.in  object.d  rt

November 20, 2018
On Tuesday, 20 November 2018 at 08:29:14 UTC, Dejan Lekic wrote:
>
> When I do what it tells me to do (make distclean in the phobos directory) I am getting:
>

I don't familiar with gdc compiles, but the error info gives you command `make distclean` should be executed in the top dir(where your configure was executed), not the sub phobos dir.


November 21, 2018
On Tue, 20 Nov 2018 at 09:30, Dejan Lekic via D.gnu <d.gnu@puremagic.com> wrote:
>
> I am trying to build GCC master with D enabled, configured with:
>
> ../configure --enable-languages=d --prefix=/opt/gcc --mandir=/opt/gcc/share/man --infodir=/opt/gcc/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-multilib --with-tune=native --build=x86_64-redhat-linux
>
> It stops at phobos:
>
> Checking multilib configuration for libphobos...
> Configuring in x86_64-redhat-linux/libphobos
> configure: loading cache ./config.cache
> checking build system type... x86_64-redhat-linux-gnu
> checking host system type... x86_64-redhat-linux-gnu
> checking target system type... x86_64-redhat-linux-gnu
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking whether make supports nested variables... yes
> configure: error: source directory already configured; run "make
> distclean" there first
> make[1]: *** [Makefile:19619: configure-target-libphobos] Error 1
> make[1]: Leaving directory '/disk/one/src/gcc/build'
> make: *** [Makefile:982: all] Error 2
>
> When I do what it tells me to do (make distclean in the phobos
> directory) I am getting:
>
> Making distclean in libdruntime
> make[1]: Entering directory
> '/disk/one/src/gcc/libphobos/libdruntime'
> make[1]: *** No rule to make target 'distclean'.  Stop.
> make[1]: Leaving directory
> '/disk/one/src/gcc/libphobos/libdruntime'
> make: *** [Makefile:468: distclean-recursive] Error 1
>
> When I looked at libdruntime it seems like it was not configured properly (Makefile has not been generated):
>
> dejan@turing$ ls
> core  __entrypoint.di  gc  gcc  gcstub  LICENSE  __main.di
> Makefile.am  Makefile.in  object.d  rt
>

Make sure you are building out of tree.  Judging from your configure command, it looks like you have.  The generated Makefile will not appear in the source directory, have a look in ./x86_64-redhat-gnu/libphobos.

I'll give your build configuration a try locally to see the result.

-- 
Iain
November 21, 2018
On Wed, 21 Nov 2018 at 12:27, Iain Buclaw <ibuclaw@gdcproject.org> wrote:
>
> On Tue, 20 Nov 2018 at 09:30, Dejan Lekic via D.gnu <d.gnu@puremagic.com> wrote:
> >
> > I am trying to build GCC master with D enabled, configured with:
> >
> > ../configure --enable-languages=d --prefix=/opt/gcc --mandir=/opt/gcc/share/man --infodir=/opt/gcc/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-multilib --with-tune=native --build=x86_64-redhat-linux
> >
> > It stops at phobos:
> >
> > Checking multilib configuration for libphobos...
> > Configuring in x86_64-redhat-linux/libphobos
> > configure: loading cache ./config.cache
> > checking build system type... x86_64-redhat-linux-gnu
> > checking host system type... x86_64-redhat-linux-gnu
> > checking target system type... x86_64-redhat-linux-gnu
> > checking for a BSD-compatible install... /usr/bin/install -c
> > checking whether build environment is sane... yes
> > checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
> > checking for gawk... gawk
> > checking whether make sets $(MAKE)... yes
> > checking whether make supports nested variables... yes
> > configure: error: source directory already configured; run "make
> > distclean" there first
> > make[1]: *** [Makefile:19619: configure-target-libphobos] Error 1
> > make[1]: Leaving directory '/disk/one/src/gcc/build'
> > make: *** [Makefile:982: all] Error 2
> >
> > When I do what it tells me to do (make distclean in the phobos
> > directory) I am getting:
> >
> > Making distclean in libdruntime
> > make[1]: Entering directory
> > '/disk/one/src/gcc/libphobos/libdruntime'
> > make[1]: *** No rule to make target 'distclean'.  Stop.
> > make[1]: Leaving directory
> > '/disk/one/src/gcc/libphobos/libdruntime'
> > make: *** [Makefile:468: distclean-recursive] Error 1
> >
> > When I looked at libdruntime it seems like it was not configured properly (Makefile has not been generated):
> >
> > dejan@turing$ ls
> > core  __entrypoint.di  gc  gcc  gcstub  LICENSE  __main.di
> > Makefile.am  Makefile.in  object.d  rt
> >
>
> Make sure you are building out of tree.  Judging from your configure command, it looks like you have.  The generated Makefile will not appear in the source directory, have a look in ./x86_64-redhat-gnu/libphobos.
>
> I'll give your build configuration a try locally to see the result.
>

Seems to finish to completion for me.  Recently, there was a dependency update of autoconf to 2.69 and automake to 1.15.1.  Check that you have these versions installed just incase.

-- 
Iain