LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 04-14-2019, 01:13 AM   #1771
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Original Poster
Rep: Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173Reputation: 4173

Quote:
Originally Posted by willysr View Post
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.

Ponce: those should be pulled for your repository
thanks Willy, will pull them ASAP!
 
Old 04-14-2019, 01:44 AM   #1772
giomat
Member
 
Registered: Jul 2017
Posts: 337

Rep: Reputation: 238Reputation: 238Reputation: 238
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.
 
Old 04-14-2019, 02:23 AM   #1773
giomat
Member
 
Registered: Jul 2017
Posts: 337

Rep: Reputation: 238Reputation: 238Reputation: 238
update: openmw builds fine adding a couple of includes, I've tried producing a patch

Code:
diff -aur openmw-openmw-0.41.0/apps/openmw/engine.hpp openmw-openmw-0.41.0-patched/apps/openmw/engine.hpp
--- openmw-openmw-0.41.0/apps/openmw/engine.hpp	2016-12-19 15:28:49.000000000 +0100
+++ openmw-openmw-0.41.0-patched/apps/openmw/engine.hpp	2019-04-14 09:00:57.961214281 +0200
@@ -1,6 +1,8 @@
 #ifndef ENGINE_H
 #define ENGINE_H
 
+#include <memory>
+
 #include <components/compiler/extensions.hpp>
 #include <components/files/collections.hpp>
 #include <components/translation/translation.hpp>
diff -aur openmw-openmw-0.41.0/components/myguiplatform/myguidatamanager.cpp openmw-openmw-0.41.0-patched/components/myguiplatform/myguidatamanager.cpp
--- openmw-openmw-0.41.0/components/myguiplatform/myguidatamanager.cpp	2016-12-19 15:28:49.000000000 +0100
+++ openmw-openmw-0.41.0-patched/components/myguiplatform/myguidatamanager.cpp	2019-04-14 08:51:19.657160866 +0200
@@ -6,6 +6,7 @@
 #include <boost/filesystem/fstream.hpp>
 
 #include <iostream>
+#include <memory>
 
 namespace osgMyGUI
 {
don't know if it's in the correct format, first time
 
Old 04-14-2019, 06:51 AM   #1774
stormbr
Member
 
Registered: Aug 2007
Location: Brazil
Distribution: Slackware 14.1 x86_64
Posts: 37

Rep: Reputation: 26
Why build openMW 0.41 if openMW 0.45 is the stable release?
 
1 members found this post helpful.
Old 04-14-2019, 07:34 AM   #1775
giomat
Member
 
Registered: Jul 2017
Posts: 337

Rep: Reputation: 238Reputation: 238Reputation: 238
oh my you're right! i was using the version in the slackbuild, perhaps with this new one there's not even the need to patch
 
Old 04-14-2019, 09:38 AM   #1776
orbea
Senior Member
 
Registered: Feb 2015
Distribution: Slackware64-current
Posts: 1,950

Rep: Reputation: Disabled
Quote:
Originally Posted by stormbr View Post
Why build openMW 0.41 if openMW 0.45 is the stable release?
In case anyone else is interested it can also be built from the git master and usually works fine that way.

https://notabug.org/orbea/SlackBuild...r/games/openmw
 
1 members found this post helpful.
Old 04-14-2019, 04:26 PM   #1777
drgibbon
Senior Member
 
Registered: Nov 2014
Distribution: Slackware64 15.0
Posts: 1,217

Rep: Reputation: 942Reputation: 942Reputation: 942Reputation: 942Reputation: 942Reputation: 942Reputation: 942Reputation: 942
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
 
Old 04-14-2019, 06:39 PM   #1778
Skaendo
Senior Member
 
Registered: Dec 2014
Location: West Texas, USA
Distribution: Slackware64-14.2
Posts: 1,445

Rep: Reputation: Disabled
Quote:
Originally Posted by giomat View Post
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'

Code:
--- a/Makefile
+++ b/Makefile
@@ -67,8 +67,8 @@
 
 $(UTILS):: libgif.a libutil.a
 
-libgif.so: $(OBJECTS) $(HEADERS)
-	$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS)
+libgif.so: $(OBJECTS) $(HEADERS) $(UOBJECTS)
+	$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) $(UOBJECTS)
 
 libgif.a: $(OBJECTS) $(HEADERS)
 	$(AR) rcs libgif.a $(OBJECTS)
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.

Here is where I found this: https://bugs.gentoo.org/show_bug.cgi?id=682198

Last edited by Skaendo; 04-14-2019 at 06:41 PM.
 
Old 04-14-2019, 07:37 PM   #1779
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,661

Rep: Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784
Quote:
Originally Posted by drgibbon View Post
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
 
Old 04-14-2019, 07:58 PM   #1780
Skaendo
Senior Member
 
Registered: Dec 2014
Location: West Texas, USA
Distribution: Slackware64-14.2
Posts: 1,445

Rep: Reputation: Disabled
Sorry, wrong thread.

Last edited by Skaendo; 04-14-2019 at 08:01 PM.
 
Old 04-14-2019, 10:02 PM   #1781
drgibbon
Senior Member
 
Registered: Nov 2014
Distribution: Slackware64 15.0
Posts: 1,217

Rep: Reputation: 942Reputation: 942Reputation: 942Reputation: 942Reputation: 942Reputation: 942Reputation: 942Reputation: 942
Quote:
Originally Posted by willysr View Post
i believe you can solve this by adding "-DBoost_NO_BOOST_CMAKE=ON" in the SlackBuild as mentioned in the Slackware's current changelog
This works, thanks!
 
Old 04-15-2019, 01:00 PM   #1782
luvr
Member
 
Registered: May 2005
Location: Boom - The Home Town of Tomorrowland, Belgium
Distribution: Slackware, Xubuntu
Posts: 459
Blog Entries: 2

Rep: Reputation: 194Reputation: 194
development/gcc5: Fix build.

development/gcc5—Patch to fix the build under Slackware-current.
  • Fix build with glibc 2.28, which lacks header file <sys/ustat.h>;
  • Cosmetic issues:
    • Fix the TAG value, to ensure it starts with an underscore (‘_’);
    • Insert a missing hash sign (‘#’) on a comment line, to keep the system from attempting to run a nonexistent ‘only’ command.
Code:
diff --git a/development/gcc5/gcc5.SlackBuild b/development/gcc5/gcc5.SlackBuild
index 7054b3184f..f9a03116c5 100644
--- a/development/gcc5/gcc5.SlackBuild
+++ b/development/gcc5/gcc5.SlackBuild
@@ -57,7 +57,7 @@ PRGNAM=gcc5
 VERSION=${VERSION:-5.5.0}
 MAJVER=$(echo ${VERSION} |cut -d. -f1)
 BUILD=${BUILD:-1}
-TAG=${TAG:-SBo}
+TAG=${TAG:-_SBo}
 
 # Automatically determine the architecture we're building on:
 if [ -z "$ARCH" ]; then
@@ -195,6 +195,9 @@ ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1)
   cat $CWD/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff | patch -p2 --verbose || exit 1
   cat $CWD/patches/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff | patch -p2 --verbose || exit 1
 
+  # Fix build with glibc 2.28, which no longer makes available header file <sys/ustat.h>
+  cat $CWD/patches/glibc2.28-ustat.diff | patch -p0 --verbose || exit 1
+
   # Fix perms/owners
   chown -R root:root .
   find . -perm 777 -exec chmod 755 {} \;
@@ -434,7 +437,7 @@ fi
 
 if [ ${MULTILIB} = "NO" ]; then
   # Make our 64bit gcc look for 32bit gcc binaries in ./32 subdirectory:
-    (only needed if gcc was compiled with disable-multilib)
+  # (only needed if gcc was compiled with disable-multilib)
   if [ "$ARCH" = "x86_64" ]; then
     sed -i 's#;.\(:../lib !m64 m32;\)$#;32\1#' \
       $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs
diff --git a/development/gcc5/patches/glibc2.28-ustat.diff b/development/gcc5/patches/glibc2.28-ustat.diff
new file mode 100644
index 0000000000..c7d71d0677
--- /dev/null
+++ b/development/gcc5/patches/glibc2.28-ustat.diff
@@ -0,0 +1,31 @@
+--- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc	2018/04/25 07:39:32	259630
++++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc	2018/05/24 20:07:25	260687
+@@ -138,7 +138,6 @@
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <sys/ustat.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -231,7 +230,19 @@
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+-  unsigned struct_ustat_sz = sizeof(struct ustat);
++  // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
++  // has been removed from glibc 2.28.
++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
++  || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
++  || defined(__x86_64__)
++#define SIZEOF_STRUCT_USTAT 32
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
++  || defined(__powerpc__) || defined(__s390__)
++#define SIZEOF_STRUCT_USTAT 20
++#else
++#error Unknown size of struct ustat
++#endif
++  unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
+   unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
+ #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
 
Old 04-15-2019, 01:14 PM   #1783
luvr
Member
 
Registered: May 2005
Location: Boom - The Home Town of Tomorrowland, Belgium
Distribution: Slackware, Xubuntu
Posts: 459
Blog Entries: 2

Rep: Reputation: 194Reputation: 194
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:
 
Old 04-15-2019, 01:25 PM   #1784
luvr
Member
 
Registered: May 2005
Location: Boom - The Home Town of Tomorrowland, Belgium
Distribution: Slackware, Xubuntu
Posts: 459
Blog Entries: 2

Rep: Reputation: 194Reputation: 194
development/openjdk: Fix build.

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
 
Old 04-15-2019, 01:51 PM   #1785
luvr
Member
 
Registered: May 2005
Location: Boom - The Home Town of Tomorrowland, Belgium
Distribution: Slackware, Xubuntu
Posts: 459
Blog Entries: 2

Rep: Reputation: 194Reputation: 194
development/openjdk8: Fix build.

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
 
  


Reply

Tags
current, sbo, sbopkg, slackrepo



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Error building gst1-plugins-good 1.4.1 from SBO l0rddarkf0rce Slackware 4 10-06-2014 05:58 PM
[SOLVED] Failure building nvidia-kernel Slackbuild from SBo sysfce2 Slackware 7 07-02-2011 01:10 AM
problems building fontforge from SBo gtludwig Slackware 7 05-12-2010 01:52 PM
Pls help me take my 1st step! verysoon Fedora - Installation 2 12-12-2005 07:49 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 01:26 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration