libreoffice ftbfs on armhf

Bug #900636 reported by Matthias Klose
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
libreoffice (Ubuntu)
Fix Released
High
Jani Monoses
Precise
Fix Released
High
Jani Monoses

Bug Description

in precise,

/bin/bash: line 1: 11191 Segmentation fault LD_LIBRARY_PATH=/build/buildd/libreoffice-3.4.4/libreoffice-build/build/libreoffice-3.4.3.2/solver/340/unxlngr.pro/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} /build/buildd/libreoffice-3.4.4/libreoffice-build/build/libreoffice-3.4.3.2/solver/340/unxlngr.pro/bin/uno -ro uno_services.rdb -ro uno_types.rdb -s com.sun.star.test.bridge.BridgeTest -- com.sun.star.test.bridge.CppTestObject
dmake: Error code 139, while making 'runtest'
Retrying /build/buildd/libreoffice-3.4.4/libreoffice-build/build/libreoffice-3.4.3.2/testtools/source/bridgetest

Making: all_bridgetest.dpslo
cd ../../unxlngr.pro/lib && : && LD_LIBRARY_PATH=/build/buildd/libreoffice-3.4.4/libreoffice-build/build/libreoffice-3.4.3.2/solver/340/unxlngr.pro/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} /build/buildd/libreoffice-3.4.4/libreoffice-build/build/libreoffice-3.4.3.2/solver/340/unxlngr.pro/bin/uno \
        -ro uno_services.rdb -ro uno_types.rdb \
        -s com.sun.star.test.bridge.BridgeTest -- \
        com.sun.star.test.bridge.CppTestObject
/bin/bash: line 1: 11210 Segmentation fault LD_LIBRARY_PATH=/build/buildd/libreoffice-3.4.4/libreoffice-build/build/libreoffice-3.4.3.2/solver/340/unxlngr.pro/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} /build/buildd/libreoffice-3.4.4/libreoffice-build/build/libreoffice-3.4.3.2/solver/340/unxlngr.pro/bin/uno -ro uno_services.rdb -ro uno_types.rdb -s com.sun.star.test.bridge.BridgeTest -- com.sun.star.test.bridge.CppTestObject
dmake: Error code 139, while making 'runtest'

Revision history for this message
Dave Martin (dave-martin-arm) wrote :

The ARM Procedure Call Standard document on http://infocenter.arm.com/ has details of the VFP variant of the procedure call standard, required for armhf.

Simplified, each floating-point argument is allocated first to the VFP registers if there are some available (from s0-s15 / d0-d7), and then to the stack when there are no more VFP argument registers available.

Basically, for the armhf case we need:

  * A separate array to track the values to be passed to the called function in floating-point registers
  * A separate counter to track which floating-point argument registers have already been allocated
  * Separate implementations of INSERT_FLOAT() and INSERT_DOUBLE() to allocate to VFP regs and then to the stack (similarly to the way the INSERT_INT*() macros work)
  * Code to copy the required arguments into the VFP regs when the actual target function is called
  * Code to handle floating-point return values (float/double returned VFP registers) -- refer to the Procedure Call Standard for exact details)

Revision history for this message
Matthias Klose (doko) wrote :
tags: added: patch
Revision history for this message
Martin Pitt (pitti) wrote :

Thanks Matthias! Bjoern, can you please take it from here? scheat.canonical.com has a precise-armhf dchroot for porting.

Changed in libreoffice (Ubuntu Precise):
assignee: nobody → Björn Michaelsen (bjoern-michaelsen)
Revision history for this message
Michael Casadevall (mcasadevall) wrote :

This is going to be a non-trivial porting project due to libreoffice needing to know a massive *ton* about how the C++ calling conventions on a given platform work.

Here's a general idea of what it took to build libreoffice (partially) on Windows x64 which explains the broken module: http://libreofficeaustralia.org/pa/community/blog/planet/20110328/porting-libreoffice-x64-windows

I'm reading through the ARM calling convention guide and using libffi's source as a handy reference guide, and will take a stab at doing the port, but its absolutely suck and pain.

Changed in libreoffice (Ubuntu Precise):
assignee: Björn Michaelsen (bjoern-michaelsen) → Michael Casadevall (mcasadevall)
tags: added: rls-mgr-p-tracking
Revision history for this message
Björn Michaelsen (bjoern-michaelsen) wrote :

@mcasadevall: If you need help for the LibreOffice side, please join #libreoffice-dev on freenode. sberg and caolan might be esp. helpful for low-level bridges stuff.

Revision history for this message
Jani Monoses (jani) wrote :

@bjoern-michaelsen: I am looking at the bridge code and will ask around the libo channel once I have proper questions.

Changed in libreoffice (Ubuntu Precise):
assignee: Michael Casadevall (mcasadevall) → Riku Voipio (riku-voipio)
Revision history for this message
Jani Monoses (jani) wrote :

Patch against git master, WIP. It still crashes in the bridge tests but it crashes a bit later.
Not yet for upstream commiting, still debugging it.

Revision history for this message
Jani Monoses (jani) wrote :

Updated patch agains master, parts of the previous one were commited in upstream git.

Revision history for this message
Jani Monoses (jani) wrote :

latest iteration, passes bridge tests in libo master tree.
subject to cleanups and further testing though

Revision history for this message
Björn Michaelsen (bjoern-michaelsen) wrote :

Great!
@jani: Could you check if the data at https://wiki.documentfoundation.org/Development/Developers is correct?

Revision history for this message
Björn Michaelsen (bjoern-michaelsen) wrote :

@jani: does this include the fix for softp as used by debian?

Revision history for this message
Jani Monoses (jani) wrote :

Diff agaist git master as of 3 days ago so it contains all 3 changesets, should be appliable to the Ubuntu/Debian package.

Revision history for this message
Jani Monoses (jani) wrote :

Three commits in git master fix this

Changed in libreoffice (Ubuntu Precise):
status: Confirmed → Fix Committed
Martin Pitt (pitti)
tags: added: rls-p-tracking
removed: rls-mgr-p-tracking
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.1 KiB)

This bug was fixed in the package libreoffice - 1:3.5.0-1ubuntu1

---------------
libreoffice (1:3.5.0-1ubuntu1) precise; urgency=low

  * Ubuntufy splash progress
  * merge from debian-experimental-3.5

libreoffice (1:3.5.0-2) UNRELEASED; urgency=low

  [ Rene Engelhard ]
  * debian/patches/armhf-bridges*.diff: add armhf bridges fixes from
    Jani Monoses (LP: #900636)
  * debian/patches/revert-468fe685e3c58c84bce6d9a48b931dcc21682679.diff:
    remove, obsolete
  * debian/patches/icu-arm.diff: fix internal icu build on arm.

  * debian/rules:
    - remove obsolete (and buggy) conditional icu-on-arm-fails breaking
      the build

  [ Bjoern Michaelsen ]
  * debian/libreoffice-common.postrm.in: remove mismerged superfluous fi

libreoffice (1:3.5.0-1ubuntu1~ppa2) precise; urgency=low

  * remove failing smoketest cleanup code for now

libreoffice (1:3.5.0-1ubuntu1~ppa1) precise; urgency=low

  * reenable EVO2 and MEDIAWIKI extensions (reduces delta to debian)
  * move unopkg wrapper from -common to -core to allow extension
    registration
  * do extension registration from -common to -core because we actually
    have the binaries (unopkg.bin etc.) to do it there (LP: #917153)
  * cherry-picked from debian-experimental-3.5:
    debian/libreoffice-common.postrm.in: remove mismerged superfluous fi
  * use source tarballs from debian

libreoffice (1:3.5.0-1) experimental; urgency=low

  * LibreOffice 3.5.0 final release (identical to rc3)

  * debian/patches/no-rcX-in-final.diff: don't show rc3, it's not a rc
    amymore...
  * debian/patches/patches/make-gengal-work-again.diff: register gengal.bin
    executable to get proper rpath and remove gengalrc
  * debian/patches/odk-fix-rdb-paths.diff: backport fix to fix rdb path
    in settings/std.mk in the SDK

  * debian/rules:
    - install found .gdb-py files into respective -dbg packages
    - add additional libpoppler-private-dev build-dep for new popplers
  * debian/control.in, debian/libreofice-common.p*:
    apply patch from Colin Watson to use Pre-Depends rather than
    'dpkg-maintscript-helper supports' guards (closes: #659867)
  * debian/watch: point to download.documentfoundation.org/libreoffice/src
    instead of dev-builds

libreoffice (1:3.5.0~rc3-1) experimental; urgency=low

  * new upstream release candidate

  * debian/patches/SwTblBoxFormula-destructor.diff: work around link error
    on armel by specifying explicit SwTblBoxFormula destructor, thanks
    Michael Meeks
  * debian/patches/ia64-oox-size.diff: build oox on ia64 with -Os
    as otherwise it gets too big to link
  * debian/patches/mediwiki-oor-replace.diff: replace oor:fuse by oor:replace
    for -wiki-publishers config (hopefully closes: #616011)

  * debian/rules:
    - give gb_FULLDEPS= to actual make check call, not debian/rules
      check
    - simplify -dbg/--enable-symbols conditionals
    - build with default boost again but add build-dep on g++-4.6 (>= 4.6.2-12)

libreoffice (1:3.5.0~rc2-2) experimental; urgency=low

  * debian/rules:
    - fix another merge error to really fix patch rule in check
    - enable ca-XV, put into -{l10n,help}-ca

libreoffice (1:3.5.0~rc2-1) experimental; urgency=low

  * new up...

Read more...

Changed in libreoffice (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Jani Monoses (jani) wrote :

FTBFS again much later at the install step.

Changed in libreoffice (Ubuntu Precise):
assignee: Riku Voipio (riku-voipio) → Jani Monoses (jani)
status: Fix Released → Confirmed
Revision history for this message
Jani Monoses (jani) wrote :
Revision history for this message
Jani Monoses (jani) wrote :

finally succeeded after disabling base on armhf too.

Changed in libreoffice (Ubuntu Precise):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.