Differences between revisions 8 and 9
Revision 8 as of 2007-12-08 15:34:29
Size: 5367
Editor: MartinGuy
Comment:
Revision 9 as of 2007-12-08 18:23:05
Size: 5662
Editor: MartinGuy
Comment: Add gcl
Deletions are marked like this. Additions are marked like this.
Line 110: Line 110:
== gcl ==

Gnu Common Lisp, is another failing package which explicitly
selects gcc-3.4 only for the arm build (and using gcc-4, as it does
for armel at present, fails). For this, the ARM support in gcl needs
porting to gcc-4.X, as has already been done for the other CPUs it
supports.

This page tracks the problems with individual packages in the Debian armel port.

When a package has built in sid, please remove its entry from here.

About 90% of the repo is built for armel. The bulk of the remaining packages

  • Require gcc-3.4 or earlier, for which EABI support was never backported
  • Require g77, which was replaced in gcc-4 with the separate gfortran
  • Have problems of their own, such as lacking configs for ARM EABI (mostly other languages)
  • Depend on something blocked by the above

?TableOfContents

arm/armel inconsistencies

Joey Hess says in debian-arm@lists.debian.org 07/12/2007 17:25

"The following packages build-depend/conflict with something on arm, but not on armel. Most of these are of the form "[long list of arches including arm]" or "[!arm]" and obviously just need armel added to the list. Some of these may already have bugs filed due to FTBFS on armel."

Please investigate, resolve and remove from this list:

bglibs bigloo bochs brltty ccontrol cgal cvm cvxopt dash directfb (bug filed) esound gettext gnustep-base gst-plugins-base0.10 gtk2hs happs haskell-alut haskell-arrows haskell-binary haskell-cgi haskell-fgl haskell-glut haskell-haskell-src haskell-hgl haskell-hlist haskell-html haskell-hunit haskell-mtl haskell-network haskell-openal haskell-opengl haskell-quickcheck haskell-time haskell-x11 haskell-x11-extras haskell-xhtml hmake integrit jack-audio-connection-kit kdeedu libdjbdns links2 linux-2.6 matrixssl openssh plplot python-numarray python-numeric python-numpy quintuple-agent runit samba shogun skalibs speech-dispatcher sqlrelay subversion wordtrans

gcc-3.4

ARM EABI support was done for gcc-3.4 by CodeSourcery and published as source, but the changes were never backported into the mainline gcc-3.4. Does anyone fancy taking the CodeSourcery mods as diffs and making a huge debian patch to enable ARM EABI in gcc-3.4.4? :)

Examples of gcc < 4.0 dependencies:

QEMU requires gcc-3.4 because it compiles machine code into fragments of C, compiles them and edits the generated assembly language before assembling it. Anyway, there is no support for ARM asm in QEMU!

Zarkon needs gcc-3.3 because it needs -fwritable-strings.

g77

G77, the GNU Fortran 77 compiler, was not continued past gcc-3.4. From gcc-4, there is a separate "gfortran" program.

Colin Tuckley is tackling the fortran issues and says:

In most packages and quite a few simple libraries the only change is
replacing g77 with gfortran in the Makefile. Unfortunately the way some
things are done and in particular some floating point stuff the
implementation is different enough to cause problems. Not difficult to solve
problems, but things that need looking at and fixing.

gcl

Gnu Common Lisp, is another failing package which explicitly selects gcc-3.4 only for the arm build (and using gcc-4, as it does for armel at present, fails). For this, the ARM support in gcl needs porting to gcc-4.X, as has already been done for the other CPUs it supports.

== ghc6 ===

Needed itself to compile itself; should now work. It, and its most closely dependent packages are available at [http://freaknet.org/martin/debian]

gobjc

Is explicitly disabled for armel. Enabling it in the debian package, the build of libstdc++ fails:

Enable gobjc in debian/rules.defs:

 - ifeq ($(DEB_TARGET_ARCH),armel)
 -   with_objc := disabled for armel
 - endif
 + #ifeq ($(DEB_TARGET_ARCH),armel)
 + #  with_objc := disabled for armel
 + #endif

it fails to build libobjc++ and dies when trying to make the package.

 dh_builddeb -pgobjc++-4.2
 dpkg-deb: building package `gobjc++-4.2' in `../gobjc++-4.2_4.2.2-4_armel.deb'.
 trap '' 1 2 3 15; touch stamps/08-binary-stamp-objcxx; mv stamps/07-install-stamp-tmp stamps/07-install-stamp
 dh_testdir
 dh_testroot
 mv stamps/07-install-stamp stamps/07-install-stamp-tmp
 rm -f debian/tmp/usr/lib/libobjc.{la,so}
 mv debian/tmp/usr/lib/libobjc*.a debian/tmp/usr/lib/gcc/arm-linux-gnueabi/4.2/
 mv: cannot stat `debian/tmp/usr/lib/libobjc*.a': No such file or directory
 make[1]: *** [stamps/08-binary-stamp-objc] Error 1

Try a vanilla build of gcc-4.2.2 with gobjc:

 *** This configuration is not supported in the following subdirectories:
      target-libssp target-libffi target-libjava ''target-libobjc'' target-libada gnattools target-libgfortran target-boehm-gc target-zlib zlib fastjar

because in ./configure

  arm*-*-linux-gnueabi)
    noconfigdirs="$noconfigdirs target-libffi target-qthreads"
    noconfigdirs="$noconfigdirs target-libjava target-libobjc"
    ;;

If we remove that and try building it anyway, first

 make[4]: Entering directory `/home/martin/arm/build-gcc-4.2.2/arm-linux-gnueabi/
 libstdc++-v3/src'
 make[4]: *** No rule to make target `all'.  Stop.

and arm-linux-gnueabi/libstdc++-v3/src/Makefile contains a single line:

 MULTISUBDIR =

but there is libstdc++-v3/config.status, so we run that and it creates src/Makefile ok (!)

So we restart "make" and...

groff

Currently gives an immediate segmentation fault on all my ARM EABI systems.

Repeat-by:

$ troff
Segmentation fault.
$

varkon

CAD system. Needs gcc-3.3 to build because of -fwritable-strings in Makefiles. The latest upstream version removes this need [http://bugs.debian.org/453009 Bug #453009]; the Debian package is currently orphaned but should be adopted in mid December 2007 and updated to upstream.