You are not logged in.

#1 2008-04-26 03:38:55

Shirakawasuna
Member
Registered: 2007-03-09
Posts: 94

Failed gdc compile

Hey, I'm trying to get gdc working (it's on the aur, version 0.23), first by updating to 0.24.  Here's the PKGBUILD:

pkgname=gdc
pkgver=0.24
_gccver=4.1.2
pkgrel=1
pkgdesc="GDC, Digital Mars D Programing Language (DMD) frontend for GCC"
arch=(i686 x86_64)
url="http://dgcc.sourceforge.net"
license="GPL"
provides=('gdc')
depends=('gcc>=4.1.2')
conflicts=('gdc-svn')
options=('nolibtool' 'noemptydirs')
source=(http://downloads.sourceforge.net/sourceforge/dgcc/$pkgname-$pkgver-src.tar.bz2
        ftp://gcc.gnu.org/pub/gcc/releases/gcc-${_gccver}/gcc-core-${_gccver}.tar.bz2
        gcc_pure64.patch
    gdc-self-patch)

build() {
  cd $startdir/src
  cp -r $startdir/src/d $startdir/src/gcc-${_gccver}/gcc
  cd $startdir/src/gcc-${_gccver}

  # make patches in dgcc-build if necessary
  # apply gdc patches
  ./gcc/d/setup-gcc.sh
#  patch -p1 < ../gdc-self-patch  
#  export MAKEFLAGS="-j1"

  # Don't install libiberty 
  sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in

  # Don't run fixincludes
  sed -i -e 's@\./fixinc\.sh@-c true@' gcc/Makefile.in

  mkdir ../gcc-build
  cd ../gcc-build
  ../gcc-${_gccver}/configure --prefix=/usr --enable-languages=d  --enable-__cxa_atexit  --disable-multilib --libdir=/usr/lib --libexecdir=/usr/lib --enable-clocale=gnu --disable-shared
 #      --enable-languages=d --enable-threads=posix --enable-__cxa_atexit \
 #      --disable-multilib --libdir=/usr/lib --libexecdir=/usr/lib \
 #      --enable-clocale=gnu
  make all-target-libphobos || return 1
#  sed -i s,gcc-tmp\$\(exeext\),gcc-tmp\\\\$\(exeext\),g $startdir/src/gcc-build/gcc/Makefile
  make DESTDIR=$startdir/pkg install-target-libphobos || return 1
  cd gcc
  make DESTDIR=${startdir}/pkg lang.install-normal lang.install-common lang.install-man

  install -Dm 755 cc1d $startdir/pkg/usr/lib/gcc/${CHOST}/${_gccver}/
}

After letting that run (it's a bit messy, I know), I eventually reach an error relating to it attempting to make a completely idiotic link:

          else \
            rm -f /home/nick/Packages/gdc/gdcc/pkg/usr/bin/-gdc; \
            rm -f /home/nick/Packages/gdc/gdcc/pkg/usr/bin/-gdmd; \
            ( cd /home/nick/Packages/gdc/gdcc/pkg/usr/bin && \
              ln gdc -gdc ); \
            ( cd /home/nick/Packages/gdc/gdcc/pkg/usr/bin && \
              ln gdmd -gdmd ); \
          fi ; \
        fi
ln: invalid option -- g
Try `ln --help' for more information.
ln: invalid option -- g
Try `ln --help' for more information.
make: [d.install-common] Error 1

I'm having serious trouble figuring out precisely why it's doing that.  It's related to the make lang.install-common line near the end and it's in the Makefile (in the gcc section of gcc-build).  I always search for "[ -d" if you're attempting to find it.

Does anyone have any ideas?  I'd be able to get all of Kenta Cho's games compiling on arch (I think) if I could just get gdc to work.  I also don't know whether this issue is peculiar to my attempts or if it happens to everyone.  I can attempt to find some way to include the Makefile if necessary.  Thanks!

Offline

#2 2008-04-26 04:49:33

Shirakawasuna
Member
Registered: 2007-03-09
Posts: 94

Re: Failed gdc compile

I'm not sure how to get the Makefile up, so I'll just include this snippet in case it makes things easier:

install-driver: installdirs xgcc$(exeext)
        -rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
        -$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
        -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
        -( cd $(DESTDIR)$(bindir) && \
           $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) )
        -if [ -f gcc-cross$(exeext) ] ; then \
          if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
            rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
            $(INSTALL_PROGRAM) gcc-cross$(exeext) $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
          else true; fi; \
        else \
          rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$(exeext); \
          ( cd $(DESTDIR)$(bindir) && \
            $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-tmp$(exeext) && \
            mv -f $(target_noncanonical)-gcc-tmp$(exeext) $(GCC_TARGET_INSTALL_NAME)$(exeext) ); \
        fi

I'm fairly sure that's the line causing this, but I can't figure out the actual problem.

Offline

Board footer

Powered by FluxBB