In response to…
Quote:
Originally Posted by ponce
I have no idea if something had broken in your installation with usage...
you can try installing directly current using an iso
http://bear.alienbase.nl/mirrors/sla...4-current-iso/
if you do a full installation and try to build gcc5 from this fork of SBo as the first action after rebooting post-installation the environment should be as clean as it can get, I suppose.
|
… I installed Slackware-current from the
slackware64-current-install-dvd.iso that I downloaded together with the
‘LATEST_ADDITION_TO_CURRENT’ file with the following contents:
Code:
Mon Apr 15 19:46:20 UTC 2019
I copied the ISO file to a USB stick, from which I subsequently rebooted my laptop (which runs in Legacy BIOS mode, and has a single 1-TB disk that has ten GPT partitions). I selected
‘/dev/sda5’ as the system partition, selected no other partitions, no swap,
all package series,
terse mode, no network setup, no LILO
(my master boot loader is the GRUB copy that was installed by Debian). After installation, I let Debian update the GRUB configuration, so I could subsequently boot this newly installed Slackware-current system.
After I booted the new Slackware-current system, I copied the
‘gcc5’ SlackBuild
(that I had downloaded as part of a cloning operation of ‘https://github.com/Ponce/slackbuilds.git’) to the
‘/root’ directory (i.e., the home location of the
‘root’ user), and I added the
‘antlr-runtime-3.4.jar’, ‘ecj-4.9.jar’, ‘fastjar-0.97.tar.xz’, and
‘gcc-5.5.0.tar.xz’ archive files that I had downloaded from
‘http://www.slackware.com/~alien/slackbuilds/gcc5/build/’. Just to be sure, I verified the checksums of these archive files, using a silly little code snippet that I had once written as an exercise on the
sed command:
Code:
#!/bin/bash
sed --silent --regexp-extended --expression='
\~^(DOWNLOAD="|[[:space:]]*)http~ {
s~^(DOWNLOAD="|[[:space:]]*)https?://[^[:space:]"]+/([^[:space:]"/]+).*$~\2~
H
}
\~^(MD5SUM="|[[:space:]]*)[[:xdigit:]]{32}[[:space:]"\]*$~ {
s~^(MD5SUM="|[[:space:]]*)([[:xdigit:]]{32}).*$~\2 *~
G
s~\n+~~
P
s~^[[:xdigit:]]{32} \*[^[:space:]]+\n+~~
h
}
' gcc5.info | md5sum -c
Three of the four checksums matched, but the fourth file,
‘fastjar-0.97.tar.gz’, was missing; apparently, the Alien SlackBuild includes
‘fastjar-0.97.tar.xz’ instead. I therefore, downloaded
‘fastjar-0.97.tar.gz’ from the location given in the
‘gcc5.info’ file.
(Actually, as it turns out, the contents of the ‘xz’ and the ‘gz’ copies are completely identical, and the SlackBuild can handle either of them.) That made the above code snippet happy:
Code:
gcc-5.5.0.tar.xz: OK
antlr-runtime-3.4.jar: OK
ecj-4.9.jar: OK
fastjar-0.97.tar.gz: OK
Thus, it was time to start the SlackBuild:
Code:
# ./gcc5.SlackBuild 2>&1 | tee ~/gcc5.build.log
The first line of output was, as expected:
Code:
Building these compilers: c,c++,java
and the output ends, as normal, with:
Code:
WARNING: zero length file usr/doc/gcc-5.5.0/gcc/DEV-PHASE
Slackware package /tmp/gcc5-5.5.0-x86_64-1SBo.tgz created.
HOWEVER, the resulting package did
not include the Java-related stuff. If I list the contents of the resulting package, then only 1398 lines of output are produced (just as with my initial attempt at building the package):
Code:
# tar -tvf /tmp/gcc5-5.5.0-x86_64-1SBo.tgz | wc --lines
1398
To be completely honest, I would have been surprised had it fared any better than my initial build attempt, because it attempts to compile source file
‘sanitizer_platform_limits_posix.cc’, which attempts to include header file
‘sys/ustat.h’—which does not exist:
Code:
152586 libtool: compile: /tmp/SBo/gcc.build.lnx/./gcc/xgcc -shared-libgcc -B/tmp/SBo/gcc.build.lnx/./gcc -nostdinc++ -L/tmp/SBo/gcc.build.lnx/x86_64-slackware-linux/libstdc++-v3/src -L/tmp/SBo/gcc.build.lnx/x86_64-slackware-linux/libstdc++-v3/src/.libs -L/tmp/SBo/gcc.build.lnx/x86_64-slackware-linux/libstdc++-v3/libsupc++/.libs -B/usr/x86_64-slackware-linux/bin/ -B/usr/x86_64-slackware-linux/lib/ -isystem /usr/x86_64-slackware-linux/include -isystem /usr/x86_64-slackware-linux/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_RPC_XDR_H=1 -DHAVE_TIRPC_RPC_XDR_H=1 -I. -I../../../../gcc-5.5.0/libsanitizer/sanitizer_common -I.. -I ../../../../gcc-5.5.0/libsanitizer/include -isystem ../../../../gcc-5.5.0/libsanitizer/include/system -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/x86_64-slackware-linux -I../../../../gcc-5.5.0/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11 -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I ../../../../gcc-5.5.0/libsanitizer/../libbacktrace -I ../libbacktrace -I ../../../../gcc-5.5.0/libsanitizer/../include -include ../../../../gcc-5.5.0/libsanitizer/libbacktrace/backtrace-rename.h -g -O2 -fPIC -D_GNU_SOURCE -MT sanitizer_platform_limits_posix.lo -MD -MP -MF .deps/sanitizer_platform_limits_posix.Tpo -c ../../../../gcc-5.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -fPIC -DPIC -o .libs/sanitizer_platform_limits_posix.o
152587 ../../../../gcc-5.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:141:23: fatal error: sys/ustat.h: No such file or directory
152588 compilation terminated.
152589 make[4]: *** [Makefile:449: sanitizer_platform_limits_posix.lo] Error 1
152590 make[4]: Leaving directory '/tmp/SBo/gcc.build.lnx/x86_64-slackware-linux/libsanitizer/sanitizer_common'
152591 make[3]: *** [Makefile:437: all-recursive] Error 1
152592 make[3]: Leaving directory '/tmp/SBo/gcc.build.lnx/x86_64-slackware-linux/libsanitizer'
152593 make[2]: *** [Makefile:307: all] Error 2
152594 make[2]: Leaving directory '/tmp/SBo/gcc.build.lnx/x86_64-slackware-linux/libsanitizer'
152595 make[1]: *** [Makefile:13534: all-target-libsanitizer] Error 2
152596 make[1]: Leaving directory '/tmp/SBo/gcc.build.lnx'
152597 make: *** [Makefile:21415: bootstrap] Error 2
In my humble opinion, at least
for me, this issue cannot ever get resolved without an appropriate patch.
(Fortunately, there is a patch available, because I wouldn’t otherwise know where to even begin to look for a solution to this error…)
Anyhow, I’ll leave this
“clean” Slackware-current system installed for now, so if anyone has any kind of sensible suggestion about how I might ever be able to successfully build this package
without the patch, please shoot!