Page 2 of 3
Re: IMPORTANT: DO NOT UPGRADE
Posted: 05 Oct 2022 14:52
by Papasot
There seems to be a problem with Slackel 32-bit (Openbox, at least). After a fresh installation, whenever I try to upgrade the system it will install glibc 2.35, not 2.36. However all the other packages upgraded will require glibc 2.36 (even bash, so after reboot I can't even login anymore). I re-installed Slackel from scratch and manually upgraded glibc, glibc-i18n etc to 2.36 first, then I tried to upgrade the rest. Even then, slapt-get will "upgrade" glibc to 2.35 (and again, everything else requires 2.36). In my 64-bit system this doesn't happen.
djemos wrote:I had only a problem i do not know why.
running fakeroot slkbuild -X
the tar.gz file do not extract in src
it works if i become root with su
and run slkbuild -X
or as user sudo slkbuild -X
I did not had time to investigate this about fakeroot.
I have the same problem. fakeroot doesn't work, but sudo slkbuild -X works.
Re: IMPORTANT: DO NOT UPGRADE
Posted: 05 Oct 2022 16:04
by djemos
I removed glibc-2.35 packages from repos. I had forgot to do it for i486.
So glibc-2.36 will install now.
I cannot install glibc-2.36 or upgrade the system because some new packages need glibc-2.36. My laptop do not work with glibc-2.36.
To release in the future a new slackel openbox version i have to do it in vmware. Or to buy a new laptop which i cannot do it.'
Re: IMPORTANT: DO NOT UPGRADE
Posted: 06 Oct 2022 07:23
by Papasot
djemos wrote:I removed glibc-2.35 packages from repos. I had forgot to do it for i486.
So glibc-2.36 will install now.
This is what I suspected it was happening. I tried again, almost sure this time it will work. Fresh installation, I manually upgraded everything related to glibc, plus aaa_base (this time it says 2.36 will be installed). After that I rebooted and upgraded the rest (except kernel). Rebooted again, expecting everything to work but, to my surprise, the same situation:
Code: Select all
INIT: version 3.01 booting
/bin/sh: /lib/libc.so.6: version `GLIBC_2.36' not found (required by /bin.sh)
INIT: Entering runlevel: 3
/bin/sh: /lib/libc.so.6: version `GLIBC_2.36' not found (required by /bin.sh)
and I cannot login. The only change I did before upgrading was to set runlevel 3 in /etc/inittab.
I cannot think of any reason this didn't work... are the glibc packages correct for 32-bit?
djemos wrote:My laptop do not work with glibc-2.36.
To release in the future a new slackel openbox version i have to do it in vmware. Or to buy a new laptop which i cannot do it.'
I have the same problem... My netbook which ran Slackel 32-bit since 2015 is now useless because of glibc 2.36, so I cannot have a real Slackel 32-bit installation anymore and forced to use a virtual machine for 32-bit package building. The problem I mentioned just before is in a VM. Like you, I cannot afford buying a new laptop.
Re: IMPORTANT: DO NOT UPGRADE
Posted: 06 Oct 2022 18:09
by djemos
My fault, i had to also remove aaa_glibc-from repos, sorry.
try again sudo slapt-get -u
and upgrade aaa_glibc-solibs also.
Re: IMPORTANT: DO NOT UPGRADE
Posted: 07 Oct 2022 13:14
by Papasot
djemos wrote:My fault, i had to also remove aaa_glibc-from repos, sorry.
try again sudo slapt-get -u
and upgrade aaa_glibc-solibs also.
Ok, everything works now. One thing I noticed is, in a fresh installation (upgraded just now), fakeroot slkbuild -X actually works.
However, as we already know, it does not work in an older installation which was upgraded over time. In this case only sudo slkbuild -X (or just slkbuild -X as root) works. Since it does work in a fresh installation, I suspected a configuration file causes the problem, but Dotnew shows nothing other than the usual passwd, inittab, group, and shadow.
Re: IMPORTANT: DO NOT UPGRADE
Posted: 07 Oct 2022 15:21
by djemos
I have examine the code of slackbuild when execute this code in which it tries to find the type of file .tar.gz, tar.bz2 etc cannot find the type of file so did not extracted in src
Code: Select all
if [ -z "$NOEXTRACT" ]; then
cat <<EOEXTRACTSOURCES >>$startdir/build-$pkgname.sh
extract_source() {
cd \$startdir/src
if [[ "\$(ls \$startdir/src)" ]]; then
for FILES in \${source[@]}; do
FILES="\$(basename \$FILES | awk -F= '{print \$NF}')"
file_type=\$(file -biLz "\$FILES")
unset cmd
case "\$file_type" in
*application/x-tar*)
cmd="tar -xf" ;;
*application/x-zip*)
cmd="unzip" ;;
*application/zip*)
cmd="unzip" ;;
*application/x-gzip*)
cmd="gunzip -d -f" ;;
*application/x-bzip*)
cmd="bunzip2 -f" ;;
*application/x-xz*)
cmd="xz -d -f" ;;
*application/x-lzma*)
cmd="lzma -d -f" ;;
*application/x-rar*)
cmd="unrar x" ;;
esac
if [ "\$cmd" != "" ]; then
echo "\$cmd \$FILES"
\$cmd \$FILES
fi
done
elif [ ! "\$source" ]; then
echo -n "" # lame fix
else
echo "no files in the src directory \$startdir/src"
exit 2
fi
}
file_type=\$(file -biLz "\$FILES") do not return something when run with fakeroot
While when run it with sudo, file_type has a value.
It is a package upgraded? Or what else. I cannot find it.
Download any file .txz or tar.gz and run
You will get this output in a working fakeroot
Code: Select all
application/x-tar; charset=binary compressed-encoding=application/x-xz; charset=binary
While if fakeroot is not working it returns an error.
But in my case doing a clean install of slackel 64 in vmware and upgrading the fakeroot do not work.
Re: IMPORTANT: DO NOT UPGRADE
Posted: 07 Oct 2022 18:28
by Papasot
It turns out fakeroot actually works in 32-bit but not in 64-bit. And it might be because in 32-bit we have fakeroot 1.26-i586-1.dj, which was not changed recently, and it is the same as before glibc 2.36. On the other hand, in 64-bit we have fakeroot 1.26-x86_64-2.dj. Maybe recompiling fakeroot with the same settings as before will help?
Re: IMPORTANT: DO NOT UPGRADE
Posted: 07 Oct 2022 20:23
by djemos
SLKBUILD is the same. You can check rebuild fakeroot using slkbuild and reinstall in 32bit. And see if it will work.
It has to be something else in x86_64.
Re: IMPORTANT: DO NOT UPGRADE
Posted: 07 Oct 2022 21:21
by djemos
This information you gave me about fakeroot working in 32bit, helpd me to solve the problem.
I have investigate about file package which is the package to find file type. But i could not imagine since i do not use 32bit slackel that In 32bit i use the file-5.41 version while in 64bit i use the new file-5.45 version from slackware current which is not working with fakeroot because of glibc-2.36 ? Maybe.
So i upload in 64bit repos as well the file-5.41-x86_64-1.txz version from slackware-15 and now fakeroot is working.
do a
sudo spkg -d file
sudo slapt-get -u
sudo slapt-get -i file
and check with
fakeroot slkbuild -X
Thanks.
Re: IMPORTANT: DO NOT UPGRADE
Posted: 07 Oct 2022 22:09
by Papasot
djemos wrote:
So i upload in 64bit repos as well the file-5.41-x86_64-1.txz version from slackware-15 and now fakeroot is working.
do a
sudo spkg -d file
sudo slapt-get -u
sudo slapt-get -i file
and check with
fakeroot slkbuild -X
Thanks.
Indeed, it does work now. This "downgraded"
file from version 5.43 (not 5.45) to 5.41 in 64-bit. I didn't expect
file itself was the problem. I noticed there was a difference in versions but I didn't even mentioned it before, because file 5.43 did work, for example with version 5.43 we get:
Code: Select all
pap[worker]$ file worker-4.11.0.tar.bz2
worker-4.11.0.tar.bz2: bzip2 compressed data, block size = 900k
which is correct, and actually the exact same output as with
file version 5.41. So fakeroot calls
file to recognize the compression, and it does succeed no matter which version of
file is used. Weird... but it worked.