editors/libreoffice not building
Julian H. Stacey
jhs at berklix.com
Mon Oct 26 13:03:04 UTC 2015
cc: office at freebsd.org
cc: "Julian H. Stacey" <jhs at berklix.com> (as I'm not on office@)
Hi Jung-uk Kim <jkim at freebsd.org>
Thanks for your reply of Wed, 21 Oct 2015 20:23:15 -0400 (Thu 02:23 CEST)
Sorry for delay,
> > Hi office at FreeBSD.org
> >
> > I have occasionaly built editors/libreoffice, (always a small
> > miracle, its so big). Build has failed a few times lately, while I
> > debugged other ports, & upgraded ports/, & now just this monster
> > libreoffice is left to do.
> >
> > pkg info | wc -l 1136
> >
> > uname -a FreeBSD lapr.js.berklix.net 11.0-CURRENT FreeBSD
> > 11.0-CURRENT #12182: Mon Oct 19 23:57:08 CEST 2015
> > jhs at lapr.js.berklix.net:/usr/src/sys/amd64/compile/LAPR.small
> > amd64
> >
> > cd /usr/ports/editors/libreoffice ; make
> >
> > had been running for about a day with cd /usr/ports ; cat
> > .svn_revision 399289
> >
> > then it broke with
> >
> > ===> Building for libreoffice-5.0.2 gmake[2]: Entering directory
> > '/data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreof
> fice-5.0.2.2'
> >
> >
> Automatic fetching of external tarballs is disabled.
I didn't deliberately disable anything. The port should hopefully
not by default disable itself from fetching what it needs (if that
was what it does?); If it does disable itself, it should please
emit an error message stating syntax to revert to FreeBSD normal fetch.
> > mkdir -p
> > /data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreoff
> ice-5.0.2.2/instdir
> >
> >
> /data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreoffic
> e-5.0.2.2/solenv/bin/install-gdb-printers
> - -a
> /data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreoffic
> e-5.0.2.2/instdir
> - -c
> > gmake -j 1 -rs -f
> > /data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreoff
> ice-5.0.2.2/Makefile.gbuild
> > all gmake[3]: Entering directory
> > '/data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreof
> fice-5.0.2.2'
> >
> >
> gmake[3]: *** No rule to make target
> '/usr/ports/distfiles/libreoffice/4b87018f7fff1d054939d19920b751a0-colla
> da2gltf-master-cb1d97788a.tar.bz2',
> needed by
> '/data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreoffi
> ce-5.0.2.2/workdir/UnpackedTarget/4b87018f7fff1d054939d19920b751a0-colla
> da2gltf-master-cb1d97788a.tar.bz2'.
> Stop.
> > gmake[3]: Leaving directory
> > '/data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreof
> fice-5.0.2.2'
> >
> >
> Makefile:247: recipe for target 'build' failed
> > gmake[2]: *** [build] Error 2 gmake[2]: Leaving directory
> > '/data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreof
> fice-5.0.2.2'
> >
> >
> *** Error code 1
> >
> > Stop.
> >
> > Grep "Automatic fetching of external tarballs is disabled"
> >
> > work/libreoffice-5.0.2.2/Makefile.in
> > work/libreoffice-5.0.2.2/Makefile
> >
> > So without wasting much time to understand this, I tried
> >
> > make DO_FETCH_TARBALLS=YES fetch
>
> It looks like your ${DISTDIR} is not ${PORTSDIR}/distfiles, i.e.,
> ${PORTSDIR} is /data/release/11.0-CURRENT/usr/ports and ${DISTDIR} is
> /usr/ports/distfiles. Is the former symlink'ed to /usr/ports?
Yes, my distfiles links normaly work, I've built 1000 ports, though theres
always the risk I might have caused transient manual damage
at some stage during a ports clean up.
I keep distfiles on a site wide AMD + NFS server, per domain
selectable, segregated per release, via symbolic links listed below
(dont worry about number of links, I tweaked my kernels a decade
back to allow more))
/usr/ports -> ../data/release/s4/usr/ports # Bigger build FS
/data/release/s4/usr/ports/distfiles -> ../distfiles # s[1-4] allow chroots
/data/release/s4/usr/distfiles -> ../distfiles
/data/release/s4/distfiles -> /pub/FreeBSD/dists/current
/pub -> site/pub
/site/pub -> domain/pub
/site/domain/pub -> this/pub
/site/domain/this -> js.berklix.net # Where laptop is
/site/domain/this/js.berklix.net/pub -> /host/fire/0s4/ftp/pub
/host/fire/0s4/ftp/pub/FreeBSD/dists/current # Directory of 4 Gig
> Anyway, you may need to explicitly set DISTDIR or create yet another
> symlink to make it correct, e.g., somthing like
> /data/release/11.0-CURRENT/usr/ports/distfiles -> /usr/ports/distfiles.
cd /data/release/11.0-CURRENT/usr/ports/distfiles ; /bin/pwd
/.amd_mnt/fire/0s4/ftp/pub/FreeBSD/dists/current
So that's OK.
> > make ... continued briefly then blew again:
> >
> > no obvious way to instantiate implementation
> > "com.sun.star.comp.CmisContentProvider"
> > /data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreoff
> ice-5.0.2.2/postprocess/qa/services.cxx:310:N12_GLOBAL__N_14TestE::test
> >
> >
> forced failure
> > - instantiating "com.sun.star.comp.Draw.CDRImportFilter" via
> > "com.sun.star.comp.Draw.CDRImportFilter" caused
> > com.sun.star.loader.CannotActivateFactoryException "loading
> > component library
> > <file:///data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/
> libreoffice-5.0.2.2/instdir/program/libwpftdrawlo.so>
> > failed"
> >
> > services.cxx:310:Assertion Test name: N12_GLOBAL__N_14TestE::test
> > forced failure - instantiating
> > "com.sun.star.comp.Draw.CDRImportFilter" via
> > "com.sun.star.comp.Draw.CDRImportFilter" caused
> > com.sun.star.loader.CannotActivateFactoryException "loading
> > component library
> > <file:///data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/
> libreoffice-5.0.2.2/instdir/program/libwpftdrawlo.so>
> > failed"
> >
> > Failures !!! Run: 1 Failure total: 1 Failures: 1 Errors: 0
> >
> > Error: a unit test failed, please do one of:
> >
> > export DEBUGCPPUNIT=TRUE # for exception catching export
> > CPPUNITTRACE="gdb --args" # for interactive debugging on Linux
> > export VALGRIND=memcheck # for memory checking
> >
> > and retry using: make CppunitTest_services
> >
> > /data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreoff
> ice-5.0.2.2/solenv/gbuild/CppunitTest.mk:87:
> > recipe for target
> > '/data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreof
> fice-5.0.2.2/workdir/CppunitTest/services.test'
> > failed gmake[3]: ***
> > [/data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreof
> fice-5.0.2.2/workdir/CppunitTest/services.test]
> > Error 1 gmake[3]: Leaving directory
> > '/data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreof
> fice-5.0.2.2'
> >
> >
> Makefile:247: recipe for target 'build' failed
> > gmake[2]: *** [build] Error 2 gmake[2]: Leaving directory
> > '/data/release/11.0-CURRENT/usr/ports/editors/libreoffice/work/libreof
> fice-5.0.2.2'
> >
> >
> *** Error code 1
> ...
>
> I think you'll be able to bypass it with the attached patch.
cd /usr/ports/editors/libreoffice/work/libreoffice-5.0.2.2/postprocess
patch < ~/lo.diff # Hunk #1 succeeded at 28.
Stored for my future automatic use as
http://berklix.com/~jhs/src/bsd/fixes/FreeBSD/ports/gen/editors/libreoffice/files/patch-Module_postprocess.mk.diff
> However,
> I am afraid you may have mixed binaries with different C++ ABIs.
I'm out of my depth, Ive never looked inside libre office, sounds
like Linux or similar libraries lurk in there, I had hoped libreoffice
was a pure source product ?
I've resumed make & now up to
[build CUT] sw_rtfexport
If libreoffice completes make OK, after make install package-recursive,
to check if your patch is OK to include from the beginning,
& perhaps to allay your doubts on mixed ABIs, I would then try eg:
cd /usr/ports; svn up
unsetenv NOCLEANDEPENDS
cd /usr/ports/editors/libreoffice; make clean
cp ~/public_html/src/bsd/fixes/FreeBSD/ports/gen/editors/libreoffice/files/\
patch-Module_postprocess.mk.diff files/
make package-recursive # (which would take a while !)
Thanks,
Julian
--
Julian Stacey, BSD Linux Unix Sys. Eng. Consultant Munich http://berklix.com
Reply After previous text to preserve context, as in a play script.
Indent previous text with > Insert new lines before 80 chars.
Use plain text, Not quoted-printable, Not HTML, Not base64, Not MS.doc.
More information about the freebsd-office
mailing list