Pages: 1 2 [3]   Go Down
Author Topic: Incrementation bug? WTF? [BROKEN COMPILER - SOLVED]  (Read 5947 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

BTW I just successfully compiled the patched gcc-avr 4.3.5 so dsh your x86_64 PKGBUILD is fine... the binutils must be force installed before building gcc-avr  smiley-cool

Still I'm sticking with the official Arch gcc 4.5.2 for now. Very happy to be Arduinoing on Arch thanks to the assistance of this forum!
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks, but not if you try to package it
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Has someone reported this bug upstream (to the avr-gcc developers) ?

Regards, PyroPeter
Logged

Offline Offline
God Member
*****
Karma: 32
Posts: 506
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Since the problem was solved by applying Debian patches I am sure the Debian package maintainer will have already reported any bugs to the main GCC / binutils teams. Patches very often aren't applied to the main codebase straight away in case they break something somewhere else.

But the person maintaining Arch avr binutils probably ought to know that there are patches they should be applying.
Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks, but not if you try to package it
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Did someone inform the Arch maintainer for binutils and gcc-avr?
It will probably work better if we would know which patch exactly solves the problem (I only took a look inside debian's binutils package, it contained about 35 patches)
I would also be interested in the upstream bug reports.

I don't know if this was mentioned already, but the bug only occours in the original GUI included in the arduino package. I had no problems using arduide/arduino-ide.

@dsh: could you upload your packages to the AUR?

Logged

Cracow, PL
Offline Offline
Newbie
*
Karma: 1
Posts: 14
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Since previous links are dead and some people asked me to upload the PKGBUILDs to AUR...

Here is the link to the PKGBUILDs, it will be up until I find time to finally make a proper homepage:
http://filip.sobalski.pl/lib/exe/fetch.php?media=gcc-avr-debian-pkgbuilds.tar.gz

As far as AUR is concerned, feel free to submit them to AUR in your name. I don't have time to maintain them let alone fix them so they are properly written and adhere to arch guidelines. They are just quick hacks.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm getting 403 forbidden on the download links...
Logged

Cracow, PL
Offline Offline
Newbie
*
Karma: 1
Posts: 14
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm getting 403 forbidden on the download links...

Strange, because it works for me. Still getting the error?
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21669
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That PKGBUILD does not longer compile because packages in the GNU ftp folder have different extension.
This PKGBUILD is updated for binutils-avr 2.20.1-2 and for the corresponding version of the patches, and works fine:

Code:
# Contributor: Andras Biro <bbandi86@gmail.com>
# PKGBUILD based on the binutils-avr PKGBUILD by
# Corrado Primier <bardo@aur.archlinux.org> and danst0 <danst0@west.de>
# modified with debian patchset by dsh <pinkeen@gmail.com>
# updated by Leonardo Miliani <leonardo AT leonardomiliani DOT com>

pkgname=binutils-avr
pkgver=2.20.1
pkgrel=2
pkgdesc="A set of programs to assemble and manipulate binary and object files for the avr architecture (debian patchset)"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/binutils/"
license=('GPL')
depends=('glibc>=2.10.1' 'zlib')
provides=('binutils-avr')
options=('!libtool' '!distcc' '!ccache')
source=(http://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2
http://ftp.de.debian.org/debian/pool/main/b/binutils-avr/binutils-avr_2.20.1-2.tar.gz)
md5sums=('2b9dc8f2b7dbd5ec5992c6e29de0b764'
'59c3ffda57eb3352eadbf05efa85ede8')


build() {
  cd ${srcdir}/binutils-${pkgver}
  mv ../binutils-avr-2.20.1/debian/patches-2.20 ..

  for p in `ls ../patches-2.20/*`; do
    echo Applying patch $p
    patch -Np0 < $p || return 1
  done

  install -d build
  cd build

  CC="gcc -L$(pwd)/bfd/.libs/"
  if [ "${CARCH}" = "x86_64" ]; then
    ../configure --build=$(../config.guess) \
                 --disable-multilib \
                 --disable-nls \
                 --enable-64-bit-bfd \
                 --enable-install-libbfd \
                 --includedir=/usr/$(../config.guess)/include \
                 --infodir=/usr/share/info \
                 --libdir=/usr/lib \
                 --mandir=/usr/share/man \
                 --prefix=/usr \
                 --target=avr \
                 --disable-werror
  else
    ../configure --build=$(../config.guess) \
                 --disable-nls \
                 --enable-install-libbfd \
                 --includedir=/usr/$(../config.guess)/include \
                 --infodir=/usr/share/info \
                 --libdir=/usr/lib \
                 --mandir=/usr/share/man \
                 --prefix=/usr \
                 --target=avr \
                 --disable-werror
  fi

  # This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
  make configure-host || return 1

  make tooldir=/usr || return 1
}

package() {
  cd ${srcdir}/binutils-${pkgver}

  cd build
  make DESTDIR=${pkgdir} tooldir=/usr install || return 1

  rm -f ${pkgdir}/usr/lib/libiberty.a

  for bin in addr2line ar as c++filt gprof ld nm objcopy objdump ranlib readelf size strings strip ; do
    rm -f ${pkgdir}/usr/bin/${bin} || return 1
  done

  for info in as bfd binutils configure ld standards; do
    mv ${pkgdir}/usr/share/info/${info}.info ${pkgdir}/usr/share/info/avr-${info}.info || return 1
  done
}

# vim:set ts=2 sw=2 et:
Logged


Pages: 1 2 [3]   Go Up
Jump to: