SBo scripts not building on current (read 1st post, pls)
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
For those who had problem with aegisub and LucenePlusPlus after updating to latest boost, you can check the fixes on https://git.slackbuilds.org/slackbuilds/. There are two separate branches for each script ending with -current.
libgdiplus fails to build on latest -current with this error
Code:
undefined reference to `GifQuantizeBuffer'
the problem seems due to an incompatibility with giflib version 5.1.9 shipped with slackware. People on Arch forum claim that reverting giflib to 5.1.8 solves the issue.
Another one that is failing is openmw (Morrowind engine implementation), complains about boost, the build continue when adding the line -DBoost_NO_BOOST_CMAKE=ON in the slackbuild as suggested in the changelog but then fails soon after because of an undefined auto_ptr variable (maybe deprecated for good in latest gcc?), will investigate a bit more today.
gnucash 3.4 seems to be failing configure after the latest boost update (1.70.0):
Code:
-- Found Boost 1.70.0 at /usr/lib64/cmake/Boost-1.70.0
-- Requested configuration: QUIET REQUIRED COMPONENTS date_time;regex;locale;filesystem;system
-- Found boost_headers 1.70.0 at /usr/lib64/cmake/boost_headers-1.70.0
-- Found boost_date_time 1.70.0 at /usr/lib64/cmake/boost_date_time-1.70.0
-- No suitable boost_date_time variant has been identified!
-- libboost_date_time.so.1.70.0 (shared, BUILD_SHARED_LIBS not ON, set Boost_USE_STATIC_LIBS=OFF to override)
CMake Error at /usr/lib64/cmake/Boost-1.70.0/BoostConfig.cmake:95 (find_package):
Found package configuration file:
/usr/lib64/cmake/boost_date_time-1.70.0/boost_date_time-config.cmake
but it set boost_date_time_FOUND to FALSE so package "boost_date_time" is
considered to be NOT FOUND. Reason given by package:
No suitable build variant has been found.
Call Stack (most recent call first):
/usr/lib64/cmake/Boost-1.70.0/BoostConfig.cmake:124 (boost_find_dependency)
/usr/share/cmake-3.14/Modules/FindBoost.cmake:266 (find_package)
CMakeLists.txt:533 (find_package)
-- Configuring incomplete, errors occurred!
See also "/tmp/SBo/gnucash-3.4/build/CMakeFiles/CMakeOutput.log".
Failures:
gnucash: gnucash.SlackBuild return non-zero
libgdiplus fails to build on latest -current with this error
Code:
undefined reference to `GifQuantizeBuffer'
the problem seems due to an incompatibility with giflib version 5.1.9 shipped with slackware. People on Arch forum claim that reverting giflib to 5.1.8 solves the issue.
Rebuilding giflib with this patch fixes the 'GifQuantizeBuffer'
This has been removed and re-added to giflib before and was considered "depreciated".
So this should be considered a temporary fix until other packages catch-up.
gnucash 3.4 seems to be failing configure after the latest boost update (1.70.0):
Code:
-- Found Boost 1.70.0 at /usr/lib64/cmake/Boost-1.70.0
-- Requested configuration: QUIET REQUIRED COMPONENTS date_time;regex;locale;filesystem;system
-- Found boost_headers 1.70.0 at /usr/lib64/cmake/boost_headers-1.70.0
-- Found boost_date_time 1.70.0 at /usr/lib64/cmake/boost_date_time-1.70.0
-- No suitable boost_date_time variant has been identified!
-- libboost_date_time.so.1.70.0 (shared, BUILD_SHARED_LIBS not ON, set Boost_USE_STATIC_LIBS=OFF to override)
CMake Error at /usr/lib64/cmake/Boost-1.70.0/BoostConfig.cmake:95 (find_package):
Found package configuration file:
/usr/lib64/cmake/boost_date_time-1.70.0/boost_date_time-config.cmake
but it set boost_date_time_FOUND to FALSE so package "boost_date_time" is
considered to be NOT FOUND. Reason given by package:
No suitable build variant has been found.
Call Stack (most recent call first):
/usr/lib64/cmake/Boost-1.70.0/BoostConfig.cmake:124 (boost_find_dependency)
/usr/share/cmake-3.14/Modules/FindBoost.cmake:266 (find_package)
CMakeLists.txt:533 (find_package)
-- Configuring incomplete, errors occurred!
See also "/tmp/SBo/gnucash-3.4/build/CMakeFiles/CMakeOutput.log".
Failures:
gnucash: gnucash.SlackBuild return non-zero
i believe you can solve this by adding "-DBoost_NO_BOOST_CMAKE=ON" in the SlackBuild as mentioned in the Slackware's current changelog
development/apache-ant199: New build under Slackware-current.
development/apache-ant199—Patch to create this SlackBuild under Slackware-current.
This apache-ant199 package can be installed alongside any newer apache-ant package made available as a SlackBuild. Apache Ant 1.9.9 is required to build, e.g., openjdk, which cannot be built with later Apache Ant versions.
Code:
diff --git a/development/apache-ant199/README b/development/apache-ant199/README
new file mode 100644
index 0000000000..2af9905161
--- /dev/null
+++ b/development/apache-ant199/README
@@ -0,0 +1,43 @@
+Apache Ant is a Java-based build tool - like make, but without make's
+wrinkles. :-)
+
+Ant is extended using Java classes. The configuration files are XML-based,
+calling out a target tree where tasks get executed. Each task is run by an
+object that implements a Task interface.
+
+apache-ant uses `javac` and friends to compile java projects.
+
+This apache-ant199 package can be installed alongside any newer apache-ant
+package made available as a SlackBuild.
+
+Still having apache-ant version 1.9.9 available can be helpful in cases
+when newer apache-ant versions throw Exceptions about an "unrecognized class
+file version" - e.g.:
+
+Exception in thread "main" java.lang.ClassFormatError: org.apache.tools.ant.laun
+ch.Launcher (unrecognized class file version)
+ at java.lang.VMClassLoader.defineClass(libgcj.so.16)
+ at java.lang.ClassLoader.defineClass(libgcj.so.16)
+ at java.security.SecureClassLoader.defineClass(libgcj.so.16)
+ at java.net.URLClassLoader.findClass(libgcj.so.16)
+ at java.lang.ClassLoader.loadClass(libgcj.so.16)
+ at java.lang.ClassLoader.loadClass(libgcj.so.16)
+ at gnu.java.lang.MainThread.run(libgcj.so.16)
+
+How to use this apache-ant199 build tool instead of whichever version was
+installed by the default apache-ant SlackBuild package?
+Simple:
+In your console or terminal, you 'source' the provided profile script,
+like this (a c-shell compatible script is available as well):
+
+ source /etc/profile.d/apache-ant199.sh
+
+The command 'source' is equivalent to the dot command ' . '.
+The profile script will (re-)define the common variables that are used
+by make and other programs to determine which Apache Ant binary to run:
+
+export ANT_HOME=/usr/share/ant199
+PATH=${ANT_HOME}/bin:${PATH}
+
+Nothing else needs to be done after sourcing the profile script.
+All you do next is run your apache-ant job as usual in that same console.
diff --git a/development/apache-ant199/apache-ant199.SlackBuild b/development/apache-ant199/apache-ant199.SlackBuild
new file mode 100644
index 0000000000..16c4a0005a
--- /dev/null
+++ b/development/apache-ant199/apache-ant199.SlackBuild
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+# Slackware build script for apache-ant
+
+# Copyright 2008, 2009, 2010 Vincent Batts, vbatts@hashbangbash.com, http://hashbangbash.com/
+# Copyright 2010, 2011 Vincent Batts, Vienna, VA, USA
+# Copyright 2012 Vincent Batts, Raleigh, NC, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Started by Dugan Chen (dugan[underscore]c[at]fastmail[dot]fm)
+# Taken over by Vincent Batts (vbatts@hashbangbash.com)
+
+PRGNAMPRIM=apache-ant
+VERSION=${VERSION:-1.9.9}
+PRGNAM=${PRGNAMPRIM}${VERSION//.}
+ARCH=noarch
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+TEAM=$(echo $PRGNAM | cut -d- -f1)
+PROJECT=$(echo $PRGNAM | cut -d- -f2)
+ANT_HOME=/usr/share/$PROJECT
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=${TMP}/package-${PRGNAM}
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf ${PKG}
+mkdir -p ${TMP} ${PKG}/usr/share/java ${PKG}/${ANT_HOME#/} ${OUTPUT} ${PKG}/usr/bin
+cd ${TMP}
+rm -rf ${PRGNAMPRIM}-${VERSION}
+tar xvf $CWD/${PRGNAMPRIM}-${VERSION}-bin.tar.bz2
+cd ${PRGNAMPRIM}-${VERSION}
+chown -R root:root .
+
+cp -a bin lib etc ${PKG}/${ANT_HOME#/}/
+rm -f ${PKG}/${ANT_HOME#/}/lib/x*jar
+
+mkdir -p ${PKG}/etc/profile.d/
+cat << EOF > ${PKG}/etc/profile.d/${PRGNAM}.csh
+#!/bin/csh
+setenv ANT_HOME ${ANT_HOME}
+setenv PATH \${ANT_HOME}/bin:\${PATH}
+EOF
+cat << EOF > ${PKG}/etc/profile.d/${PRGNAM}.sh
+#!/bin/sh
+export ANT_HOME=${ANT_HOME}
+PATH=\${ANT_HOME}/bin:\${PATH}
+EOF
+chmod 0644 ${PKG}/etc/profile.d/*
+
+mkdir -p ${PKG}/usr/doc/${PRGNAM}-${VERSION}
+cp -a INSTALL KEYS NOTICE README WHATSNEW manual/* ${PKG}/usr/doc/${PRGNAM}-${VERSION}
+cat ${CWD}/${PRGNAM}.SlackBuild > ${PKG}/usr/doc/${PRGNAM}-${VERSION}/${PRGNAM}.SlackBuild
+cat ${CWD}/README > ${PKG}/usr/doc/${PRGNAM}-${VERSION}/README.SBo
+
+mkdir -p ${PKG}/install
+cat ${CWD}/slack-desc.${PRGNAM} > ${PKG}/install/slack-desc
+
+cd ${PKG}
+/sbin/makepkg -l y -c n ${OUTPUT}/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}
diff --git a/development/apache-ant199/apache-ant199.info b/development/apache-ant199/apache-ant199.info
new file mode 100644
index 0000000000..956afa37d8
--- /dev/null
+++ b/development/apache-ant199/apache-ant199.info
@@ -0,0 +1,10 @@
+PRGNAM="apache-ant"
+VERSION="1.9.9"
+HOMEPAGE="http://ant.apache.org/"
+DOWNLOAD="https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.9-bin.tar.bz2"
+MD5SUM="565ffd791def7f22936311e9aa3f8058"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Vincent Batts"
+EMAIL="vbatts@hashbangbash.com"
diff --git a/development/apache-ant199/slack-desc.apache-ant199 b/development/apache-ant199/slack-desc.apache-ant199
new file mode 100644
index 0000000000..acd8110a8d
--- /dev/null
+++ b/development/apache-ant199/slack-desc.apache-ant199
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+apache-ant199: apache-ant199 (Co-installable Ant 1.9.9 package)
+apache-ant199:
+apache-ant199: Apache Ant is a Java-based build tool - like make but without
+apache-ant199: make's wrinkles.
+apache-ant199:
+apache-ant199: Ant is extended using Java classes. The configuration files are
+apache-ant199: XML-based, calling out a target tree where tasks get executed.
+apache-ant199: Each task is run by an object that implements a Task interface.
+apache-ant199:
+apache-ant199: Homepage: http://ant.apache.org/
+apache-ant199:
development/openjdk—Patch to fix the build under Slackware-current.
Change obsoleted header file <attr/xattr.h> to <sys/xattr.h>;
Skip the FreeType library version test, which wrongly fails;
Force use of ancient GCC version 5.5.0, for the Java compiler;
Force use of old Apache Ant version 1.9.9, to avoid Java Exceptions.
Code:
diff --git a/development/openjdk/README b/development/openjdk/README
index a293972c1b..5a4c9a6d6e 100644
--- a/development/openjdk/README
+++ b/development/openjdk/README
@@ -2,7 +2,7 @@ OpenJDK 7 is an open source implementation of version 7 of the
Java Development Kit, Standard Edition. It includes tools for developing,
testing, and running programs written in Java.
-apache-ant is a required dependency and you have to install it before
+apache-ant199 is a required dependency and you have to install it before
you build openjdk. However, you do not need to install Oracle's jdk,
since it's only a runtime dependency of apache-ant.
diff --git a/development/openjdk/openjdk.SlackBuild b/development/openjdk/openjdk.SlackBuild
old mode 100644
new mode 100755
index b3ee8adb15..2e46945466
--- a/development/openjdk/openjdk.SlackBuild
+++ b/development/openjdk/openjdk.SlackBuild
@@ -56,12 +56,25 @@ BOOT_JAVA=/usr/lib${LIBDIRSUFFIX}/jvm
set -e
+# Force use of ancient GCC version 5.5.0, to ensure availability of the GCC Java compiler.
+# Force use of old Apache Ant version 1.9.9, to avoid Java Exception
+# "java.lang.ClassFormatError: org.apache.tools.ant.launch.Launcher (unrecognized class file version)"
+. /etc/profile.d/gcc5.sh
+. /etc/profile.d/apache-ant199.sh
+
rm -rf $BUILD_DIR $PKG
mkdir -p $TMP $BUILD_DIR $PKG $OUTPUT
cd $BUILD_DIR
tar -xvf $CWD/${ICEDTEA}.tar.xz
+# Patch acinclude.m4 and run autoreconf.
+# (I could have simply patched the configure script instead of regenerating it, but I'm being pedantic. :-)
+( cd ${ICEDTEA} &&
+cat $CWD/patches/0001-icedtea-acinclude.m4-check-header-xattr.h.patch | patch -p1 --verbose &&
+autoreconf --verbose --verbose
+) || exit 1
+
mkdir icedtea-build
cd icedtea-build
@@ -78,10 +91,10 @@ JAVA_HOME=${BOOT_JAVA} PATH=${BOOT_JAVA}/bin:$PATH ../$ICEDTEA/configure \
$(
# cacerts is taken from this CentOS package:
#+ http://mirror.centos.org/centos/6/os/x86_64/Packages/ca-certificates-2015.2.4-65.0.1.el6_6.noarch.rpm
-# You can list its contents with this command (after you install this package:)
+# You can list its contents with this command (after you install this package):
#+ 'keytool -v -list -keystore ./cacerts -storepass changeit'
# It's old and some certificates inside have already expired but without it some java programs
-#+ may throw exceptions. It is meant as a dummy placehoder file.
+#+ may throw exceptions. It is meant as a dummy placeholder file.
) \
--with-openjdk-src-zip="$CWD/openjdk.tar.bz2" \
--with-corba-src-zip="$CWD/corba.tar.bz2" \
@@ -90,6 +103,15 @@ $(
--with-jdk-src-zip="$CWD/jdk.tar.bz2" \
--with-langtools-src-zip="$CWD/langtools.tar.bz2" \
--with-hotspot-src-zip="$CWD/hotspot.tar.bz2"
+
+# Run 'make' upto and including the point where the source archive files are extracted.
+JAVA_HOME=${BOOT_JAVA} PATH=${BOOT_JAVA}/bin:$PATH LOG=trace make stamps/extract.stamp
+
+# Patch the extracted source files.
+cat $CWD/patches/0002-jdk-skip-sanity-freetype-version-check.patch | patch -p1 --verbose || exit 1
+cat $CWD/patches/0003-jdk-include-xattr.h.patch | patch -p1 --verbose || exit 1
+
+# Run 'make' to completion.
JAVA_HOME=${BOOT_JAVA} PATH=${BOOT_JAVA}/bin:$PATH LOG=trace make
cd $PKG
diff --git a/development/openjdk/openjdk.info b/development/openjdk/openjdk.info
index d5769196cf..bc38f4e79a 100644
--- a/development/openjdk/openjdk.info
+++ b/development/openjdk/openjdk.info
@@ -19,6 +19,6 @@ MD5SUM="82c1aabc471ed16c090424298f94a92f \
f62b66f78c1832c3cd60f3a3d03fd715"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="apache-ant"
+REQUIRES="apache-ant199 gcc5"
MAINTAINER="Strahil Yordanov"
EMAIL="strahilski@yahoo.com"
diff --git a/development/openjdk/patches/0001-icedtea-acinclude.m4-check-header-xattr.h.patch b/development/openjdk/patches/0001-icedtea-acinclude.m4-check-header-xattr.h.patch
new file mode 100644
index 0000000000..e4bd23690c
--- /dev/null
+++ b/development/openjdk/patches/0001-icedtea-acinclude.m4-check-header-xattr.h.patch
@@ -0,0 +1,11 @@
+--- icedtea-2.6.16/acinclude.m4.orig 2019-01-01 21:09:39.127994868 +0100
++++ icedtea-2.6.16/acinclude.m4 2019-04-05 15:01:18.652156305 +0200
+@@ -2271,7 +2271,7 @@
+ dnl Check for syscalls
+ AC_CHECK_FUNCS([openat64 fstatat64 fgetxattr fsetxattr fremovexattr flistxattr unlinkat renameat futimesat fdopendir epoll_create epoll_ctl epoll_wait],,
+ [AC_MSG_ERROR([Could not find required syscalls; check config.log and use --disable-compile-against-syscalls if necessary.])])
+- AC_CHECK_HEADERS([sys/epoll.h attr/xattr.h],
++ AC_CHECK_HEADERS([sys/epoll.h sys/xattr.h],
+ , [AC_MSG_ERROR([Could not find required system headers; install the appropriate files from glibc-headers, libc6-dev and/or libattr-devel, libattr1-dev or use --disable-compile-against-syscalls if necessary.])])
+ ENABLE_SYSCALL_COMPILATION=true
+ fi
diff --git a/development/openjdk/patches/0002-jdk-skip-sanity-freetype-version-check.patch b/development/openjdk/patches/0002-jdk-skip-sanity-freetype-version-check.patch
new file mode 100644
index 0000000000..90e3a54abb
--- /dev/null
+++ b/development/openjdk/patches/0002-jdk-skip-sanity-freetype-version-check.patch
@@ -0,0 +1,23 @@
+--- icedtea-build/openjdk/jdk/make/common/shared/Sanity.gmk.orig 2018-10-22 07:32:13.000000000 +0200
++++ icedtea-build/openjdk/jdk/make/common/shared/Sanity.gmk 2019-04-07 15:58:11.487284813 +0200
+@@ -815,18 +815,8 @@
+
+ ifdef OPENJDK
+ ifndef CROSS_COMPILE_ARCH
+- # The freetypecheck Makefile prints out "Failed" if not good enough
+- $(TEMPDIR)/freetypeinfo: FRC
+- @$(prep-target)
+- @(($(CD) $(BUILDDIR)/tools/freetypecheck && $(MAKE)) || \
+- $(ECHO) "Failed to build freetypecheck." ) > $@
+-
+- sane-freetype: $(TEMPDIR)/freetypeinfo
+- @if [ "`$(CAT) $< | $(GREP) Fail`" != "" ]; then \
+- $(ECHO) "ERROR: FreeType version " $(REQUIRED_FREETYPE_VERSION) \
+- " or higher is required. \n" \
+- "`$(CAT) $<` \n" >> $(ERROR_FILE) ; \
+- fi
++ #do nothing (FreeType version 2.10 is higher than 2.2.1, but freetypecheck erroneously claims it isn't)
++ sane-freetype:
+ else
+ #do nothing (cross-compiling)
+ sane-freetype:
diff --git a/development/openjdk/patches/0003-jdk-include-xattr.h.patch b/development/openjdk/patches/0003-jdk-include-xattr.h.patch
new file mode 100644
index 0000000000..fdc5976f1e
--- /dev/null
+++ b/development/openjdk/patches/0003-jdk-include-xattr.h.patch
@@ -0,0 +1,11 @@
+--- icedtea-build/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c.orig 2019-04-08 10:21:33.641027750 +0200
++++ icedtea-build/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c 2019-04-08 10:22:05.028029010 +0200
+@@ -38,7 +38,7 @@
+
+ #ifdef COMPILE_AGAINST_SYSCALLS
+ #include <sys/types.h>
+-#include <attr/xattr.h>
++#include <sys/xattr.h>
+ #else
+ #include <syscalls_fp.h>
+ #endif
development/openjdk8—Patch to fix the build under Slackware-current.
Disable ccache, which the build enables by default, to prevent “internal compiler error: Segmentation fault” failures.
Code:
diff --git a/development/openjdk8/openjdk8.SlackBuild b/development/openjdk8/openjdk8.SlackBuild
old mode 100644
new mode 100755
index 2e957beee4..c23cfdccf4
--- a/development/openjdk8/openjdk8.SlackBuild
+++ b/development/openjdk8/openjdk8.SlackBuild
@@ -67,8 +67,13 @@ tar -xvf $CWD/${ICEDTEA}.tar.xz
mkdir icedtea-build
cd icedtea-build
-# Set JAVA_HOME in order to avoid conflicts with other already installed JVMs.
+# Set JAVA_HOME in order to avoid conflicts with other already installed JVMs.
+# Also, disable ccache, to avoid "internal compiler error: Segmentation fault".
+# NOTE: There's a typo in the $ICEDTEA/INSTALL document, in that it talks about
+# a '--disable-cache' option (that is, 'hyphen cache'), when the option
+# is actually named '--disable-ccache' (that is, 'hyphen see cache').
JAVA_HOME=${BOOT_JAVA} PATH=${BOOT_JAVA}/bin:$PATH ../$ICEDTEA/configure \
+ --disable-ccache \
--disable-docs \
--disable-downloading \
--with-jdk-home=${BOOT_JAVA} \
@@ -92,6 +97,18 @@ $(
--with-langtools-src-zip="$CWD/langtools.tar.xz" \
--with-nashorn-src-zip="$CWD/nashorn.tar.xz" \
--with-hotspot-src-zip="$CWD/hotspot.tar.xz"
+
+# Run 'make' upto and including the point where the source archive files are extracted.
+JAVA_HOME=${BOOT_JAVA} PATH=${BOOT_JAVA}/bin:$PATH LOG=trace make stamps/extract.stamp
+
+# Patch the extracted source files.
+# There really isn't anything to patch at this time, except for an entirely inconsequential typo
+# in the INSTALL document. (I could have ignored the silly little typo, but I'm being pedantic. :-)
+# (Plus, with the infrastructure in place now, it will be a little easier to add any further patches
+# that may be found necessary in the future.)
+cat $CWD/patches/0001-INSTALL-fix-ccache-typo.patch | patch --directory=../${ICEDTEA} -p1 --verbose
+
+# Run 'make' to completion.
JAVA_HOME=${BOOT_JAVA} PATH=${BOOT_JAVA}/bin:$PATH LOG=trace make
cd $PKG
diff --git a/development/openjdk8/patches/0001-INSTALL-fix-ccache-typo.patch b/development/openjdk8/patches/0001-INSTALL-fix-ccache-typo.patch
new file mode 100644
index 0000000000..10f0d84a0c
--- /dev/null
+++ b/development/openjdk8/patches/0001-INSTALL-fix-ccache-typo.patch
@@ -0,0 +1,11 @@
+--- icedtea-3.11.0/INSTALL.orig 2019-04-14 19:10:14.130186657 +0200
++++ icedtea-3.11.0/INSTALL 2019-04-14 19:10:43.375187831 +0200
+@@ -233,7 +233,7 @@
+ * --enable-non-nss-curves: Define curves beyond the three specified by NSS (NIST P-{256,384,521})
+ * --enable-improved-font-rendering: Use fontconfig for better font rendering
+ * --enable-headless: Build OpenJDK without graphical UI support
+-* --disable-cache: Don't use ccache to speed up recompilations (default is to use if available)
++* --disable-ccache: Don't use ccache to speed up recompilations (default is to use if available)
+ * --enable-native-debuginfo: Include debuginfo in native binaries.
+ * --enable-java-debuginfo: Include debuginfo in Java class files.
+ * --enable-split-debuginfo: Strip debuginfo from binaries and libraries
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.