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