Architectures/ARM/Fedora15 HardFP Bootstrap package status

From FedoraProject

< Architectures | ARM
Revision as of 20:48, 21 September 2011 by Devos (Talk | contribs)

Jump to: navigation, search
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

Contents

Self & Circular dependencies

These packages have circular dependencies on themselves

erlang-R14B

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.

fpc

mlton

ocaml

vinagre

mono

perl-Math-Random-MT-Auto

sbcl

eclipse icu4j

ghc ghc hscolour hscolour

java java ecj

log4net nant

plplot perl-PDL-Graphics-PLplot

valgrind plpa openmpi

Problematic packages

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


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

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?

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]'

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/

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

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?

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.

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 ""

java-1.5.0-gcj

in stage 3 only

java-1.6.0-openjdk

in stage 3 only

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

libffado

Somehow built in stage3. libffado-2.1.0-0.3.20110426.svn1983.fc15.src.rpm pandaboard2.znjan.st

Depends on PyQt4-devel.

libgphoto2

in stage 3 only

libproxy

in stage 3 only

libvpx

in stage 3 only

llvm

in stage 3 only

ocaml

in stage 3 only

perl-Coro

in stage 3 only

perl-Tk

in stage 3 only

postgresql

in stage 3 only

ppl

in stage 3 only

pulseaudio

in stage3 only. pulseaudio-0.9.22-5.fc15.src.rpm pandaboard2.znjan.st

{standard input}: Assembler messages:
{standard input}:73: Error: thumb conditional instruction should be in IT block -- `addcs r0,r8'
{standard input}:74: Error: thumb conditional instruction should be in IT block -- `movcs r6,r0'
{standard input}:89: Error: thumb conditional instruction should be in IT block -- `addcs r0,r8'
{standard input}:90: Error: thumb conditional instruction should be in IT block -- `movcs r6,r0'
{standard input}:110: Error: thumb conditional instruction should be in IT block -- `addcs r0,r8'
{standard input}:111: Error: thumb conditional instruction should be in IT block -- `movcs r6,r0'

Possible upsteam patch: http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/pulsecore/svolume_arm.c?id=b7779ecce0e6e1d2d6a56c4d97393baf08235c04

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?)

uuid

in stage3 only.

FTBFS due to rpm changes.

error: /builddir/build/SPECS/uuid.spec:71: parseExpressionBoolean returns -1

w3m

in stage 3 only

xalan-j2

in stage 3 only

Completed

These packages have completed a full build with some manual actions

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)

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.

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

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

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.

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.

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).