[Libreoffice] First build from sources

Thomas Klausner wiz at NetBSD.org
Thu Sep 30 10:18:13 PDT 2010


Hi!

I've followed
http://www.freedesktop.org/wiki/Software/LibreOffice/HowToBuild
to set up building from git sources on NetBSD.

While doing that, I found the following issues:
1) automake-1.11.1 complains a lot about GNU make extensions in
Makefile.am files:

bin/piece/Makefile.am:1: wildcard env-*: non-POSIX variable name
bin/piece/Makefile.am:1: (probably a GNU make extension)
bin/piece/Makefile.am:1: wildcard build-*: non-POSIX variable name
bin/piece/Makefile.am:1: (probably a GNU make extension)
bin/piece/Makefile.am:1: wildcard file-list-*: non-POSIX variable name
bin/piece/Makefile.am:1: (probably a GNU make extension)
bin/piece/Makefile.am:1: wildcard inst-*: non-POSIX variable name
bin/piece/Makefile.am:1: (probably a GNU make extension)
bin/piece/Makefile.am:1: wildcard post-inst-*: non-POSIX variable name
bin/piece/Makefile.am:1: (probably a GNU make extension)
desktop/16x16/Makefile.am:1: wildcard ooo-*.png: non-POSIX variable name
desktop/16x16/Makefile.am:1: (probably a GNU make extension)
desktop/22x22/Makefile.am:1: wildcard ooo-*.png: non-POSIX variable name
desktop/22x22/Makefile.am:1: (probably a GNU make extension)
desktop/24x24/Makefile.am:1: wildcard ooo-*.png: non-POSIX variable name
desktop/24x24/Makefile.am:1: (probably a GNU make extension)
desktop/32x32/Makefile.am:1: wildcard ooo-*.png: non-POSIX variable name
desktop/32x32/Makefile.am:1: (probably a GNU make extension)
desktop/48x48/Makefile.am:1: wildcard ooo-*.png: non-POSIX variable name
desktop/48x48/Makefile.am:1: (probably a GNU make extension)
desktop/Makefile.am:3: wildcard *.desktop.in.in: non-POSIX variable name
desktop/Makefile.am:3: (probably a GNU make extension)
desktop/Makefile.am:17: `%'-style pattern rules are a GNU make extension
desktop/Makefile.am:17: wildcard $(top_srcdir: non-POSIX variable name
desktop/Makefile.am:17: (probably a GNU make extension)
desktop/Makefile.am:20: `%'-style pattern rules are a GNU make extension
desktop/Makefile.am:23: wildcard *.png: non-POSIX variable name
desktop/Makefile.am:23: (probably a GNU make extension)
desktop/mimetypes/16x16/Makefile.am:1: wildcard *.png: non-POSIX variable name
desktop/mimetypes/16x16/Makefile.am:1: (probably a GNU make extension)
desktop/mimetypes/22x22/Makefile.am:1: wildcard *.png: non-POSIX variable name
desktop/mimetypes/22x22/Makefile.am:1: (probably a GNU make extension)
desktop/mimetypes/24x24/Makefile.am:1: wildcard *.png: non-POSIX variable name
desktop/mimetypes/24x24/Makefile.am:1: (probably a GNU make extension)
desktop/mimetypes/32x32/Makefile.am:1: wildcard *.png: non-POSIX variable name
desktop/mimetypes/32x32/Makefile.am:1: (probably a GNU make extension)
desktop/mimetypes/48x48/Makefile.am:1: wildcard *.png: non-POSIX variable name
desktop/mimetypes/48x48/Makefile.am:1: (probably a GNU make extension)
desktop/scalable/Makefile.am:1: wildcard ooo-*.svg: non-POSIX variable name
desktop/scalable/Makefile.am:1: (probably a GNU make extension)
distro-configs/Makefile.am:1: wildcard *.conf.in: non-POSIX variable name
distro-configs/Makefile.am:1: (probably a GNU make extension)
doc/Makefile.am:1: wildcard *.txt *.sh *.sample: non-POSIX variable name
doc/Makefile.am:1: (probably a GNU make extension)
etc/Makefile.am:1: wildcard test*.list: non-POSIX variable name
etc/Makefile.am:1: (probably a GNU make extension)
etc/Makefile.am:1: wildcard test*.blacklist: non-POSIX variable name
etc/Makefile.am:1: (probably a GNU make extension)
extensions/tweakconfig/Makefile.am:1: wildcard *.xcu: non-POSIX variable name
extensions/tweakconfig/Makefile.am:1: (probably a GNU make extension)
extensions/tweakconfig/Makefile.am:1: wildcard *.xml: non-POSIX variable name
extensions/tweakconfig/Makefile.am:1: (probably a GNU make extension)
patches/64bit/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/64bit/Makefile.am:1: (probably a GNU make extension)
patches/Makefile.am:3: wildcard *.diff: non-POSIX variable name
patches/Makefile.am:3: (probably a GNU make extension)
patches/cairo/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/cairo/Makefile.am:1: (probably a GNU make extension)
patches/dev300/Makefile.am:1: wildcard *.diff*: non-POSIX variable name
patches/dev300/Makefile.am:1: (probably a GNU make extension)
patches/emf+/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/emf+/Makefile.am:1: (probably a GNU make extension)
patches/evo2/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/evo2/Makefile.am:1: (probably a GNU make extension)
patches/gstreamer/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/gstreamer/Makefile.am:1: (probably a GNU make extension)
patches/hotfixes/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/hotfixes/Makefile.am:1: (probably a GNU make extension)
patches/lwp/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/lwp/Makefile.am:1: (probably a GNU make extension)
patches/mono/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/mono/Makefile.am:1: (probably a GNU make extension)
patches/ooxml/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/ooxml/Makefile.am:1: (probably a GNU make extension)
patches/postgresql/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/postgresql/Makefile.am:1: (probably a GNU make extension)
patches/unittesting/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/unittesting/Makefile.am:1: (probably a GNU make extension)
patches/vba/Makefile.am:1: wildcard *.diff: non-POSIX variable name
patches/vba/Makefile.am:1: (probably a GNU make extension)
po/Makefile.am:3: wildcard *.po: non-POSIX variable name
po/Makefile.am:3: (probably a GNU make extension)
po/Makefile.am:3: wildcard *.sdf: non-POSIX variable name
po/Makefile.am:3: (probably a GNU make extension)
po/Makefile.am:9: wildcard ooo-build-*.po: non-POSIX variable name
po/Makefile.am:9: (probably a GNU make extension)
po/Makefile.am:13: wildcard sdf-templates/*.sdf: non-POSIX variable name
po/Makefile.am:13: (probably a GNU make extension)
po/Makefile.am:28: `%'-style pattern rules are a GNU make extension
po/sdf-templates/Makefile.am:1: wildcard *.sdf: non-POSIX variable name
po/sdf-templates/Makefile.am:1: (probably a GNU make extension)
src/Makefile.am:3: wildcard *.dic: non-POSIX variable name
src/Makefile.am:3: (probably a GNU make extension)
src/helpcontent2/Makefile.am:1: wildcard *.xsl: non-POSIX variable name
src/helpcontent2/Makefile.am:1: (probably a GNU make extension)
src/icons/Makefile.am:3: wildcard *.png: non-POSIX variable name
src/icons/Makefile.am:3: (probably a GNU make extension)
src/icons/tango/Makefile.am:1: wildcard *.png: non-POSIX variable name
src/icons/tango/Makefile.am:1: (probably a GNU make extension)
src/layout/Makefile.am:1: wildcard *.png: non-POSIX variable name
src/layout/Makefile.am:1: (probably a GNU make extension)
src/sdf/Makefile.am:1: wildcard *.sdf: non-POSIX variable name
src/sdf/Makefile.am:1: (probably a GNU make extension)
templates/Makefile.am:1: wildcard *.ott: non-POSIX variable name
templates/Makefile.am:1: (probably a GNU make extension)

Not completely sure what to do about those, except ignore them.

2) configure searches for png.h in default paths, I think it should
use pkg-config instead. Suggested patch attached.

3) configure, when running, complains:
config.status: WARNING:  'bin/piece/sys-setup.in' seems to ignore the --datarootdir setting
This happens because the file uses mandir, see
http://www.gnu.org/software/hello/manual/autoconf/Changed-Directory-Variables.html
Suggested patch attached.

4) configure ignores --with-num-cpus (even though the wiki says to use
it); --with-max-jobs seems to be handled better. Which one do we want,
or do we want both?

5) download has /usr/bin/perl hardcoded as interpreter; it should
probably use "/usr/bin/env perl" instead.
Suggested patch attached.

6) perl warns when running the "download" script:
Switch will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at download, line 2.
Not sure what to do about that.

7) patches/apply.pl is unhappy about the version number returned by
NetBSD's patch:
Patch version 2.0-12u8-NetBSD
Use of uninitialized value $ver_line in pattern match (m//) at /archive/cvs/libreoffice/build/patches/apply.pl line 924.
Can't get patch version
Usually, NetBSD patch works fine, do we want to force GNU patch or
should I change it to accept NetBSD's patch as well?

And a final question: how do I need to change the wiki instructions
for git+ssh access?

Thanks,
 Thomas


-------------- next part --------------
diff --git a/configure.in b/configure.in
index 0739a05..d1dc3e9 100644
--- a/configure.in
+++ b/configure.in
@@ -703,7 +703,7 @@ if test "z$with_java" = "zno"; then
 fi
 
 AC_CHECK_HEADER(security/pam_appl.h, have_pam=true, have_pam=false)
-AC_CHECK_HEADER(png.h, have_png=true, have_png=false)
+PKG_CHECK_MODULES([png], [libpng], have_png=true, have_png=false)
 AC_CHECK_HEADER(zlib.h, have_zlib=true, have_zlib=false)
 
 if test "z$with_win32" = "z" -a "z`uname -s`" != "zDarwin" -a "z$with_distro" != "zCrossWin32"; then
-------------- next part --------------
diff --git a/bin/piece/sys-setup.in b/bin/piece/sys-setup.in
index d8ffe31..35925ad 100755
--- a/bin/piece/sys-setup.in
+++ b/bin/piece/sys-setup.in
@@ -7,6 +7,7 @@ export VERSION='@OOO_VERSION@'
 export OO_INSTDIR=@libdir@/@OOOINSTALLDIRNAME@
 export OO_PREFIX=@prefix@
 export OO_LIBDIR=@libdir@
+datarootdir = @datarootdir@
 export OO_MANDIR=@mandir@
 export OO_DOCDIR=@docdir@
 export OO_LANGS='@OOO_LANGS@'
-------------- next part --------------
diff --git a/download.in b/download.in
index 3403b0b..eb1250a 100755
--- a/download.in
+++ b/download.in
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/env perl -w
 use Switch;
 use File::Temp qw/ tempfile tempdir /;
 


More information about the LibreOffice mailing list