All --
Thanks to input from Alien Bob 'the last time', I was able to build glibc-2.23_multilib from the Official Slackware64 Source and Alien Bob's glibc multilib source Directory.
What I did is this:
Code:
# Make a working directory:
mkdir /tmp/glibc-work
# copy the patched Slackware64 source from my local repo into the working directory
cd /home/dld/slackware/slackware64-14.2/patches/source/glibc # my local Slack repo
cp -av * /tmp/glibc-work/
# overlay Alien Bob's glibc source into the working directory
cd /home/dld/multilib/source/14.2/glibc # my local multilib source
cp -av * /tmp/glibc-work/
# get into the working directory
cd /tmp/glibc-work/
# prepare to patch the glibc-multilib.SlackBuild ( bump BUILD= and add a patch )
# back up Alien Bob's glibc-multilib.SlackBuild
cp -p glibc-multilib.SlackBuild glibc-multilib.SlackBuild-BUILD-2alien
# patch glibc-multilib.SlackBuild ( the patch file is below my signature )
patch glibc-multilib.SlackBuild glibc-multilib.SlackBuild-BUILD-2-to-3.patch
# execute the glibc-multilib.SlackBuild via a logger-wrapper script
./do.glibc-multilib.SlackBuild # the script is below
# check results and timing
# head -1 glibc-multilib.SlackBuild-Tag-3alien.log && tail -1 glibc-multilib.SlackBuild-Tag-3alien.log
glibc-multilib.SlackBuild startup at Thu Jul 6 10:12:33 CDT 2017
glibc-multilib.SlackBuild complete at Thu Jul 6 10:26:42 CDT 2017 ... RetCode=0
These are the Packages:
Code:
-rw-r--r-- 1 root root 12837212 Jul 6 10:26 glibc-2.23_multilib-x86_64-3alien.txz
-rw-r--r-- 1 root root 6484968 Jul 6 10:25 glibc-debug-2.23_multilib-x86_64-3alien.txz
-rw-r--r-- 1 root root 11138088 Jul 6 10:26 glibc-i18n-2.23_multilib-x86_64-3alien.txz
-rw-r--r-- 1 root root 2342204 Jul 6 10:25 glibc-profile-2.23_multilib-x86_64-3alien.txz
-rw-r--r-- 1 root root 4140112 Jul 6 10:26 glibc-solibs-2.23_multilib-x86_64-3alien.txz
Seems to run fine and I am able to build 32-bit programs on my Slackware64 14.2 Box as expected.
HTH.
-- kjh
This is the patch file I applied to bump BUILD= and add the new glibc.6a824767.dont.assert.on.older.intel.cpus.diff.gz.
Copy the patch file into the working directory ( example: /tmp/glibc-work/ )
# cat glibc-multilib.SlackBuild-BUILD-2-to-3.patch
Code:
--- glibc-multilib.SlackBuild-BUILD-2alien 2017-07-01 09:21:08.000000000 -0500
+++ glibc-multilib.SlackBuild 2017-07-06 09:19:30.579369927 -0500
@@ -30,7 +30,7 @@
VERSION=${VERSION:-2.23}
CHECKOUT=${CHECKOUT:-""}
-BUILD=${BUILD:-2alien}
+BUILD=${BUILD:-3alien}
# I was considering disabling NSCD, but MoZes talked me out of it. :)
#DISABLE_NSCD=" --disable-nscd "
@@ -175,6 +175,11 @@
zcat $CWD/glibc.CVE-2017-1000366.3c7cd212.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.adc7e06f.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.c69d4a0f.diff.gz | patch -p1 --verbose || exit 1
+ #
+ # Don't assert on older Intel CPUs.
+ # This fixes an ldconfig failure on Pentium MMX.
+ zcat $CWD/glibc.6a824767.dont.assert.on.older.intel.cpus.diff.gz | patch -p1 --verbose || exit 1
+ #
if [ $BOOTSTRP -eq 1 ] ; then
# Multilib - Disable check for forced unwind (Patch from eglibc) since we
# do not have a multilib glibc yet to link to;
And this is the SlackBuild wrapper-logger script. Copy this one into the working directory as well ( example: /tmp/glibc-work/ )
# cat do.glibc-multilib.SlackBuild
Code:
#!/bin/sh
DoName="glibc-multilib.SlackBuild"
export BUILD="3alien" # editme !!!
#
# glibc-multilib.SlackBuild creates TMP in / by default.
#
# I've got plenty of disk space in /tmp/ so I override TMP here
# because I am not at all fond of writing ANYTHING directly into /
#
# !!! YMMV !!!
#
export TMP=/tmp/glibc-tmp-$(mcookie) # kjh is not fond of writing into /
LogNam="$DoName-Tag-$BUILD.log"
echo "$DoName startup at `date`" |tee $LogNam
echo "" |tee -a $LogNam
echo "echo building glibc in $TMP" |tee -a $LogNam
echo "" |tee -a $LogNam
./$DoName 2>&1 |tee -a $LogNam
RetCode=${PIPESTATUS[0]}
if [ "$RetCode" != "0" ]
then
echo "" |tee -a $LogNam
echo "SlackBuild FAILED ! RetCode=$RetCode" |tee -a $LogNam
echo "$DoName FAILED at `date` ... RetCode=$RetCode" |tee -a $LogNam
exit $RetCode
fi
[ ! -d "../pkg" ] && mkdir -p ../pkg
echo "" |tee -a $LogNam
mv -v $TMP/glibc-*.txz ../pkg/ 2>&1 |tee -a $LogNam
echo "" |tee -a $LogNam
echo "$DoName complete at `date` ... RetCode=$RetCode" |tee -a $LogNam
exit 0