From Fedora Project Wiki

< Architectures‎ | ARM

Revision as of 07:01, 14 September 2011 by Hno (talk | contribs) (→‎zziplib)

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.

Problematic packages

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

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

kdelibs

Depends on soprano-devel -> qt-docs

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?

soprano

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

Depends on phonon -> PackageKit-gstreamer-plugin

mysql

mysql-5.5.10-2.fc15 fails with:

make[2]: /usr/bin/dtrace: Command not found

On x86_64 dtrace is included in systemtap-sdt-devel which is installed, but maybe not complete (stage3)

Now rebuilding after systemtap-sdt-devel have been successfully rebuilt in stagey. /usr/bin/dtrace now exists in the root so chances are it will complete.

Tried all F15 koji versions and they all fail in the same manner

cd /builddir/build/BUILD/mysql-5.5.15/libmysql && /usr/bin/gcc  -DDBUG_OFF -DHAVE_CONFIG_H -DHAVE_OPENSSL -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC  -fPIC -Wall -I/builddir/build/BUILD/mysql-5.5.15/include -I/builddir/build/BUILD/mysql-5.5.15/libmysql -I/builddir/build/BUILD/mysql-5.5.15/regex -I/builddir/build/BUILD/mysql-5.5.15/sql -I/builddir/build/BUILD/mysql-5.5.15/strings   -o CMakeFiles/clientlib.dir/__/sql-common/client_plugin.c.o   -c /builddir/build/BUILD/mysql-5.5.15/sql-common/client_plugin.c
/builddir/build/BUILD/mysql-5.5.15/sql-common/client_plugin.c: In function 'mysql_client_plugin_init':
/builddir/build/BUILD/mysql-5.5.15/sql-common/client_plugin.c:247:5: error: incompatible type for argument 5 of 'add_plugin'
/builddir/build/BUILD/mysql-5.5.15/sql-common/client_plugin.c:120:1: note: expected 'va_list' but argument is of type 'int'
/builddir/build/BUILD/mysql-5.5.15/sql-common/client_plugin.c: In function 'mysql_client_register_plugin':
/builddir/build/BUILD/mysql-5.5.15/sql-common/client_plugin.c:305:5: error: incompatible type for argument 5 of 'add_plugin'
/builddir/build/BUILD/mysql-5.5.15/sql-common/client_plugin.c:120:1: note: expected 'va_list' but argument is of type 'int'
make[2]: *** [libmysql/CMakeFiles/clientlib.dir/__/sql-common/client_plugin.c.o] Error 1

Appears mysql was patched a bit in stage3.

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.

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 :-/

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.

xulrunner

xulrunner-2.0.1-1.fc15 fails with

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

Completed

These packages have completed a full build with some manual actions

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.

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