From Fedora Project Wiki
No edit summary
 
(58 intermediate revisions by 7 users not shown)
Line 4: Line 4:


See http://arm-temp.ausil.us/pub/fedora-arm/stage-4-failures.html for the list of pending packages that have not succeeded building
See http://arm-temp.ausil.us/pub/fedora-arm/stage-4-failures.html for the list of pending packages that have not succeeded building
See http://djdelorie.fedorapeople.org/armv7-srpms.html for a report on the differences to mainline
= Known F15 issues =
== linux/videodev.h ==
<pre>
hno: Hmm.. have quite many packages FTBFS with "fatal error: linux/videodev.h: No such file or directory".
kwizart: hno, they need to be converted to fully support v4l2
kwizart: but the workaround is to make them built with /usr/include/libv4l1-videodev.h from libv4l-devel and make them link with -lv4l1
</pre>
= Updates packages to build directly into ARM GA =
If a F15 update is needed to solve an ARM-related problem that exists with the GA package, simply push that update into stage4 and note this (and the reasoning) under "Completed" below. When we come to do the koji build, the stage4 SRPMs will be used as a source, so there is no need to seperately record/list the packages that had to pulled in from updates.


= Needed for koji (jcm) =
= Needed for koji (jcm) =
Line 42: Line 58:
== busybox ==
== busybox ==


done
done.  busybox-1.18.2-5.fc15 pulled in from updates (earlier versions don't compile on ARM)


== docbook2X ==
== docbook2X ==
Line 84: Line 100:
trying build with corrected dos2unix arguments (-k instead of -U) [[User:Hno|Hno]] 10:40, 23 September 2011 (UTC)
trying build with corrected dos2unix arguments (-k instead of -U) [[User:Hno|Hno]] 10:40, 23 September 2011 (UTC)


Done.
Done. fixed in [http://koji.fedoraproject.org/koji/buildinfo?buildID=267230 xerces-c-3.0.1-22.fc15]


= Self & Circular dependencies =
= Self & Circular dependencies =
Line 105: Line 121:


== eclipse icu4j ==
== eclipse icu4j ==
simple circular dependency - djdelorie working on bootstrapping


== ghc ghc hscolour hscolour ==
== ghc ghc hscolour hscolour ==
done. ghc needs a manual bootstrap.


See [[#ghc|ghc below]]
See [[#ghc|ghc below]]
Line 113: Line 133:


== log4net nant ==
== log4net nant ==
step 1: build nant in bootstrap mode:
http://koji.fedoraproject.org/koji/buildinfo?buildID=238337
step 2: build log4net using the nant built in step 1:
http://koji.fedoraproject.org/koji/buildinfo?buildID=238941
step 3: build nant without bootstrap mode:
http://koji.fedoraproject.org/koji/buildinfo?buildID=238948


== plplot perl-PDL-Graphics-PLplot ==
== plplot perl-PDL-Graphics-PLplot ==
Line 122: Line 150:


Please add notes regarding specific packages here. When completed move them down to Completed.
Please add notes regarding specific packages here. When completed move them down to Completed.


== zziplib ==
== zziplib ==
Line 194: Line 221:


source available in stage3. Is there a patch?
source available in stage3. Is there a patch?
== firefox ==
firefox-6 fails to build because -mfloat-abi=softfp is hard-coded in configure.  Possible patches in [https://bugzilla.mozilla.org/show_bug.cgi?id=626035 the Mozilla Bugzilla]


== gdm ==
== gdm ==
Line 200: Line 231:
<pre>RPM build errors:
<pre>RPM build errors:
     Directory not found by glob: /builddir/build/BUILDROOT/gdm-3.0.0-3.fc15.arm/var/lib/gdm/.gconf.mandatory/*.xml/
     Directory not found by glob: /builddir/build/BUILDROOT/gdm-3.0.0-3.fc15.arm/var/lib/gdm/.gconf.mandatory/*.xml/
</pre>
== graphviz ==
in stage3 only. graphviz-2.26.3-4.fc15.src.rpm pandaboard2.znjan.st.
specfile syntax FTBFS.
<pre>
error: types must match
error: /builddir/build/SPECS/graphviz.spec:156: parseExpressionBoolean returns -1
</pre>
</pre>


Line 227: Line 247:


Filed a package [https://bugzilla.redhat.com/show_bug.cgi?id=740790 F15 FTBFS bug].
Filed a package [https://bugzilla.redhat.com/show_bug.cgi?id=740790 F15 FTBFS bug].
== hal ==
in stage3 only, hal-0.5.14-6.fc15.src.rpm pandaboard2.znjan.st
<pre>
gcc -DHAVE_CONFIG_H -I. -I../../..  -DPACKAGE_SYSCONF_DIR=\""/etc"\" -DPACKAGE_DATA_DIR=\""/usr/share"\" -DPACKAGE_BIN_DIR=\""/usr/bin"\" -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\" -DPACKAGE_LOCALSTATEDIR=\""/var"\" -I../../.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include  -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include  -I/usr/include/blkid -I/usr/include/uuid    -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -Wall -Wchar-subscripts -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -c probe-video4linux.c
probe-video4linux.c:33:28: fatal error: linux/videodev.h: No such file or directory
</pre>
kernel-headers issue? There is videodev2.h, but not videodev.h
there is no videodev2.h on x86_64 either.
Mainline FTBFS.
== java-1.5.0-gcj ==
in stage 3 only
== java-1.6.0-openjdk ==
in stage 3 only


== kernel ==
== kernel ==
Line 270: Line 267:


in stage 3 only
in stage 3 only
Being fixed mainline in [https://bugzilla.redhat.com/show_bug.cgi?id=745081 Bug #745081]


== libvpx ==
== libvpx ==
Line 307: Line 306:
Mainline FTBFS with patches available but seems the maintainers are not responding.
Mainline FTBFS with patches available but seems the maintainers are not responding.


== ghc ==
= Completed =


ghc needs ghc to build, but we do not have ghc..
These packages have completed a full build with some manual actions
 
http://hackage.haskell.org/trac/ghc/wiki/Building/Porting documents the bootstrapping procedure, but in ghc-7.0.2 bootstraping procedure seems completely broken.
 
Debian do have ghc-7.0.4 arm hardfloat. will try using that as initial compiler.


http://http.debian-ports.org/debian/pool-armhf/main/g/ghc/
== python3 ==


also needs libgmp10 från http://http.debian-ports.org/debian/pool-armhf/main/g/gmp/
GA version: 3 tests fail on ARM ([https://bugzilla.redhat.com/show_bug.cgi?id=744624 #744624]).


after manual installation and library location fixup, finish ghc installation by running:
Fixed in latest version from koji: python3-3.2-3.fc15


ghc-pkg recache --global
== pth ==


and replace /usr/bin/ghc with a small wrapper to work around implicit DSO issues relating to pthread
Fails to build on Linux 3.x host due to [https://bugzilla.redhat.com/show_bug.cgi?id=744740 #744740]. built for armv5tel on Linux 2.6 host with no problems.


<pre>
== libmpc ==
#!/bin/sh
exec /usr//lib/ghc/bin/ghc "$@" -lpthread
</pre>


GA version libmpc-0.8.3-0.3.svn855.fc15 fails to build on armv5tel, because it hits [https://bugzilla.redhat.com/show_bug.cgi?id=744589 a glibc bug where certain headers are not available on ARM] and builds with -Werror.


Fix ExclusiveArch in ghc.spec and unpack sources by <code>rpmbuild -bp ghc.spec --nodeps</code>
Pulled in version libmpc-0.8.3-0.4.svn855.fc15 from koji which avoids using -Werror.


Install as many of the dependencies as possible.
== nss ==


Build it:
GA version fails tests on ARM. nss-3.12.10-6.fc15 pulled in from F15 updates to avoid this.


<pre>
GA version also fails to build on Linux 3.0 host. Updates version may or may not face the same issue - armv5tel version built on Linux 2.6 host.
./configure
make
</pre>


seems get started. May even work as rpm. Aborting to retry using rpm.
== nspr ==


=== testbuild of hscolour ===
nspr-4.8.7-2.fc15 passes bad arguments to gcc and fails to compile. Fixed in nspr-4.8.8-4.fc15, pulled in from F15 updates.


Fix ExclusiveArch in hscolour.spec and attempt rebuilding it with --nodeps.
== uClibc ==


failed. Not sure why.
uClibc-0.9.32-2.fc15 pulled in from F15 updates (needed for busybox, GA version doesn't work right)


<pre>
== atlas ==
./Setup configure
./Setup build
sudo ./Setup install
</pre>


works however. Closer inspection of the rpmbuild output shows that it's probably profiling related. The debian install do not have profiling libs. Digging a little in /etc/rpm/ghc.macros shows there is a without_prof define.
atlas-3.8.4-1.fc15 pulled in from F15 updates (first version with ARM support).


<pre>
== libtool ==
rpmbuild -ba hscolour.spec  --nodeps -D"without_prof 1" -D"without_haddock 1" -D"without_hscolour 1"
sudo rpm -i ../RPMS/armv7hl/hscolour-1.17-8.fc15.0.arm1.armv7hl.rpm
rpmbuild -ba hscolour.spec  --nodeps -D"without_prof 1" -D"without_haddock 1"
</pre>


looks good. So it's possible to bootstrap this package fully using rpm.
libtool-2.4-6.fc15 was pulled in from F15 updates for armv5tel as this is the version that works alongside gcc-4.6.1.


=== native ghc ===
== binutils ==


<pre>
binutils-2.21.51.0.6-9.fc15 was pulled in from F15 updates to fix [https://bugzilla.redhat.com/show_bug.cgi?id=741053] (ghc and gcc build segfaults)
rpmbuild -ba ghc.spec  --nodeps
</pre>


failed.. needing some overrides. Reverting to begin with a manual build again. Done.
== coreutils ==


ghc-7.0.2 for Fedora now available as .tar.gz. Will clean out the build root and continue bootstraping with only this installed, pruning out the remains of the foreign Debian version.
Had trouble building coreutils-8.10-2.fc15 for armv5tel on koji2.laptop.org: it failed on tests/cp/fiemap-perf on "Nothing can read (much less write) that many bytes in so little time." More recent versions of coreutils fix this by skipping that test if the host filesystem is ext3 (which is the case on koji2, running Linux 3.1-rc7).


=== rpmbuild of ghc & hscolour ===
So, trying to avoid having to patch and bump coreutils in F15, I then tried to build this on an OLPC XO, which uses ext4 and runs Linux 3.0.0. This time, fiemap-perf passed but 5 gnulib readlink tests failed because [http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00308.html the kernel returns EINVAL in a specific case where it never used to]. Again, this test is fixed in more recent versions of coreutils, but in order to try and avoid patching the build, I patched in [https://lkml.org/lkml/2011/8/4/122 this kernel fix] on my XO (still not upstream as of time of writing). The build then succeeded.


Starting from a clean buildroot.
So the options for building this are:
* Use a suitably old kernel (2.6.38 or older) and ext4 for the build, or
* [https://lkml.org/lkml/2011/8/4/122 Patch] the build system kernel and run the build on ext4, or
* Add [http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=0f56019db8d5a58e87adb61c7aab411113daf3c0 this coreutils fix] and [http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=dc44690985e727ac2ef5af783a495a369223ab69 this gnulib fix] to F15 coreutils and build that instead, which solves/avoids both the ext3 and readlink problems.


buildroot setup:
== findutils ==


<pre>
findutils includes gnulib so the readlink test failures noted in the coreutils section above apply exactly. findutils-4.5.9-3.fc15 built for armv5tel on OLPC XO with a [https://lkml.org/lkml/2011/8/4/122 patched kernel].
mock -r fedora-15-armhfp --result $PWD --init
 
rpm -q --requires -p ghc-7.0.2-16.3.fc15.0.arm1.src.rpm
ghc 
ghc-rpm-macros >= 0.11.12
gmp-devel 
libffi-devel 
ghc-directory-devel 
ghc-process-devel 
ghc-pretty-devel 
ghc-containers-devel 
ghc-haskell98-devel 
ghc-bytestring-devel 
ncurses-devel 
libxslt 
docbook-style-xsl 
hscolour 
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
 
mock -r fedora-15-armhfp --result $PWD --install gmp-devel libffi-devel ncurses-devel libxslt  docbook-style-xsl ghc-rpm-macros
mock -r fedora-15-armhfp --result /home/henrik/ghc --copyin ghc-7.0.2-norpm.tar.gz ghc-7.0.2-16.3.fc15.0.arm1.src.rpm hscolour-1.17-8.fc15.0.arm1.src.rpm /builddir/
</pre>
 
then building hscolour
 
<pre>
mock -r fedora-15-armhfp --result $PWD --chroot "tar zxf builddir/ghc-7.0.2-norpm.tar.gz"
mock -r fedora-15-armhfp --result $PWD --unpriv 'rpmbuild --rebuild builddir/hscolour-1.17-8.fc15.0.arm1.src.rpm --nodeps -D"without_prof 1" -D"without_hscolour 1"'
mock -r fedora-15-armhfp --result $PWD --copyout /builddir/build/RPMS/* .
mock -r fedora-15-armhfp --result $PWD --chroot "rpm -i /builddir/build/RPMS/*hscolour* --nodeps"
</pre>
 
and finally a full native build of ghc
 
<pre>
mock -r fedora-15-armhfp --result /home/henrik/ghc --unpriv --chroot 'rpmbuild --rebuild builddir/ghc-7.0.2-16.3.fc15.0.arm1.src.rpm --nodeps'
</pre>
 
First had problems with GCC crashing on internal error, but the reason to that was that I had forgot to activate the right swap partition after a reboot between manual build and rpmbuild steps.
 
Then a little overoptimisic on the mainline patchwork. It seems the patch to use system provided libffi only works on platforms where ghci is supported. A bit unfortunate as it means we will be using a bundled copy instead of the system provided one. This should be looked into.
 
<pre>
mock -r fedora-15-armhfp --result $PWD --init
mock -r fedora-15-armhfp --result $PWD --install gmp-devel libffi-devel ncurses-devel libxslt  docbook-style-xsl ghc-rpm-macros
mock -r fedora-15-armhfp --result /home/henrik/ghc --copyin ghc-7.0.2-norpm.tar.gz *.rpm /builddir/
mock -r fedora-15-armhfp --result $PWD --chroot "tar zxf builddir/ghc-7.0.2-norpm.tar.gz"
mock -r fedora-15-armhfp --result $PWD --chroot "rpm -iv /builddir/build/RPMS/*hscolour* --nodeps"
</pre>
 
<pre>
mock -r fedora-15-armhfp --result /home/henrik/ghc --unpriv --chroot 'rpmbuild --rebuild builddir/ghc-7.0.2-16.3.fc15.0.arm3.src.rpm --nodeps'
</pre>
 
[[User:Hno|Hno]] 07:20, 26 September 2011 (UTC)
 
= Completed =
 
These packages have completed a full build with some manual actions


== xerces-j2 ==
== xerces-j2 ==
Line 482: Line 405:
== mesa ==
== mesa ==


mesa-7.11-1.fc15 built without modification (post stage3-trim)
mesa-7.11-1.fc15 built without modification (post stage3-trim).
 
Not sure how, because the sis driver should get built, and that requires x86 or x86_64 before [https://bugzilla.redhat.com/show_bug.cgi?id=713609 #713609] produced mesa-7.11-4.fc15 (F15 updates). Anyway, if it works it works! -[[User:Dsd|Dsd]] 14:38, 8 October 2011 (UTC)


There is however mesa-dri-llvmcore left in stage3
There is however mesa-dri-llvmcore left in stage3
Line 513: Line 438:


Additionally, the perfschema.func_mutex and perfschema.func_file_io test cases were removed as they failed during build/test time.  These should be investigated and a proper fix put in place.
Additionally, the perfschema.func_mutex and perfschema.func_file_io test cases were removed as they failed during build/test time.  These should be investigated and a proper fix put in place.
could not find how the test cases were disabled in the spec file. 5.5.15 fails on the same two tests. Only the valist patch is needed. The DEFAULT_HOME_ENV patch is not needed. [[User:Hno|Hno]] 14:48, 10 October 2011 (UTC)


== phonon ==
== phonon ==
Line 687: Line 614:
== gcc ==
== gcc ==


gcc-4.6.1-4.fc15.0.arm1 patched with the patch needed for compiling ARMv7 qt.
current:


http://comments.gmane.org/gmane.comp.handhelds.openembedded.core/1457 Khem Raj | 1 Jun 08:21
gcc-4.6.1-9.fc15.0.arm1 is currently building. Changes in the 0.arm1 version:


Referenced GCC patch: http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html commit http://gcc.gnu.org/viewcvs/trunk/gcc/expr.c?r1=171341&r2=171347&view=patch
build_libstdcxx_docs disabled
 
<pre>
Wed Sep 14 23:05:27 GMT 2011 gcc-4.6.1-4.fc15.0.arm1 STARTING
Thu Sep 15 02:56:11 GMT 2011 gcc-4.6.1-4.fc15.0.arm1 DONE
</pre>


For ARMv5tel (and probably v7hl too - I can't explain why these issues have not been hit or documented so far), the gcc shipped in F15 is broken (doesn't compile, and later produced bad binaries for some packages). gcc-4.6.0-9.fc15 is required to solve #697685, but gcc-4.6.1-9.fc15 is needed to fix #733549. <b>So the koji build should start with gcc-4.6.1-9.fc15 or newer.</b> Don't waste your time with older versions only to run into #697685 at the very very end of the 3 day compile process. -[[User:Dsd|Dsd]] 11:33, 24 September 2011 (UTC)
Addition of gcc46-java-natclass.patch and gcc46-libjava.patch for java support.


== soprano ==
Addition of gcc-expr.c-171347.patch for volatile bitfield correctness.


Depends on qt-docs (why?) which were not included in the stage3 build.
Define _gnu to -gnueabi for arm arch.


Depends on phonon -> PackageKit-gstreamer-plugin
Debuginfo infrastructure removed from spec file.


Built somehow with qt-docs added from f15-updates.
%check disabled


== qt ==
No libgtkpeer.so libgjsmalsa.so or libjawt.so generated.


An updated qt-4.7.3-6.fc15 was built somehow in stage3, but the -doc package was not included.
previously:


The same version fails to build from source in stage4.
gcc-4.6.1-4.fc15.0.arm1 patched with the patch needed for compiling ARMv7 qt.


The original qt-4.7.2-8.fc15 release version fails with a problem related to mysql or openssl:
http://comments.gmane.org/gmane.comp.handhelds.openembedded.core/1457 Khem Raj | 1 Jun 08:21
 
<pre>
DEBUG util.py:247:  ERROR with rpm_check_debug vs depsolve:
DEBUG util.py:247:  openssl-devel(armv7hnl-32) is needed by mysql-devel-5.5.10-2.fc15.armv7hl
DEBUG util.py:247:  (1, [u'Please report this error in http://yum.baseurl.org/report'])
</pre>
 
this may be related to the yum repository priority problem, or the mysql-devel package in stage3 is borked. But seems this error is only seen sometimes?
 
mysql have been rebuilt, solving the above problem.
 
but then fails on a build problem
 
<pre>
../../include/QtCore/../../src/corelib/arch/qatomic_arm.h: In function 'void qt_removeObject(QObject*)':
../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:361:35: error: output number 1 not directly addressable
make[1]: *** [.obj/release-shared/qobject.o] Error 1
</pre>
 
Appears to be a GCC bug? http://comments.gmane.org/gmane.comp.handhelds.openembedded.core/1457 Khem Raj | 1 Jun 08:21


Referenced GCC patch: http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html commit http://gcc.gnu.org/viewcvs/trunk/gcc/expr.c?r1=171341&r2=171347&view=patch
Referenced GCC patch: http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html commit http://gcc.gnu.org/viewcvs/trunk/gcc/expr.c?r1=171341&r2=171347&view=patch
Patches used for stage3: http://lists.fedoraproject.org/pipermail/arm/2011-September/001964.html
Patching GCC, then building qt again.
Now fails with a thumb related error


<pre>
<pre>
g++ -c -pipe -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -DELF_INTERPRETER=\"/lib/ld-linux.so.3\" -DQLIBRARYINFO_EPOCROOT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared -Iglobal -I../../tools/shared -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared -o .obj/release-shared/qobject.o kernel/qobject.cpp 
Wed Sep 14 23:05:27 GMT 2011 gcc-4.6.1-4.fc15.0.arm1 STARTING
{standard input}: Assembler messages:
Thu Sep 15 02:56:11 GMT 2011 gcc-4.6.1-4.fc15.0.arm1 DONE
{standard input}:2878: Error: selected processor does not support Thumb mode `swp r6,r4,[r3]'
</pre>
</pre>


which is odd as the cpu do support thumb mode.
<b>ARMv5tel:</b> Unmodified gcc-4.6.1-9.fc15 built fine (GA version fails, this is an update to fix [https://bugzilla.redhat.com/show_bug.cgi?id=697685 #697685] and [https://bugzilla.redhat.com/show_bug.cgi?id=733549 #733549]). Needed to be bootstrapped first without cloog (trivial spec change), then libtool compiled, then cloog, then gcc(unmodified). Done successfully.


Upstream bug report: https://bugreports.qt.nokia.com//browse/QTBUG-15911 which is supposedly fixed. Confusing. Or was that only in Qt-4.8?
== soprano ==


Others seeing same problem
Depends on qt-docs (why?) which were not included in the stage3 build.
http://developer.qt.nokia.com/forums/viewthread/7304
http://processors.wiki.ti.com/index.php/Building_Qt
http://www.qtcentre.org/threads/44311-unkown-toolchain


There is also some mention in the above bug report about Thumb2 not really being a supported platform for Qt.
Depends on phonon -> PackageKit-gstreamer-plugin


Seems armv7 is not a supported platform either. Supported platforms are "Generic ARM" and "ARMv6", and ours gets detected as "Generic ARM". If QT had detected it as QT_ARHC_ARMV6 it probably would have worked. Later versions supposedly support ARMv7 as well.
Built somehow with qt-docs added from f15-updates.


Configure flags needed: -arch armv6 -no-neon
Also need the Thumb2 patch from [https://bugreports.qt.nokia.com/browse/QTBUG-16402 QTBUG-16402 fix ARM Thumb2 build] https://qt.gitorious.org/qt/qt/merge_requests/1121
Alternatively enable "-Wa, -mimplicit-it=thumb" in rpmrc letting GAS automatically adjust ARM assembly code for Thumb mode.


== kdelibs ==
== kdelibs ==
Line 975: Line 862:
Wed Sep 21 14:09:32 GMT 2011 kdebase-workspace-4.6.5-6.fc15 STARTING
Wed Sep 21 14:09:32 GMT 2011 kdebase-workspace-4.6.5-6.fc15 STARTING
</pre>
</pre>
Still problems. Fixed in git but no new koji build.
kdebase-workspace-4.6.5-6.fc15-1b246a82133359fcc4364d8a18564fd47081fc6e


== icu ==
== icu ==
Line 1,027: Line 918:
Requires a rebuilt ocaml (ocaml in stage3 is missing /usr/bin/ocamlrun). [dj]
Requires a rebuilt ocaml (ocaml in stage3 is missing /usr/bin/ocamlrun). [dj]


Rebuilt fine after ocaml was fixed.
Rebuilt fine after ocaml was fixed. No arm specific changes.


== ocaml ==
== ocaml ==
Line 1,050: Line 941:
To bootstrap ocaml:  In a suitable build environment (i.e. not mock), rpmbuild -bc ocaml.spec.  This will eventually fail, but you'll have a boot/ocamlrun binary.  If you don't already have a partial ocaml RPM, you can "make install" this build; if you do have a partial ocaml RPM, you still need to copy the just-built boot/ocamlrun to /usr/bin/ocamlrun.  Then rpmbuild again.
To bootstrap ocaml:  In a suitable build environment (i.e. not mock), rpmbuild -bc ocaml.spec.  This will eventually fail, but you'll have a boot/ocamlrun binary.  If you don't already have a partial ocaml RPM, you can "make install" this build; if you do have a partial ocaml RPM, you still need to copy the just-built boot/ocamlrun to /usr/bin/ocamlrun.  Then rpmbuild again.


== ghc ==
ghc needs ghc to build, but we do not have ghc..
http://hackage.haskell.org/trac/ghc/wiki/Building/Porting documents the bootstrapping procedure, but in ghc-7.0.2 bootstraping procedure seems completely broken.
Debian do have ghc-7.0.4 arm hardfloat. will try using that as initial compiler.


http://http.debian-ports.org/debian/pool-armhf/main/g/ghc/


= Updates packages to build directly into ARM GA =
also needs libgmp10 från http://http.debian-ports.org/debian/pool-armhf/main/g/gmp/
 
after manual installation and library location fixup, finish ghc installation by running:
 
ghc-pkg recache --global
 
and replace /usr/bin/ghc with a small wrapper to work around implicit DSO issues relating to pthread
 
<pre>
#!/bin/sh
exec /usr//lib/ghc/bin/ghc "$@" -lpthread
</pre>
 
 
Fix ExclusiveArch in ghc.spec and unpack sources by <code>rpmbuild -bp ghc.spec --nodeps</code>
 
Install as many of the dependencies as possible.
 
Build it:
 
<pre>
./configure
make
</pre>
 
seems get started. May even work as rpm. Aborting to retry using rpm.
 
=== testbuild of hscolour ===
 
Fix ExclusiveArch in hscolour.spec and attempt rebuilding it with --nodeps.
 
failed. Not sure why.
 
<pre>
./Setup configure
./Setup build
sudo ./Setup install
</pre>
 
works however. Closer inspection of the rpmbuild output shows that it's probably profiling related. The debian install do not have profiling libs. Digging a little in /etc/rpm/ghc.macros shows there is a without_prof define.
 
<pre>
rpmbuild -ba hscolour.spec  --nodeps -D"without_prof 1" -D"without_haddock 1" -D"without_hscolour 1"
sudo rpm -i ../RPMS/armv7hl/hscolour-1.17-8.fc15.0.arm1.armv7hl.rpm
rpmbuild -ba hscolour.spec  --nodeps -D"without_prof 1" -D"without_haddock 1"
</pre>
 
looks good. So it's possible to bootstrap this package fully using rpm.
 
=== native ghc ===
 
<pre>
rpmbuild -ba ghc.spec  --nodeps
</pre>
 
failed.. needing some overrides. Reverting to begin with a manual build again. Done.
 
ghc-7.0.2 for Fedora now available as .tar.gz. Will clean out the build root and continue bootstraping with only this installed, pruning out the remains of the foreign Debian version.
 
=== rpmbuild of ghc & hscolour ===
 
Starting from a clean buildroot.
 
buildroot setup:
 
<pre>
mock -r fedora-15-armhfp --result $PWD --init
 
rpm -q --requires -p ghc-7.0.2-16.3.fc15.0.arm1.src.rpm
ghc 
ghc-rpm-macros >= 0.11.12
gmp-devel 
libffi-devel 
ghc-directory-devel 
ghc-process-devel 
ghc-pretty-devel 
ghc-containers-devel 
ghc-haskell98-devel 
ghc-bytestring-devel 
ncurses-devel 
libxslt 
docbook-style-xsl 
hscolour 
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
 
mock -r fedora-15-armhfp --result $PWD --install gmp-devel libffi-devel ncurses-devel libxslt  docbook-style-xsl ghc-rpm-macros
mock -r fedora-15-armhfp --result /home/henrik/ghc --copyin ghc-7.0.2-norpm.tar.gz ghc-7.0.2-16.3.fc15.0.arm1.src.rpm hscolour-1.17-8.fc15.0.arm1.src.rpm /builddir/
</pre>
 
then building hscolour
 
<pre>
mock -r fedora-15-armhfp --result $PWD --chroot "tar zxf builddir/ghc-7.0.2-norpm.tar.gz"
mock -r fedora-15-armhfp --result $PWD --unpriv 'rpmbuild --rebuild builddir/hscolour-1.17-8.fc15.0.arm1.src.rpm --nodeps -D"without_prof 1" -D"without_hscolour 1"'
mock -r fedora-15-armhfp --result $PWD --copyout /builddir/build/RPMS/* .
mock -r fedora-15-armhfp --result $PWD --chroot "rpm -i /builddir/build/RPMS/*hscolour* --nodeps"
</pre>
 
and finally a full native build of ghc
 
<pre>
mock -r fedora-15-armhfp --result $PWD --unpriv --chroot 'rpmbuild --rebuild builddir/ghc-7.0.2-16.3.fc15.0.arm1.src.rpm --nodeps'
</pre>
 
First had problems with GCC crashing on internal error, but the reason to that was that I had forgot to activate the right swap partition after a reboot between manual build and rpmbuild steps.
 
Then a little overoptimisic on the mainline patchwork. It seems the patch to use system provided libffi only works on platforms where ghci is supported. A bit unfortunate as it means we will be using a bundled copy instead of the system provided one. This should be looked into.
 
<pre>
mock -r fedora-15-armhfp --result $PWD --init
mock -r fedora-15-armhfp --result $PWD --install gmp-devel libffi-devel ncurses-devel libxslt  docbook-style-xsl ghc-rpm-macros
mock -r fedora-15-armhfp --result $PWD --copyin ghc-7.0.2-norpm.tar.gz *.rpm /builddir/
mock -r fedora-15-armhfp --result $PWD --chroot "tar zxf builddir/ghc-7.0.2-norpm.tar.gz"
mock -r fedora-15-armhfp --result $PWD --chroot "rpm -iv /builddir/*hscolour*armv7hl.rpm --nodeps"
</pre>
 
<pre>
mock -r fedora-15-armhfp --result $PWD --unpriv --chroot 'rpmbuild --rebuild builddir/ghc-7.0.2-16.3.fc15.0.arm3.src.rpm --nodeps'
</pre>
 
failed after 13 hours due to a stupid ghc.spec error of mine %{without where i meant %{with
 
<pre>
mock -r fedora-15-armhfp --result $PWD --unpriv --chroot 'rpmbuild --rebuild builddir/ghc-7.0.2-16.3.fc15.0.arm4.src.rpm --nodeps'
</pre>
 
finished.
 
result uploaded to stage3, and srpms sent to the build farm for clean mock builds.
 
ExlusiveArch on ghc related packages also updated to include armv7hl to try to shake out which packags build on armv7hl and which needs more attention.
 
=== mainline merge ===
 
Work is progressing together with mainline package owner juhp to integrate the arm changes mainline, starting with ghc and then the other packages. [[User:Hno|Hno]] 12:48, 30 September 2011 (UTC)
 
main ghc package changes have been merged mainline. Still remains to address all the other packages where armv7hl have been added as supported arch. [[User:Hno|Hno]] 02:03, 6 October 2011 (UTC)
 
== speedcrunch ==
 
had issues with unsigned char. See [https://bugzilla.redhat.com/show_bug.cgi?id=736873 Bug #736873]. Fixed in fixed in speedcrunch-0.11-0.3.alpha.fc15
 
== gypsy ==
 
patched to build with gcc 4.6. Tracked in [https://bugzilla.redhat.com/show_bug.cgi=id=734261 Bug #734261].
 
== pl ==
 
pl-5.10.2-5.fc15.0.arm1 patched to use correct java paths on arm.
 
pl-5.10.5-4.fc17 builds without patches, but that's rawhide and not f15.
 
== qt ==
 
An updated qt-4.7.3-6.fc15 was built somehow in stage3, but the -doc package was not included.
 
The same version fails to build from source in stage4.
 
The original qt-4.7.2-8.fc15 release version fails with a problem related to mysql or openssl:
 
<pre>
DEBUG util.py:247:  ERROR with rpm_check_debug vs depsolve:
DEBUG util.py:247:  openssl-devel(armv7hnl-32) is needed by mysql-devel-5.5.10-2.fc15.armv7hl
DEBUG util.py:247:  (1, [u'Please report this error in http://yum.baseurl.org/report'])
</pre>
 
this may be related to the yum repository priority problem, or the mysql-devel package in stage3 is borked. But seems this error is only seen sometimes?
 
mysql have been rebuilt, solving the above problem.
 
but then fails on a build problem
 
<pre>
../../include/QtCore/../../src/corelib/arch/qatomic_arm.h: In function 'void qt_removeObject(QObject*)':
../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:361:35: error: output number 1 not directly addressable
make[1]: *** [.obj/release-shared/qobject.o] Error 1
</pre>
 
Appears to be a GCC bug? http://comments.gmane.org/gmane.comp.handhelds.openembedded.core/1457 Khem Raj | 1 Jun 08:21
 
Referenced GCC patch: http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html commit http://gcc.gnu.org/viewcvs/trunk/gcc/expr.c?r1=171341&r2=171347&view=patch
 
Patches used for stage3: http://lists.fedoraproject.org/pipermail/arm/2011-September/001964.html
 
Patching GCC, then building qt again.
 
Now fails with a thumb related error
 
<pre>
g++ -c -pipe -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -DELF_INTERPRETER=\"/lib/ld-linux.so.3\" -DQLIBRARYINFO_EPOCROOT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared -Iglobal -I../../tools/shared -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared -o .obj/release-shared/qobject.o kernel/qobject.cpp 
{standard input}: Assembler messages:
{standard input}:2878: Error: selected processor does not support Thumb mode `swp r6,r4,[r3]'
</pre>
 
which is odd as the cpu do support thumb mode.
 
Upstream bug report: https://bugreports.qt.nokia.com//browse/QTBUG-15911 which is supposedly fixed. Confusing. Or was that only in Qt-4.8?
 
Others seeing same problem
http://developer.qt.nokia.com/forums/viewthread/7304
http://processors.wiki.ti.com/index.php/Building_Qt
http://www.qtcentre.org/threads/44311-unkown-toolchain
 
There is also some mention in the above bug report about Thumb2 not really being a supported platform for Qt.
 
Seems armv7 is not a supported platform either. Supported platforms are "Generic ARM" and "ARMv6", and ours gets detected as "Generic ARM". If QT had detected it as QT_ARHC_ARMV6 it probably would have worked. Later versions supposedly support ARMv7 as well.
 
Configure flags needed: -arch armv6 -no-neon
 
Also need the Thumb2 patch from [https://bugreports.qt.nokia.com/browse/QTBUG-16402 QTBUG-16402 fix ARM Thumb2 build] https://qt.gitorious.org/qt/qt/merge_requests/1121
 
Alternatively enable "-Wa, -mimplicit-it=thumb" in rpmrc letting GAS automatically adjust ARM assembly code for Thumb mode.
 
 
All changes merged mainline in qt-4.7.4-3.fc15
 
== python-pyblock ==
 
python-pyblock-0.49-2.fc15 is arm patched, remowing -Wall for unknown reason.
 
The issues with this package are discussed [https://www.redhat.com/archives/anaconda-devel-list/2011-October/msg00052.html here]. Needs a little upstream (anaconda team) intervention.
 
== anaconda ==
 
anaconda-15.31-2.fc15.src.rpm in stage4 is a modified package which [http://www.redhat.com/archives/anaconda-devel-list/2011-September/msg00084.html adds an ARM screen font] (only for armv7, not for v5). It may be better to specify that ARM doesn't want a font (like S390 already). Resolution being tracked in [https://bugzilla.redhat.com/show_bug.cgi?id=743429 #743429].
 
== glibc ==
 
GA version suffers from [https://bugzilla.redhat.com/show_bug.cgi?id=708452 various failures] which are fixed by the updates version.
 
The armv7hl tree includes glibc-2.13.90-9.0.arm1.src.rpm with the following changes. The ones crossed out are no longer necessary in the F15 updates version.
* <s>Disable tests</s> - only for ease of build
* <s>Change make flags</s> - only for ease of build
* <s>Enable eabi</s> - already fixed in F15 updates
* glibc-arm-tzdata.patch - obsoleted by [https://bugzilla.redhat.com/show_bug.cgi?id=743034 backporting a better fix from F16] as is done in glibc-2.14-7.arm0 for armv5tel.
* glibc-arm-mathdefs.patch (see [https://bugzilla.redhat.com/show_bug.cgi?id=744589 #744589]) - note that this will only affect builds that run with -Werror; in the interests of moving into koji quickly, this patch could maybe be dropped for now?
* glibc-arm-clone-unwind.patch - solves something java-related, see [https://bugzilla.redhat.com/show_bug.cgi?id=749556 #749556]
 
== hal ==
 
in stage3 only, hal-0.5.14-6.fc15.src.rpm pandaboard2.znjan.st
 
<pre>
gcc -DHAVE_CONFIG_H -I. -I../../..  -DPACKAGE_SYSCONF_DIR=\""/etc"\" -DPACKAGE_DATA_DIR=\""/usr/share"\" -DPACKAGE_BIN_DIR=\""/usr/bin"\" -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\" -DPACKAGE_LOCALSTATEDIR=\""/var"\" -I../../.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include  -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include  -I/usr/include/blkid -I/usr/include/uuid    -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -Wall -Wchar-subscripts -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -c probe-video4linux.c
probe-video4linux.c:33:28: fatal error: linux/videodev.h: No such file or directory
</pre>
 
kernel-headers issue? There is videodev2.h, but not videodev.h
 
there is no videodev2.h on x86_64 either.
 
Mainline FTBFS.
 
Patch available upstream in http://cgit.freedesktop.org/hal/commit/?id=ae13d96fa2a0612b6000f4b8f6ed9d3564035703
which depends on http://cgit.freedesktop.org/hal/commit/?id=8f624253f0135ca77a893ad4e8168f51ef90d4da
 
== java-1.5.0-gcj ==
 
in stage 3 only
 
== java-1.6.0-openjdk ==
 
in stage 3 only
 
== graphviz ==
 
in stage3 only. graphviz-2.26.3-4.fc15.src.rpm pandaboard2.znjan.st.
 
specfile syntax FTBFS.
 
<pre>
error: types must match
error: /builddir/build/SPECS/graphviz.spec:156: parseExpressionBoolean returns -1
</pre>
 
got fixed mainline.
 
= Packages Needing ARM Patches Upstreamed =


The following list is for packages that meet all of the following criteria:
These packages have built on ARMv5tel and ARMv7hl and need to have patches upstreamed.
* The package version from F15 GA has important failures (either build or runtime) on armv5tel/armv7hl
* The package version in F15 updates (or simply built in koji but not pushed as an update) is fixed
* Therefore the koji build of F15 GA for ARM should use the updated version and not even bother with the one that was originally released in F15 GA


Having these packages listed is hoped to save time with the koji build. Please list the <b>fixed</b> version below, including brief details or links with explanations.
Procedure:
# When you start working on a particular package, put your nick after the package in parenthesis
# When the package patches are upstreamed, cross out the package name using <s> strikeout </s>.
# Add any comments with a sub-bullet (#*)


* gcc-4.6.1-9.fc15 ([https://bugzilla.redhat.com/show_bug.cgi?id=697685 #697685] and [https://bugzilla.redhat.com/show_bug.cgi?id=733549 #733549])
Package list:
* libtool-2.4-6.fc15 (needed for gcc-4.6.1)
# anaconda-15.31-1.fc15.0.arm1
* mesa-7.11-4.fc15 ([https://bugzilla.redhat.com/show_bug.cgi?id=713609 #713609])
# <s>cln-1.3.1-2.fc15.0.arm2</s> pbrobinson (in 1.3.2-1 all releases)
* atlas-3.8.4-1.fc15 (first version with ARM support)
# <s>crash-5.1.7-2.fc15.0.arm1</s> pbrobinson
* uuid-1.6.2-5.fc15 (GA version has trivial spec error)
# gcc-4.6.1-4.fc15.0.arm2
* pax-3.4-12.fc15 (GA version has trivial compile error)
# gcc-4.6.1-9.fc15.0.arm1
* busybox-1.18.2-5.fc15 (earlier versions don't compile on ARM)
# gettext-0.18.1.1-7.fc15.0.arm1
* uClibc-0.9.32-2.fc15 (needed for busybox, GA version doesn't work right)
# ghc-ansi-terminal-0.5.5-3.fc15.0.arm1
# ghc-attempt-0.3.0-4.fc15.0.arm1
# ghc-attoparsec-0.8.5.0-3.fc15.0.arm1
# ghc-base64-bytestring-0.1.0.2-2.fc15.0.arm1
# ghc-binary-0.5.0.2-8.fc15.0.arm1
# ghc-binary-shared-0.8.1-2.fc15.0.arm1
# ghc-Boolean-0.0.1-7.fc15.0.arm1
# ghc-bytestring-nums-0.3.2-3.fc15.0.arm1
# ghc-bytestring-trie-0.2.3-2.fc15.0.arm1
# ghc-cereal-0.3.0.0-1.fc15.1.0.arm1
# ghc-cgi-3001.1.7.4-6.fc15.0.arm1
# ghc-chalmers-lava2000-1.1.1-11.fc15.0.arm1
# ghc-cmdargs-0.6.8-2.fc15.0.arm1
# ghc-csv-0.1.2-8.fc15.0.arm1
# ghc-dataenc-0.14-1.fc15.0.arm1
# ghc-deepseq-1.1.0.2-4.fc15.0.arm1
# ghc-digest-0.0.0.8-4.fc15.0.arm1
# ghc-editline-0.2.1.0-23.fc15.0.arm1
# ghc-failure-0.1.0.1-4.fc15.0.arm1
# ghc-fgl-5.4.2.3-5.fc15.0.arm1
# ghc-ghc-paths-0.1.0.8-6.fc15.0.arm1
# ghc-GLUT-2.1.2.1-9.fc15.0.arm1
# ghc-hashed-storage-0.5.5-2.fc15.0.arm1
# ghc-haskeline-0.6.3.2-5.fc15.0.arm1
# ghc-hinotify-0.3.1-9.fc15.0.arm1
# ghc-hslogger-1.1.4-1.fc15.0.arm1
# ghc-html-1.0.1.2-9.fc15.0.arm1
# ghc-HTTP-4000.1.1-5.fc15.0.arm1
# ghc-HUnit-1.2.2.3-4.fc15.0.arm1
# ghc-libmpd-0.5.0-8.fc15.0.arm1
# ghc-MemoTrie-0.4.9-2.fc15.1.0.arm1
# ghc-mmap-0.5.7-5.fc15.0.arm1
# ghc-mtl-2.0.1.0-4.fc15.0.arm1
# ghc-mtl-2.0.1.0-4.fc15.0.arm2
# ghc-mtlparse-0.1.1-5.fc15.0.arm1
# ghc-neither-0.1.0-4.fc15.0.arm1
# ghc-network-2.3.0.2-2.fc15.0.arm1
# ghc-OpenGL-2.2.3.0-7.fc15.0.arm1
# ghc-parallel-3.1.0.1-4.fc15.0.arm1
# ghc-parsec-3.1.1-2.fc15.0.arm1
# ghc-process-leksah-1.0.1.4-5.fc15.0.arm1
# ghc-ranges-0.2.3-2.fc15.1.0.arm1
# ghc-regex-base-0.93.2-5.fc15.0.arm1
# ghc-regex-compat-0.93.1-6.fc15.0.arm1
# ghc-regex-posix-0.94.4-4.fc15.0.arm1
# ghc-regexpr-0.5.3-4.fc15.0.arm1
# ghc-safe-0.3-3.fc15.0.arm1
# ghc-split-0.1.3-4.fc15.0.arm1
# ghc-stm-2.2.0.1-4.fc15.0.arm1
# ghc-syb-0.3-4.fc15.0.arm1
# ghc-tagsoup-0.12-4.fc15.0.arm1
# ghc-tar-0.3.1.0-11.fc15.0.arm1
# ghc-terminfo-0.3.1.3-6.fc15.0.arm1
# ghc-texmath-0.4-6.fc15.0.arm1
# ghc-transformers-0.2.2.0-6.fc15.0.arm1
# ghc-transformers-0.2.2.0-6.fc15.0.arm2
# ghc-uniplate-1.6-5.fc15.0.arm1
# ghc-utf8-string-0.3.6-9.fc15.1.0.arm1
# ghc-X11-1.5.0.0-11.fc15.0.arm1
# ghc-X11-xft-0.3-15.fc15.0.arm1
# ghc-xhtml-3000.2.0.1-9.fc15.0.arm1
# ghc-xml-1.3.7-3.fc15.0.arm1
# ghc-zip-archive-0.1.1.7-2.fc15.0.arm1
# ghc-zlib-0.5.3.1-2.fc15.0.arm1
# ghc-zlib-bindings-0.0.0-4.fc15.0.arm1
# <s>gypsy-0.8-2.fc15.0.arm1</s> pbrobinson
# java-1.5.0-gcj-1.5.0.0-37.fc15.0.arm1
# kdnssd-avahi-0.1.3-0.11.20080116svn.fc15.0.arm1
# libprelude-1.0.0-8.fc15.0.arm1
# m4-1.4.16-1.fc15.0.arm1
# ocaml-3.12.0-5.fc15.0.arm2
# perl-Coro-5.372-4.fc15.0.arm1
# pl-5.10.2-5.fc15.0.arm1
# python-pyblock-0.49-2.fc15.0.arm1
# pyxf86config-0.3.37-10.fc15.0.arm1
# speedcrunch-0.11-0.2.alpha.fc15.0.arm1
# tzdata-2011h-1.fc15.0.arm1
# xerces-c-3.0.1-21.fc15.0.arm1
# allegro pbrobinson (fixed rawhide/f16 f15 needed)
# <s>hwloc</s> pbrobinson
# <s>netcdf</s> pbrobinson
# <s>alex</s> pbrobinson
# <s>bluetile</s> pbrobinson
# <s>cpphs</s> pbrobinson
# <s>cabal-install</s> pbrobinson

Latest revision as of 11:58, 16 November 2011

Shortcut:
Arch:ARM

We are currently engaged in bootstrap of support for armv7hl ("hardfp") ARM systems in Fedora. The purpose of this page is to track the individual status of packages (and their dependencies) that have been built for Fedora.

See http://arm-temp.ausil.us/pub/fedora-arm/stage-4-failures.html for the list of pending packages that have not succeeded building

See http://djdelorie.fedorapeople.org/armv7-srpms.html for a report on the differences to mainline

Known F15 issues

linux/videodev.h

hno: Hmm.. have quite many packages FTBFS with "fatal error: linux/videodev.h: No such file or directory". 
kwizart: hno, they need to be converted to fully support v4l2
kwizart: but the workaround is to make them built with /usr/include/libv4l1-videodev.h from libv4l-devel and make them link with -lv4l1

Updates packages to build directly into ARM GA

If a F15 update is needed to solve an ARM-related problem that exists with the GA package, simply push that update into stage4 and note this (and the reasoning) under "Completed" below. When we come to do the koji build, the stage4 SRPMs will be used as a source, so there is no need to seperately record/list the packages that had to pulled in from updates.

Needed for koji (jcm)

java-1.5.0-gcj

java-1.6.0-openjdk

pki-core

DEBUG util.py:247:  Error: No Package found for osutil

osutil fails on some java related

-- Found Java: /usr/bin/java 
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
  Could NOT find JNI (missing: JNI_LIBRARIES JAVA_AWT_LIBRARY
  JAVA_JVM_LIBRARY)

sinjdoc

fails on java related issues

checking for java... java
checking for a jsr-14-compliant java 1.4 compiler... not-found
configure: error: Can't find tools to build java programs.

gtkmm24

Tracked below. Seems to be FTBFS after glibmm24 packaging change.

busybox

done. busybox-1.18.2-5.fc15 pulled in from updates (earlier versions don't compile on ARM)

docbook2X

Depends on perl(XML::LibXML::Common), perl(XML::LibXML)

done.

icu

done

llvm

depends on ocaml. See below.

done

pax

Done. pax-3.4-10.fc12 in F15 GA is broken - trivial gcc compile error. Use pax-3.4-12.fc15 instead.

perl-XML-LibXML

Depends on itself, probably in rpm triggers. Trying with a dummy bootstrap package just providing the needed provides.

perl-XML-LibXML-0.0.bootstrap

worked fine. Done.

uuid

Done. uuid-1.6.2-4.fc15 in F15 GA is broken - trivial spec error. Use uuid-1.6.2-5.fc15 instead.

xerces-c

calls dos2unix with bad arguments. Seems to have been failing for some time but appears dos2unix did not exit with an error and only an error message before.

seems fixed in F16, but also a newer version.

trying build with corrected dos2unix arguments (-k instead of -U) Hno 10:40, 23 September 2011 (UTC)

Done. fixed in xerces-c-3.0.1-22.fc15

Self & Circular dependencies

These packages have circular dependencies on themselves

erlang-R14B

fpc

mlton

vinagre

mono

perl-Math-Random-MT-Auto

sbcl

eclipse icu4j

simple circular dependency - djdelorie working on bootstrapping

ghc ghc hscolour hscolour

done. ghc needs a manual bootstrap.

See ghc below

java java ecj

log4net nant

step 1: build nant in bootstrap mode: http://koji.fedoraproject.org/koji/buildinfo?buildID=238337

step 2: build log4net using the nant built in step 1: http://koji.fedoraproject.org/koji/buildinfo?buildID=238941

step 3: build nant without bootstrap mode: http://koji.fedoraproject.org/koji/buildinfo?buildID=238948

plplot perl-PDL-Graphics-PLplot

valgrind plpa openmpi

Problematic packages

Please add notes regarding specific packages here. When completed move them down to Completed.

zziplib

Mainline FTBFS Bug #716062

Fails with

echo 'Cflags: -I${includedir}' >>zzipwrap.pc
/bin/sh ../libtool --silent --tag=CC   --mode=link gcc  -O2 -g -march=armv7-a
-mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -D_USE_MMAP -Wall -Wpointer-arith
-Wsign-compare -Wmissing-declarations -Wdeclaration-after-statement
-Werror-implicit-function-declaration -Wstrict-aliasing -Warray-bounds
-Wstrict-prototypes --export-dynamic -release 0 -version-info 13:59
-thread-safe  -o libzzipwrap.la -rpath /usr/lib wrap.lo ../zzip/libzzip.la   
/bin/sh ../libtool --silent --tag=CC   --mode=link gcc  -O2 -g -march=armv7-a
-mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -D_USE_MMAP -Wall -Wpointer-arith
-Wsign-compare -Wmissing-declarations -Wdeclaration-after-statement
-Werror-implicit-function-declaration -Wstrict-aliasing -Warray-bounds
-Wstrict-prototypes --export-dynamic  -o zzipwrap zzipwrap.o libzzipwrap.la   
gcc: error: unrecognized option '--export-dynamic'

The fix is most likely simply removing the --export-dynamic flag.

allegro

in stage 3 only. allegro-4.2.3-5.fc15.src.rpm

stage4 allegro-4.2.3-5.fc15 failure:

gcc -DALLEGRO_MODULES_PATH=\"/usr/lib/allegro\" -DHAVE_CONFIG_H -I. -Iinclude -Iinclude/allegro -I./include -I./include/allegro  -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -pthread -I/usr/include/kde/artsc -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -DALLEGRO_NO_ASM -DALLEGRO_LIB_BUILD   -O2 -funroll-loops -ffast-math  -Wall -Wno-unused  -x assembler-with-cpp -c ./src/x/xdga2s.s -o obj/unix/shared/alleg/xdga2s.o
./src/x/xdga2s.s: Assembler messages:
./src/x/xdga2s.s:54: Error: junk at end of line, first unrecognized character is `,'

clutter-gesture

available in stage3 only, NO SOURCES!

mainline FTBFS

gesture_recog.c: In function 'compute_ols':
gesture_recog.c:142:17: error: variable 'lyy' set but not used [-Werror=unused-but-set-variable]
gesture_recog.c:141:12: error: variable 's_s' set but not used [-Werror=unused-but-set-variable]
gesture_recog.c: In function 'gesture_process':
gesture_recog.c:804:11: error: variable 'point' set but not used [-Werror=unused-but-set-variable]

ecj

in stage 3 only

No obvious error in logs. Ends when calling ant. Rescheduled for build.

Failed with the same unobvious error.

+ ant
org.apache.tools.ant.helper.ProjectHelper2
RPM build errors:

firebird

in stage3 only

../src/include/../common/classes/fb_atomic.h:518:2: error: #error AtomicCounter: implement appropriate code for your platform!

source available in stage3. Is there a patch?

firefox

firefox-6 fails to build because -mfloat-abi=softfp is hard-coded in configure. Possible patches in the Mozilla Bugzilla

gdm

in stage 3 only

RPM build errors:
    Directory not found by glob: /builddir/build/BUILDROOT/gdm-3.0.0-3.fc15.arm/var/lib/gdm/.gconf.mandatory/*.xml/

gtkmm24

in stage3 only. gtkmm24-2.24.0-3.fc15.src.rpm pandaboard2.znjan.st

/usr/bin/perl -- "/usr/share/glibmm-2.4/doctool/doc-install.pl" --verbose --mode=0644 -l 'libsigc++-2.0.tag@../../../libsigc++-2.0/reference/html/' -l 'glibmm-2.4.tag@../../../glibmm-2.4/reference/html/' -l 'cairomm-1.0.tag@../../../cairomm-1.0/reference/html/' -l 'pangomm-1.4.tag@../../../pangomm-1.4/reference/html/' -l 'atkmm-1.6.tag@../../../atkmm-1.6/reference/html/' -t '/builddir/build/BUILDROOT/gtkmm24-2.24.0-3.fc15.arm/usr/share/doc/gtkmm-2.4/reference/html' --glob -- 'reference/html/*.css' 'reference/html/*.gif' 'reference/html/*.html' 'reference/html/*.png'
Can't open perl script "/usr/share/glibmm-2.4/doctool/doc-install.pl": No such file or directory

broken glibmm-2.4 package during build?

No, there is no package providing "/usr/share/glibmm-2.4/doctool/doc-install.pl" in F15 any longer.

Filed a package F15 FTBFS bug.

kernel

in stage 3 only

well, there is a kernel in stage4 also, but not the ones we are using.

libdc1394

in stage 3 only

dc1394_vloopback.c:49:28: fatal error: linux/videodev.h: No such file or directory

same error as in hal.

libgphoto2

in stage 3 only

Being fixed mainline in Bug #745081

libvpx

in stage 3 only

perl-Coro

in stage 3 only

perl-Tk

in stage 3 only

rrdtool

in stage 3 only

u-boot

in stage3 only

do not exists in F15.

uboot-tools exists in F15, build from u-boot sources. Here we should probably propose to make uboot-tools a subpackage of uboot. (If the idea is to provide u-boot images, as decision toward targeted hardware/boards is needed, references?)

w3m

in stage 3 only

xalan-j2

in stage 3 only

gtksourceview2

Mainline FTBFS with patches available but seems the maintainers are not responding.

Completed

These packages have completed a full build with some manual actions

python3

GA version: 3 tests fail on ARM (#744624).

Fixed in latest version from koji: python3-3.2-3.fc15

pth

Fails to build on Linux 3.x host due to #744740. built for armv5tel on Linux 2.6 host with no problems.

libmpc

GA version libmpc-0.8.3-0.3.svn855.fc15 fails to build on armv5tel, because it hits a glibc bug where certain headers are not available on ARM and builds with -Werror.

Pulled in version libmpc-0.8.3-0.4.svn855.fc15 from koji which avoids using -Werror.

nss

GA version fails tests on ARM. nss-3.12.10-6.fc15 pulled in from F15 updates to avoid this.

GA version also fails to build on Linux 3.0 host. Updates version may or may not face the same issue - armv5tel version built on Linux 2.6 host.

nspr

nspr-4.8.7-2.fc15 passes bad arguments to gcc and fails to compile. Fixed in nspr-4.8.8-4.fc15, pulled in from F15 updates.

uClibc

uClibc-0.9.32-2.fc15 pulled in from F15 updates (needed for busybox, GA version doesn't work right)

atlas

atlas-3.8.4-1.fc15 pulled in from F15 updates (first version with ARM support).

libtool

libtool-2.4-6.fc15 was pulled in from F15 updates for armv5tel as this is the version that works alongside gcc-4.6.1.

binutils

binutils-2.21.51.0.6-9.fc15 was pulled in from F15 updates to fix [1] (ghc and gcc build segfaults)

coreutils

Had trouble building coreutils-8.10-2.fc15 for armv5tel on koji2.laptop.org: it failed on tests/cp/fiemap-perf on "Nothing can read (much less write) that many bytes in so little time." More recent versions of coreutils fix this by skipping that test if the host filesystem is ext3 (which is the case on koji2, running Linux 3.1-rc7).

So, trying to avoid having to patch and bump coreutils in F15, I then tried to build this on an OLPC XO, which uses ext4 and runs Linux 3.0.0. This time, fiemap-perf passed but 5 gnulib readlink tests failed because the kernel returns EINVAL in a specific case where it never used to. Again, this test is fixed in more recent versions of coreutils, but in order to try and avoid patching the build, I patched in this kernel fix on my XO (still not upstream as of time of writing). The build then succeeded.

So the options for building this are:

  • Use a suitably old kernel (2.6.38 or older) and ext4 for the build, or
  • Patch the build system kernel and run the build on ext4, or
  • Add this coreutils fix and this gnulib fix to F15 coreutils and build that instead, which solves/avoids both the ext3 and readlink problems.

findutils

findutils includes gnulib so the readlink test failures noted in the coreutils section above apply exactly. findutils-4.5.9-3.fc15 built for armv5tel on OLPC XO with a patched kernel.

xerces-j2

in stage 3 only

zenity

in stage 3 only

usermode

in stage 3 only

tcl

in stage 3 only

ksh

in stage 3 only

systemtap

in stage 3 only

libtirpc

in stage 3 only

upower

upower-0.9.12-1.fc15 built without modification (post stage3-trim)

pinentry

pinentry-0.8.1-4.fc15 built without modification (post stage3-trim)

mesa

mesa-7.11-1.fc15 built without modification (post stage3-trim).

Not sure how, because the sis driver should get built, and that requires x86 or x86_64 before #713609 produced mesa-7.11-4.fc15 (F15 updates). Anyway, if it works it works! -Dsd 14:38, 8 October 2011 (UTC)

There is however mesa-dri-llvmcore left in stage3

gnome-bluetooth

gnome-bluetooth-3.0.1-1.fc15 built without modification (post stage3-trim)

PackageKit

Required changing src/pk-main.c to check version glib version 2,29,4 instead of 2,28,7. This later version is where glib-unix.h begins getting installed by glib2-devel.

xulrunner

xulrunner-2.0.1-1.fc15 failed with

checking size of int *... 0
configure: error: Unexpected pointer size

Fixed by https://bugzilla.redhat.com/show_bug.cgi?id=738509

Is *not* this upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=626035

mysql

mysql-5.5.14-2.fc15.0.arm1 was built with 2 patches from stage3:

mysql-home.patch: define DEFAULT_HOME_ENV mysql-valist_fix.patch: Use a dummy va_list for client_plugin.c

Additionally, the perfschema.func_mutex and perfschema.func_file_io test cases were removed as they failed during build/test time. These should be investigated and a proper fix put in place.

could not find how the test cases were disabled in the spec file. 5.5.15 fails on the same two tests. Only the valist patch is needed. The DEFAULT_HOME_ENV patch is not needed. Hno 14:48, 10 October 2011 (UTC)

phonon

Have a circular dependency on it's backend providers. Main phonon package have been built but can not be installed as there is no backend providers, and blocks the backend providers from being built.

As the main package is already in stage4 the normal boostrap procedure of temporarily removing dependencies do not work well.

Trying alternative dependency override by manually installing phonon using rpm

rm rpms/phonon-backend-gstreamer-4.5.1-1.fc15/*.log
mock -r fedora-15-armhfp --init --no-cleanup-after --result rpms/phonon-backend-gstreamer-4.5.1-1.fc15/
mock -r fedora-15-armhfp --result rpms/phonon-backend-gstreamer-4.5.1-1.fc15/ --installdeps rpms/phonon-4.5.0-2.fc15/phonon-4.5.0-2.fc15.src.rpm 
mock -r fedora-15-armhfp --result rpms/phonon-backend-gstreamer-4.5.1-1.fc15/ --copyin rpms/phonon-4.5.0-2.fc15/phonon-4.5.0-2.fc15.armv7hl.rpm builddir/
mock -r fedora-15-armhfp --result rpms/phonon-backend-gstreamer-4.5.1-1.fc15/ --chroot "rpm -i builddir/phonon-4.5.0-2.fc15.armv7hl.rpm --nodeps" 
mock -r fedora-15-armhfp --no-clean --no-cleanup-after --result rpms/phonon-backend-gstreamer-4.5.1-1.fc15/ SRPMS/phonon-backend-gstreamer-4.5.1-1.fc15.src.rpm

Resulting phonon-backend-gstreamer however depends on PackageKit-gstreamer-plugin which is not yet built..??

Another possible approach would have been to make a temporary phonon-backend-gstreamer-0.0.bootstrap package that only provides "phonon(backend}". This is probably recommended way of solving this kind of user experience runtime dependencies causing circular build dependencies.

systemtap-sdt

Was build in stage3 somehow.

Depends on crash-devel, which fails on ExclusiveArch check.

There is an update koji build which removes the dependency on crash. Now scheduled for build. First attempts crashed for unknown reasons, but after rescheduling it again it seems to be building.

Worked fine this time.

arts

Stray /usr/lib/*.la files packaged in the binary rpm with "bad" content. These files are both developer files and did contain further references to other unpackaged .la files in the stage3 build. Rebuilt in stage4 which cleaned up the contents of the .la files a bit, but strangely kdelibs3 still fails with the same error?

Turns out the .la files is supposed to be there for kde3. And the stage4 build contains the correct files.

The failure with same error even after arts was rebuilt was caused by yum picking the wrong repository. Using the fixed yum version and it works much better.

kdelibs3

kdelibs3 in F15 is FTBFS.

There is an updated kdelibs3-3.5.10-28.fc15 in which did succeed building in koji. This was never pushed as an update however and have already been cleaned by the koji garbage collector

Even the updated version fails to build on ARM but now with the following error

/bin/sh ../../libtool --silent --tag=CXX   --mode=link g++  -DNDEBUG -DNO_DEBUG -O2 -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -fno-exceptions -fno-check-new -fno-common  -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -L/usr/lib/qt-3.3/lib  -Wl,--as-needed -Wl,--enable-new-dtags  -no-undefined -version-info 3:0:2  -o libartskde.la -rpath /usr/lib libartskde_la.all_cc.lo libartskde_la.all_cpp.lo  ../../kio/libkio.la -lqtmcop -lsoundserver_idl
grep: /usr/lib/libgmodule-2.0.la: No such file or directory
/bin/sed: can't read /usr/lib/libgmodule-2.0.la: No such file or directory
make[3]: Leaving directory `/builddir/build/BUILD/kdelibs-3.5.10/arts/kde'

This seems to be caused by stray .la files which have been packaged in the arts binary rpm package (not even -devel). These stray .la files is seen even on the primary arches but contents seem to differ and build there succeeds.

arts have been rebuilt in stage4 and looks better. kdelibs3 build now suceeding

libSM

FTBFS in F15. No fixed package available.

Patched in stage3

Reworked the patch a little and added to FTBFS bug #660819

Some further investigation and it's actually xmlto that is broken causing FTBFS here and in a number of other packages. xmlto Bug #681909

Compiles fine with updated/fixed xmlto.

sqlite

sqlite-3.7.5-3 fails in several selftests

it is built in stage3 somehow but there is no SRPM or spec file available on arm-temp so can't tell how.

there is a newer -5 build in koji by pbrobinson, disabling self tests on arm, but never pushed as an update and have been garbage collected. Regenerated from git.

Should investigate with upstream why those selftests fail. Also check a more current version.

Wed Sep 14 11:58:30 GMT 2011 sqlite-3.7.5-5.fc15 STARTING
Wed Sep 14 12:41:56 GMT 2011 sqlite-3.7.5-5.fc15 DONE

gettext

Mainline FTBFS with kernel update. Needs a patch and spec file update for new kernel & gnulib. https://bugzilla.redhat.com/show_bug.cgi?id=739188

gettext-0.18.1.1-7.fc15.0.arm1


m4

Mainline FTBFS with kernel update. Needs a patch and spec file update for new kernel & gnulib. https://bugzilla.redhat.com/show_bug.cgi?id=739189

m4-1.4.16-1.fc15.0.arm1

ModemManager

Failed because of mock pty issue. Rebuilt with fixed mock.

djvulibre

in stage3 only, NO SOURCES!

mainline FTBFS. Fixed in djvulibre-3.5.22-2.fc15.src.rpm update.

emacs-vm

Locks up during build and never seems to finish, from the build.log:

+ make
make[1]: Entering directory `/builddir/build/BUILD/vm-8.1.1/lisp'
/bin/rm -f vm-autoloads.el
echo > vm-autoloads.el
(build_dir="`pwd`"; cd "."; \
 "emacs" -batch -q -no-site-file -no-init-file -l ./vm-build.el -l autoload \
        -f vm-built-autoloads "/builddir/build/BUILD/vm-8.1.1/lisp/vm-autoloads.el" "`pwd`")
Building autoloads file "/builddir/build/BUILD/vm-8.1.1/lisp/vm-autoloads.el"
...
"emacs" -batch -q -no-site-file -no-init-file -l ./vm-build.el -f batch-byte-compile vm-ps-print.el
Wrote /builddir/build/BUILD/vm-8.1.1/lisp/vm-ps-print.elc
"emacs" -batch -q -no-site-file -no-init-file -l ./vm-build.el -f batch-byte-compile vm-reply.el
Wrote /builddir/build/BUILD/vm-8.1.1/lisp/vm-reply.elc
"emacs" -batch -q -no-site-file -no-init-file -l ./vm-build.el -f batch-byte-compile vm-rfaddons.el
Loading vm-motion...
Loading /builddir/build/BUILD/vm-8.1.1/lisp/vm-summary.el (source)...

List of the processes:

 9034 \_ rpmbuild -bb --target armv7hl --nodeps builddir/build/SPECS/emacs-vm.spec
 9049     \_ /bin/sh -e /var/tmp/rpm-tmp.4lBN2i
 9412         \_ make
 9413             \_ /bin/sh -c for i in lisp info src pixmaps ; do (make -C $i) || exit 1; done
 9414                 \_ make -C lisp
 9533                     \_ emacs -batch -q -no-site-file -no-init-file -l ./vm-build.el -f batch-byte-compile vm-rfaddons.el
 9534                         \_ /usr/bin/idn --quiet --idna-to-ascii --usestd3asciirules

strace shows that the process waits on a select()

[nixpanic@xo-c8-d0-04 ~]$ sudo strace -p 9533
Process 9533 attached - interrupt to quit
select(8, [7], NULL, NULL, {0, 998584}) = 0 (Timeout)
gettimeofday({1315910909, 844087}, NULL) = 0
gettimeofday({1315910909, 844409}, NULL) = 0
select(8, [7], NULL, NULL, {0, 999678}) = 0 (Timeout)
gettimeofday({1315910910, 847207}, NULL) = 0
gettimeofday({1315910910, 847810}, NULL) = 0
select(8, [7], NULL, NULL, {0, 999397}^C <unfinished ...>
Process 9533 detached

Filedescriptior 7 comes from a pipe:

lr-x------ 1 nixpanic mock 64 Sep 13 06:50 /proc/9533/fd/7 -> pipe:[1049405]

strace on the running /usr/bin/idn:

# strace -p 9534
Process 9534 attached - interrupt to quit
read(0, 

Bug 538874 seems to have filed for this earlier, an update to mock-1.0.0-1.fc12 was needed. Our builders seem to run mock-1.1.9-1.fc15.noarch :-/


Built fine on trimslice with mock-1.1.12.fc15.noarch

gnupg

in stage3 only

pty failure. Rescheduled.

Built fine with mock-1.1.12.fc15.noarch

gcc

current:

gcc-4.6.1-9.fc15.0.arm1 is currently building. Changes in the 0.arm1 version:

build_libstdcxx_docs disabled

Addition of gcc46-java-natclass.patch and gcc46-libjava.patch for java support.

Addition of gcc-expr.c-171347.patch for volatile bitfield correctness.

Define _gnu to -gnueabi for arm arch.

Debuginfo infrastructure removed from spec file.

%check disabled

No libgtkpeer.so libgjsmalsa.so or libjawt.so generated.

previously:

gcc-4.6.1-4.fc15.0.arm1 patched with the patch needed for compiling ARMv7 qt.

http://comments.gmane.org/gmane.comp.handhelds.openembedded.core/1457 Khem Raj | 1 Jun 08:21

Referenced GCC patch: http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html commit http://gcc.gnu.org/viewcvs/trunk/gcc/expr.c?r1=171341&r2=171347&view=patch

Wed Sep 14 23:05:27 GMT 2011 gcc-4.6.1-4.fc15.0.arm1 STARTING
Thu Sep 15 02:56:11 GMT 2011 gcc-4.6.1-4.fc15.0.arm1 DONE

ARMv5tel: Unmodified gcc-4.6.1-9.fc15 built fine (GA version fails, this is an update to fix #697685 and #733549). Needed to be bootstrapped first without cloog (trivial spec change), then libtool compiled, then cloog, then gcc(unmodified). Done successfully.

soprano

Depends on qt-docs (why?) which were not included in the stage3 build.

Depends on phonon -> PackageKit-gstreamer-plugin

Built somehow with qt-docs added from f15-updates.


kdelibs

qt is in stage3, and qt-docs have been copied from noarch.

Fri Sep 16 21:50:47 GMT 2011 kdelibs-4.6.2-5.fc15 STARTING

failed with a thumb error

cd /builddir/build/BUILD/kdelibs-4.6.2/armv7hl-redhat-linux-gnueabi/kdecore && /usr/bin/c++   -DMAKE_KDECORE_LIB -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=21 -DQT_NO_CAST_FROM_ASCII -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb  -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Werror=return-type -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -fvisibility-inlines-hidden -O2 -DNDEBUG -DQT_NO_DEBUG -fPIC -I/builddir/build/BUILD/kdelibs-4.6.2/armv7hl-redhat-linux-gnueabi/kdecore -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore -I/builddir/build/BUILD/kdelibs-4.6.2 -I/builddir/build/BUILD/kdelibs-4.6.2/armv7hl-redhat-linux-gnueabi -I/builddir/build/BUILD/kdelibs-4.6.2/interfaces -I/builddir/build/BUILD/kdelibs-4.6.2/armv7hl-redhat-linux-gnueabi/kdecore/network -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/sonnet -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/auth -I/builddir/build/BUILD/kdelibs-4.6.2/kjs -I/builddir/build/BUILD/kdelibs-4.6.2/armv7hl-redhat-linux-gnueabi/kjs -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/compression -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/config -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/date -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/io -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/jobs -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/kernel -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/network -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/services -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/localization -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/sycoca -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/text -I/builddir/build/BUILD/kdelibs-4.6.2/kdecore/util -I/usr/include/QtCrypto -I/usr/include/polkit-qt-1 -I/usr/include/phonon -I/usr/include/QtXmlPatterns -I/usr/include/QtXml -I/usr/include/QtWebKit -I/usr/include/QtUiTools -I/usr/include/QtTest -I/usr/include/QtSvg -I/usr/include/QtSql -I/usr/include/QtScriptTools -I/usr/include/QtScript -I/usr/include/QtOpenGL -I/usr/include/QtNetwork -I/usr/include/QtMultimedia -I/usr/include/QtHelp -I/usr/include/QtDesigner -I/usr/include/QtDeclarative -I/usr/include/QtDBus -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include/Qt -I/usr/lib/qt4/mkspecs/default   -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o CMakeFiles/kdecore.dir/kernel/kcomponentdata.o -c /builddir/build/BUILD/kdelibs-4.6.2/kdecore/kernel/kcomponentdata.cpp
/tmp/cctYKKvz.s: Assembler messages:
/tmp/cctYKKvz.s:143: Error: selected processor does not support Thumb mode `swp r2,r3,[r7]'
/tmp/cctYKKvz.s:506: Error: selected processor does not support Thumb mode `swp r2,r3,[r7]'
/tmp/cctYKKvz.s:991: Error: selected processor does not support Thumb mode `swp r2,r3,[r8]'
/tmp/cctYKKvz.s:1380: Error: selected processor does not support Thumb mode `swp r2,r3,[r8]'

This is actually QT failing. Need to solve QT first. include/QtCore/qatomic_arm.h

QT have been rebuilt in stage4. Now fails on something soprano related.

cd /builddir/build/BUILD/kdelibs-4.6.2/armv7hl-redhat-linux-gnueabi/nepomuk && /usr/bin/onto2vocabularyclass --name NDO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /usr/share/ontology/nepomuk/ndo.trig
(Soprano::PluginManager) found no soprano plugin at  "/usr/lib/soprano/libsoprano_raptorparser.so" 
(Soprano::PluginManager) found no soprano plugin at  "/usr/lib/soprano/libsoprano_nquadparser.so" 
Could not find parser plugin for encoding trig
make[2]: *** [nepomuk/ndo.h] Error 1

Others having the same problem reports it fixed after rebuilding raptor and soprano. Trying. Noticeable is that both raptor and soprano uses Qt4 which was just rebuilt with both different compiler flags & version.

soprano & raptor rebuilt. New kdelibs build running.

crash

Fails on ExclusiveArch check.

There is an updated version which adds arm to the list of supported architectures (koji build), but not built in stage3 and never pushed as an official F15 update. The build have expired in koji and have been garbage collected.'

Bug 734607 filed and fixed in crash-5.1.7-2 in (f17/rawhide). Update to F15 on it's way.

Update available and queued for build. https://admin.fedoraproject.org/updates/crash-5.1.7-2.fc15

More issues of the same kind detected. Bug 734607 updated with new arm patch.

crash-5.1.7-2.0.arm1 queued for build. Should build fine this time (verified in an unclean mock run)

libopensync

FTBFS in F15.

Should be fixed in libopensync-0.22-9.fc15 but that build was never pushed as an update and have been garbage collected.

Recreated from git.

kdnssd-avahi

kdnssd-avahi-0.1.3-0.11.20080116svn.fc15.src

Circular dependency kdelibs3-devel requires libkdnssd-devel, and kdnssd-avahi (provides libkdnssd-devel) buildrequires kdelibs3-devel.

Attempting bootstrap by providing a dummy kdnssd-avahi which provides libkdnssd-devel. kdnssd-avahi-0.0-1.bootstrap

kdnssd-avahi-0.1.3-0.11.20080116svn.fc15.src now building. Maybe some other kdelibs3 packages as well but lets about those later. Most likely their builds will just fail if really needing kdnssd.

Failed on missing include, which is bad as then there is a circular dependency where xdnssd-avahi gets built using parts of older self.

creating libkdnssd_la.all_cpp.cpp ...
/bin/sh ../libtool --silent --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/usr/include/kde -I/usr/lib/qt-3.3/include -I.  -D_REENTRANT -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/lib/qt-3.3/include    -DQT_THREAD_SUPPORT  -D_REENTRANT  -DNDEBUG -DNO_DEBUG -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb  -c -o libkdnssd_la.all_cpp.lo libkdnssd_la.all_cpp.cpp
In file included from remoteservice.cpp:35:0,
                 from libkdnssd_la.all_cpp.cpp:2:
remoteservice.h:25:31: fatal error: dnssd/servicebase.h: No such file or directory
compilation terminated.


Fixing the package to build using it's own headers by adding "ln -s . kdnssd-avahi/dnssd" to %prep

PyQt4 <-> qscintilla

There is a circular build dependency between PyQT4 and qscintilla

DEBUG util.py:247:  Getting requirements for PyQt4-4.8.3-2.fc15.src
DEBUG util.py:247:   --> chrpath-0.13-7.fc15.armv7hl
DEBUG util.py:247:   --> 1:dbus-devel-1.4.6-4.fc15.armv7hl
DEBUG util.py:247:   --> dbus-python-devel-0.83.0-8.fc15.armv7hl
DEBUG util.py:247:   --> Already installed : 1:findutils-4.5.9-3.fc15.armv7hl
DEBUG util.py:247:   --> phonon-devel-4.5.0-2.fc15.armv7hl
DEBUG util.py:247:  Error: No Package found for qscintilla
</pre

<pre>
DEBUG util.py:247:  Getting requirements for qscintilla-2.4.6-2.fc15.src
DEBUG util.py:247:   --> 1:qt-devel-4.7.3-6.fc15.armv7hl
DEBUG util.py:247:  Error: No Package found for PyQt4-devel >= 4.7

Not in a mood to try to investigate which can in theory be built without the other. Package owners mailed asking for advice.

Rex Dieter responded quickly, informing that qscintilla SRPM have a bootstrap mode by defining python to 0. A qscintilla-2.4.6-0.0.bootstrap.fc15.src package successfully built with this change.

cln

Fails linking it's own exaples

/bin/sh ../libtool --tag=CXX   --mode=link g++  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -march=armv7-a -mfpu=vfpv3-d16  -mfloat-abi=hard   -o pi pi.o ../src/libcln.la -lgmp
libtool: link: g++ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -o .libs/pi pi.o  ../src/.libs/libcln.so -lgmp
../src/.libs/libcln.so: undefined reference to `copy_loop_down'
../src/.libs/libcln.so: undefined reference to `_divu_32_rest'
../src/.libs/libcln.so: undefined reference to `divu_6432_3232_'
../src/.libs/libcln.so: undefined reference to `clear_loop_up'

Searching for the same error locates an ancient Debian bug report from 2001 with the same symptoms. Debian Bug #94097. Unfortunately no hints at all to how it was fixed or what was causing it.

armv5tel also fails with the same error. armv5tel cln-1.3.1-1.fc13 failed build

Builds fine in x86_64 F15 with updates however.

Running an mock build for testing. Should reach the failing point in some hours.

An interesting "hint" found in Debian:

+	./configure --prefix=/usr `dpkg-architecture -qDEB_HOST_GNU_TYPE`
+	# * ARM: CLN's assembler support is not working properly (it was only
+	#   'theoretically' ported by copying from code that had once worked in
+	#   CLISP under BSD). Same for armel.
+	# * HPPA: Assembler support is not working properly.  Somebody needs to
+	#   investigate but currently I don't have the inspiration for fixing
+	#   things on exotic architectures.
+	# * SPARC: With some versions of GCC, there are apparently problems in
+	#   passing return values in %g1.
+	case `dpkg-architecture -qDEB_HOST_ARCH` in \
+	  arm|armel|hppa|sparc) \
+	    ${MAKE} CPPFLAGS="-DNO_ASM" CXXFLAGS="-O2";; \
+	  *) \

which is the fix for the debian bug report mentioned above. Why haven't the upstream been contacted to by default disable asm on these? This have been in Debian since 2001 (cln-1.0 something).

Oh well.. it's reported all right.. INSTALL says

CLN is known to work with:
=========================

  - Linux/x86, gcc-3.x, gcc-4.[0-5].x
  - Linux/x86_64, gcc-3.[3-4], gcc-4.[0-6].x, clang-2.8
  - Linux/ia64, gcc-3.[2-4], gcc-4.[0-4].x
  - Linux/arm, gcc-3.[0-3] (*), gcc-4.[0-4].x (*)
  - Linux/mips, gcc-3.3, gcc-4.[0-4].x
  - Linux/sparc, gcc-3.[1-3], gcc-4.[0-2].x
  - Linux/alpha, gcc-3.[0-3], gcc-4.[0-2].x
  - Linux/powerpc, gcc-3.[0-3], gcc-4.[0-4].x
  - Linux/hppa, gcc-4.2.x (*)
  - Solaris 2.4 (sparc), gcc-3.[1-3], gcc-4.[0-2].x (*)
  - OSF/1 V4.0 (alpha), gcc-3.1
  - Irix 6.5, gcc-3.0
  - OS X Leopard (x86), gcc 4.0.1
  - Windows/32-bit, MSVC 16.00.30319.01

(*) On these platforms, problems with the assembler routines have been
reported. It may be best to add "-DNO_ASM" to CPPFLAGS before
configuring.

which almost matches Debian. The list above do not indicate known problems on linux/sparc, only solaris (sparc).

foomatic

Depends on itself.

Nicely commented in the spec how to bootstrap.

bootstrap version queued & built.

full version queued, but probably depends on other stuff as well not built yet.

seems to have built fine.

kdebase

KDE Core Applications

Depends on kdebase-workspace which depends on google-gadgets. google-gadgets is both mainline FTBFS and deprecated from F16+. There should be some hints by looking at how it's built on F16. May even be fixed by the updated versions in F15.

Alternatively convince google-gadgets to build again.

Discussed the topic with package owners. google-gadgets is dead, let it rest in piece. Rex Dieter have excluded google-gadgets on the arm platform in koji F15 build kdebase-workspace-4.6.5-6.fc15.

This requires all of KDE to be updated to 4.6.5. Downloaded to SRPMS/build/kde-4.6.5/ to be ready to queue them when kdebase is done.

Locally queued kdelibs, kdepimlibs, kdebase-workspace, kdebase, will queue the others when these are done.

Failed on kdebase-workspace again, this time due to missing libcln-devel.

kdebase-workspace cooking again after builddeps resolved.

Wed Sep 21 14:09:32 GMT 2011 kdebase-workspace-4.6.5-6.fc15 STARTING

Still problems. Fixed in git but no new koji build.

kdebase-workspace-4.6.5-6.fc15-1b246a82133359fcc4364d8a18564fd47081fc6e

icu

in stage 3 only. icu-4.4.2-7.fc15.src.rpm panda01.ausil.us

uconvmsg/uconvmsg_dat.s: Assembler messages:
uconvmsg/uconvmsg_dat.s:2: Error: junk at end of line, first unrecognized character is `,'
uconvmsg/uconvmsg_dat.s:5: Error: unrecognized symbol type ""

4.4.2-8 should fix this. queued for build.

postgresql

was in stage 3 only. Now built somehow.

ppl

in stage 3 only

Trying to build without gprolog. gprolog is ExclusiveArch: x86_64 %{ix86} ppc alpha.

Same ExclusiveArch already in git. http://koji.fedoraproject.org/koji/buildinfo?buildID=245759

queued for build

gc

in stage3 only, NO SOURCES, only original src.rpm from F15 (fc13)

mainline FTBFS.

Stage4 FTBFS (ARM specific):

gcc -DHAVE_CONFIG_H -I.    -fPIC -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -DNDEBUG -c atomic_ops_stack.c
/tmp/ccqMX8vM.s: Assembler messages:
/tmp/ccqMX8vM.s:70: Error: thumb conditional instruction should be in IT block -- `strexeq r4,r1,[r3]'

Rebuilt fine after thumb mode was disabled in redhat-rpm-macros.

Why is it mainline FTBFS then?

llvm

in stage 3 only

Requires a rebuilt ocaml (ocaml in stage3 is missing /usr/bin/ocamlrun). [dj]

Rebuilt fine after ocaml was fixed. No arm specific changes.

ocaml

in stage 3 only

ocaml has two problems: First, the spec file has armv4 instead of %{arm}. Second, the configury does not enable the "natdynlink" feature for arm, so the list of installed files doesn't match the spec file's list. I have not determined if natdynlink works for arm, so I don't know whether the configury or the spec file need changing. [dj]

depends on itself but hopefully the copy in stage3 will do fine.

Running a build with %{arm}. Hno 07:34, 23 September 2011 (UTC)

Processing files: ocaml-3.12.0-5.fc15.0.arm1.armv7hl
error: File not found by glob: /builddir/build/BUILDROOT/ocaml-3.12.0-5.fc15.0.arm1.arm/usr/lib/ocaml/*.cmxs

is this from the "natdynlink" mismatch mentioned above?

Yes, the files have different names if they're not the "natdynlink" style. [dj]

To bootstrap ocaml: In a suitable build environment (i.e. not mock), rpmbuild -bc ocaml.spec. This will eventually fail, but you'll have a boot/ocamlrun binary. If you don't already have a partial ocaml RPM, you can "make install" this build; if you do have a partial ocaml RPM, you still need to copy the just-built boot/ocamlrun to /usr/bin/ocamlrun. Then rpmbuild again.

ghc

ghc needs ghc to build, but we do not have ghc..

http://hackage.haskell.org/trac/ghc/wiki/Building/Porting documents the bootstrapping procedure, but in ghc-7.0.2 bootstraping procedure seems completely broken.

Debian do have ghc-7.0.4 arm hardfloat. will try using that as initial compiler.

http://http.debian-ports.org/debian/pool-armhf/main/g/ghc/

also needs libgmp10 från http://http.debian-ports.org/debian/pool-armhf/main/g/gmp/

after manual installation and library location fixup, finish ghc installation by running:

ghc-pkg recache --global

and replace /usr/bin/ghc with a small wrapper to work around implicit DSO issues relating to pthread

#!/bin/sh
exec /usr//lib/ghc/bin/ghc "$@" -lpthread


Fix ExclusiveArch in ghc.spec and unpack sources by rpmbuild -bp ghc.spec --nodeps

Install as many of the dependencies as possible.

Build it:

./configure
make

seems get started. May even work as rpm. Aborting to retry using rpm.

testbuild of hscolour

Fix ExclusiveArch in hscolour.spec and attempt rebuilding it with --nodeps.

failed. Not sure why.

./Setup configure
./Setup build
sudo ./Setup install

works however. Closer inspection of the rpmbuild output shows that it's probably profiling related. The debian install do not have profiling libs. Digging a little in /etc/rpm/ghc.macros shows there is a without_prof define.

rpmbuild -ba hscolour.spec  --nodeps -D"without_prof 1" -D"without_haddock 1" -D"without_hscolour 1"
sudo rpm -i ../RPMS/armv7hl/hscolour-1.17-8.fc15.0.arm1.armv7hl.rpm
rpmbuild -ba hscolour.spec  --nodeps -D"without_prof 1" -D"without_haddock 1"

looks good. So it's possible to bootstrap this package fully using rpm.

native ghc

rpmbuild -ba ghc.spec  --nodeps

failed.. needing some overrides. Reverting to begin with a manual build again. Done.

ghc-7.0.2 for Fedora now available as .tar.gz. Will clean out the build root and continue bootstraping with only this installed, pruning out the remains of the foreign Debian version.

rpmbuild of ghc & hscolour

Starting from a clean buildroot.

buildroot setup:

mock -r fedora-15-armhfp --result $PWD --init

rpm -q --requires -p ghc-7.0.2-16.3.fc15.0.arm1.src.rpm
ghc  
ghc-rpm-macros >= 0.11.12
gmp-devel  
libffi-devel  
ghc-directory-devel  
ghc-process-devel  
ghc-pretty-devel  
ghc-containers-devel  
ghc-haskell98-devel  
ghc-bytestring-devel  
ncurses-devel  
libxslt  
docbook-style-xsl  
hscolour  
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1

mock -r fedora-15-armhfp --result $PWD --install gmp-devel libffi-devel ncurses-devel libxslt  docbook-style-xsl ghc-rpm-macros
mock -r fedora-15-armhfp --result /home/henrik/ghc --copyin ghc-7.0.2-norpm.tar.gz ghc-7.0.2-16.3.fc15.0.arm1.src.rpm hscolour-1.17-8.fc15.0.arm1.src.rpm /builddir/

then building hscolour

mock -r fedora-15-armhfp --result $PWD --chroot "tar zxf builddir/ghc-7.0.2-norpm.tar.gz"
mock -r fedora-15-armhfp --result $PWD --unpriv 'rpmbuild --rebuild builddir/hscolour-1.17-8.fc15.0.arm1.src.rpm --nodeps -D"without_prof 1" -D"without_hscolour 1"'
mock -r fedora-15-armhfp --result $PWD --copyout /builddir/build/RPMS/* .
mock -r fedora-15-armhfp --result $PWD --chroot "rpm -i /builddir/build/RPMS/*hscolour* --nodeps"

and finally a full native build of ghc

mock -r fedora-15-armhfp --result $PWD --unpriv --chroot 'rpmbuild --rebuild builddir/ghc-7.0.2-16.3.fc15.0.arm1.src.rpm --nodeps'

First had problems with GCC crashing on internal error, but the reason to that was that I had forgot to activate the right swap partition after a reboot between manual build and rpmbuild steps.

Then a little overoptimisic on the mainline patchwork. It seems the patch to use system provided libffi only works on platforms where ghci is supported. A bit unfortunate as it means we will be using a bundled copy instead of the system provided one. This should be looked into.

mock -r fedora-15-armhfp --result $PWD --init
mock -r fedora-15-armhfp --result $PWD --install gmp-devel libffi-devel ncurses-devel libxslt  docbook-style-xsl ghc-rpm-macros
mock -r fedora-15-armhfp --result $PWD --copyin ghc-7.0.2-norpm.tar.gz *.rpm /builddir/
mock -r fedora-15-armhfp --result $PWD --chroot "tar zxf builddir/ghc-7.0.2-norpm.tar.gz"
mock -r fedora-15-armhfp --result $PWD --chroot "rpm -iv /builddir/*hscolour*armv7hl.rpm --nodeps"
mock -r fedora-15-armhfp --result $PWD --unpriv --chroot 'rpmbuild --rebuild builddir/ghc-7.0.2-16.3.fc15.0.arm3.src.rpm --nodeps'

failed after 13 hours due to a stupid ghc.spec error of mine %{without where i meant %{with

mock -r fedora-15-armhfp --result $PWD --unpriv --chroot 'rpmbuild --rebuild builddir/ghc-7.0.2-16.3.fc15.0.arm4.src.rpm --nodeps'

finished.

result uploaded to stage3, and srpms sent to the build farm for clean mock builds.

ExlusiveArch on ghc related packages also updated to include armv7hl to try to shake out which packags build on armv7hl and which needs more attention.

mainline merge

Work is progressing together with mainline package owner juhp to integrate the arm changes mainline, starting with ghc and then the other packages. Hno 12:48, 30 September 2011 (UTC)

main ghc package changes have been merged mainline. Still remains to address all the other packages where armv7hl have been added as supported arch. Hno 02:03, 6 October 2011 (UTC)

speedcrunch

had issues with unsigned char. See Bug #736873. Fixed in fixed in speedcrunch-0.11-0.3.alpha.fc15

gypsy

patched to build with gcc 4.6. Tracked in Bug #734261.

pl

pl-5.10.2-5.fc15.0.arm1 patched to use correct java paths on arm.

pl-5.10.5-4.fc17 builds without patches, but that's rawhide and not f15.

qt

An updated qt-4.7.3-6.fc15 was built somehow in stage3, but the -doc package was not included.

The same version fails to build from source in stage4.

The original qt-4.7.2-8.fc15 release version fails with a problem related to mysql or openssl:

DEBUG util.py:247:  ERROR with rpm_check_debug vs depsolve:
DEBUG util.py:247:  openssl-devel(armv7hnl-32) is needed by mysql-devel-5.5.10-2.fc15.armv7hl
DEBUG util.py:247:  (1, [u'Please report this error in http://yum.baseurl.org/report'])

this may be related to the yum repository priority problem, or the mysql-devel package in stage3 is borked. But seems this error is only seen sometimes?

mysql have been rebuilt, solving the above problem.

but then fails on a build problem

../../include/QtCore/../../src/corelib/arch/qatomic_arm.h: In function 'void qt_removeObject(QObject*)':
../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:361:35: error: output number 1 not directly addressable
make[1]: *** [.obj/release-shared/qobject.o] Error 1

Appears to be a GCC bug? http://comments.gmane.org/gmane.comp.handhelds.openembedded.core/1457 Khem Raj | 1 Jun 08:21

Referenced GCC patch: http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html commit http://gcc.gnu.org/viewcvs/trunk/gcc/expr.c?r1=171341&r2=171347&view=patch

Patches used for stage3: http://lists.fedoraproject.org/pipermail/arm/2011-September/001964.html

Patching GCC, then building qt again.

Now fails with a thumb related error

g++ -c -pipe -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -DELF_INTERPRETER=\"/lib/ld-linux.so.3\" -DQLIBRARYINFO_EPOCROOT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared -Iglobal -I../../tools/shared -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared -o .obj/release-shared/qobject.o kernel/qobject.cpp   
{standard input}: Assembler messages:
{standard input}:2878: Error: selected processor does not support Thumb mode `swp r6,r4,[r3]'

which is odd as the cpu do support thumb mode.

Upstream bug report: https://bugreports.qt.nokia.com//browse/QTBUG-15911 which is supposedly fixed. Confusing. Or was that only in Qt-4.8?

Others seeing same problem http://developer.qt.nokia.com/forums/viewthread/7304 http://processors.wiki.ti.com/index.php/Building_Qt http://www.qtcentre.org/threads/44311-unkown-toolchain

There is also some mention in the above bug report about Thumb2 not really being a supported platform for Qt.

Seems armv7 is not a supported platform either. Supported platforms are "Generic ARM" and "ARMv6", and ours gets detected as "Generic ARM". If QT had detected it as QT_ARHC_ARMV6 it probably would have worked. Later versions supposedly support ARMv7 as well.

Configure flags needed: -arch armv6 -no-neon

Also need the Thumb2 patch from QTBUG-16402 fix ARM Thumb2 build https://qt.gitorious.org/qt/qt/merge_requests/1121

Alternatively enable "-Wa, -mimplicit-it=thumb" in rpmrc letting GAS automatically adjust ARM assembly code for Thumb mode.


All changes merged mainline in qt-4.7.4-3.fc15

python-pyblock

python-pyblock-0.49-2.fc15 is arm patched, remowing -Wall for unknown reason.

The issues with this package are discussed here. Needs a little upstream (anaconda team) intervention.

anaconda

anaconda-15.31-2.fc15.src.rpm in stage4 is a modified package which adds an ARM screen font (only for armv7, not for v5). It may be better to specify that ARM doesn't want a font (like S390 already). Resolution being tracked in #743429.

glibc

GA version suffers from various failures which are fixed by the updates version.

The armv7hl tree includes glibc-2.13.90-9.0.arm1.src.rpm with the following changes. The ones crossed out are no longer necessary in the F15 updates version.

  • Disable tests - only for ease of build
  • Change make flags - only for ease of build
  • Enable eabi - already fixed in F15 updates
  • glibc-arm-tzdata.patch - obsoleted by backporting a better fix from F16 as is done in glibc-2.14-7.arm0 for armv5tel.
  • glibc-arm-mathdefs.patch (see #744589) - note that this will only affect builds that run with -Werror; in the interests of moving into koji quickly, this patch could maybe be dropped for now?
  • glibc-arm-clone-unwind.patch - solves something java-related, see #749556

hal

in stage3 only, hal-0.5.14-6.fc15.src.rpm pandaboard2.znjan.st

gcc -DHAVE_CONFIG_H -I. -I../../..  -DPACKAGE_SYSCONF_DIR=\""/etc"\" -DPACKAGE_DATA_DIR=\""/usr/share"\" -DPACKAGE_BIN_DIR=\""/usr/bin"\" -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\" -DPACKAGE_LOCALSTATEDIR=\""/var"\" -I../../.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include   -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include   -I/usr/include/blkid -I/usr/include/uuid     -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -Wall -Wchar-subscripts -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -c probe-video4linux.c
probe-video4linux.c:33:28: fatal error: linux/videodev.h: No such file or directory

kernel-headers issue? There is videodev2.h, but not videodev.h

there is no videodev2.h on x86_64 either.

Mainline FTBFS.

Patch available upstream in http://cgit.freedesktop.org/hal/commit/?id=ae13d96fa2a0612b6000f4b8f6ed9d3564035703 which depends on http://cgit.freedesktop.org/hal/commit/?id=8f624253f0135ca77a893ad4e8168f51ef90d4da

java-1.5.0-gcj

in stage 3 only

java-1.6.0-openjdk

in stage 3 only

graphviz

in stage3 only. graphviz-2.26.3-4.fc15.src.rpm pandaboard2.znjan.st.

specfile syntax FTBFS.

error: types must match
error: /builddir/build/SPECS/graphviz.spec:156: parseExpressionBoolean returns -1

got fixed mainline.

Packages Needing ARM Patches Upstreamed

These packages have built on ARMv5tel and ARMv7hl and need to have patches upstreamed.

Procedure:

  1. When you start working on a particular package, put your nick after the package in parenthesis
  2. When the package patches are upstreamed, cross out the package name using strikeout .
  3. Add any comments with a sub-bullet (#*)

Package list:

  1. anaconda-15.31-1.fc15.0.arm1
  2. cln-1.3.1-2.fc15.0.arm2 pbrobinson (in 1.3.2-1 all releases)
  3. crash-5.1.7-2.fc15.0.arm1 pbrobinson
  4. gcc-4.6.1-4.fc15.0.arm2
  5. gcc-4.6.1-9.fc15.0.arm1
  6. gettext-0.18.1.1-7.fc15.0.arm1
  7. ghc-ansi-terminal-0.5.5-3.fc15.0.arm1
  8. ghc-attempt-0.3.0-4.fc15.0.arm1
  9. ghc-attoparsec-0.8.5.0-3.fc15.0.arm1
  10. ghc-base64-bytestring-0.1.0.2-2.fc15.0.arm1
  11. ghc-binary-0.5.0.2-8.fc15.0.arm1
  12. ghc-binary-shared-0.8.1-2.fc15.0.arm1
  13. ghc-Boolean-0.0.1-7.fc15.0.arm1
  14. ghc-bytestring-nums-0.3.2-3.fc15.0.arm1
  15. ghc-bytestring-trie-0.2.3-2.fc15.0.arm1
  16. ghc-cereal-0.3.0.0-1.fc15.1.0.arm1
  17. ghc-cgi-3001.1.7.4-6.fc15.0.arm1
  18. ghc-chalmers-lava2000-1.1.1-11.fc15.0.arm1
  19. ghc-cmdargs-0.6.8-2.fc15.0.arm1
  20. ghc-csv-0.1.2-8.fc15.0.arm1
  21. ghc-dataenc-0.14-1.fc15.0.arm1
  22. ghc-deepseq-1.1.0.2-4.fc15.0.arm1
  23. ghc-digest-0.0.0.8-4.fc15.0.arm1
  24. ghc-editline-0.2.1.0-23.fc15.0.arm1
  25. ghc-failure-0.1.0.1-4.fc15.0.arm1
  26. ghc-fgl-5.4.2.3-5.fc15.0.arm1
  27. ghc-ghc-paths-0.1.0.8-6.fc15.0.arm1
  28. ghc-GLUT-2.1.2.1-9.fc15.0.arm1
  29. ghc-hashed-storage-0.5.5-2.fc15.0.arm1
  30. ghc-haskeline-0.6.3.2-5.fc15.0.arm1
  31. ghc-hinotify-0.3.1-9.fc15.0.arm1
  32. ghc-hslogger-1.1.4-1.fc15.0.arm1
  33. ghc-html-1.0.1.2-9.fc15.0.arm1
  34. ghc-HTTP-4000.1.1-5.fc15.0.arm1
  35. ghc-HUnit-1.2.2.3-4.fc15.0.arm1
  36. ghc-libmpd-0.5.0-8.fc15.0.arm1
  37. ghc-MemoTrie-0.4.9-2.fc15.1.0.arm1
  38. ghc-mmap-0.5.7-5.fc15.0.arm1
  39. ghc-mtl-2.0.1.0-4.fc15.0.arm1
  40. ghc-mtl-2.0.1.0-4.fc15.0.arm2
  41. ghc-mtlparse-0.1.1-5.fc15.0.arm1
  42. ghc-neither-0.1.0-4.fc15.0.arm1
  43. ghc-network-2.3.0.2-2.fc15.0.arm1
  44. ghc-OpenGL-2.2.3.0-7.fc15.0.arm1
  45. ghc-parallel-3.1.0.1-4.fc15.0.arm1
  46. ghc-parsec-3.1.1-2.fc15.0.arm1
  47. ghc-process-leksah-1.0.1.4-5.fc15.0.arm1
  48. ghc-ranges-0.2.3-2.fc15.1.0.arm1
  49. ghc-regex-base-0.93.2-5.fc15.0.arm1
  50. ghc-regex-compat-0.93.1-6.fc15.0.arm1
  51. ghc-regex-posix-0.94.4-4.fc15.0.arm1
  52. ghc-regexpr-0.5.3-4.fc15.0.arm1
  53. ghc-safe-0.3-3.fc15.0.arm1
  54. ghc-split-0.1.3-4.fc15.0.arm1
  55. ghc-stm-2.2.0.1-4.fc15.0.arm1
  56. ghc-syb-0.3-4.fc15.0.arm1
  57. ghc-tagsoup-0.12-4.fc15.0.arm1
  58. ghc-tar-0.3.1.0-11.fc15.0.arm1
  59. ghc-terminfo-0.3.1.3-6.fc15.0.arm1
  60. ghc-texmath-0.4-6.fc15.0.arm1
  61. ghc-transformers-0.2.2.0-6.fc15.0.arm1
  62. ghc-transformers-0.2.2.0-6.fc15.0.arm2
  63. ghc-uniplate-1.6-5.fc15.0.arm1
  64. ghc-utf8-string-0.3.6-9.fc15.1.0.arm1
  65. ghc-X11-1.5.0.0-11.fc15.0.arm1
  66. ghc-X11-xft-0.3-15.fc15.0.arm1
  67. ghc-xhtml-3000.2.0.1-9.fc15.0.arm1
  68. ghc-xml-1.3.7-3.fc15.0.arm1
  69. ghc-zip-archive-0.1.1.7-2.fc15.0.arm1
  70. ghc-zlib-0.5.3.1-2.fc15.0.arm1
  71. ghc-zlib-bindings-0.0.0-4.fc15.0.arm1
  72. gypsy-0.8-2.fc15.0.arm1 pbrobinson
  73. java-1.5.0-gcj-1.5.0.0-37.fc15.0.arm1
  74. kdnssd-avahi-0.1.3-0.11.20080116svn.fc15.0.arm1
  75. libprelude-1.0.0-8.fc15.0.arm1
  76. m4-1.4.16-1.fc15.0.arm1
  77. ocaml-3.12.0-5.fc15.0.arm2
  78. perl-Coro-5.372-4.fc15.0.arm1
  79. pl-5.10.2-5.fc15.0.arm1
  80. python-pyblock-0.49-2.fc15.0.arm1
  81. pyxf86config-0.3.37-10.fc15.0.arm1
  82. speedcrunch-0.11-0.2.alpha.fc15.0.arm1
  83. tzdata-2011h-1.fc15.0.arm1
  84. xerces-c-3.0.1-21.fc15.0.arm1
  85. allegro pbrobinson (fixed rawhide/f16 f15 needed)
  86. hwloc pbrobinson
  87. netcdf pbrobinson
  88. alex pbrobinson
  89. bluetile pbrobinson
  90. cpphs pbrobinson
  91. cabal-install pbrobinson