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.
Trying to install google-go-lang, I am getting this, maybe temporal or does it need a new URL to Download?. I make sure I have internet and access to https://dl.google.com, but no go and "bootstrap.." file present (checked via browser)
Now I am trying to install system/bat, a cat "clone"
No dependencies found.
Code:
echo | sbopkg -s bat | grep REQUIRES
REQUIRES=""
Before compilation starts I open a new root shell with "su -" before trying to build bat.
I got this compilation error.
Code:
Compiling syntect v4.5.0
Compiling git2 v0.13.19
error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:74:15
|
74 | match (self, other) {
| ^^^^^^^^^^^^^
|
note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 73:26...
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:73:26
|
73 | fn eq(&self, other: &AttrValue<'_>) -> bool {
| ^^^^^^^^^^^^^
note: ...so that the types are compatible
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:74:15
|
74 | match (self, other) {
| ^^^^^^^^^^^^^
= note: expected `(&AttrValue<'_>, &AttrValue<'_>)`
found `(&AttrValue<'_>, &AttrValue<'_>)`
note: but, the lifetime must be valid for the lifetime `'_` as defined on the impl at 72:30...
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:72:30
|
72 | impl PartialEq for AttrValue<'_> {
| ^^
note: ...so that the types are compatible
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:79:16
|
79 | | (Self::Bytes(bytes), AttrValue::String(string)) => string.as_bytes() == *bytes,
| ^^^^^^^^^^^^^^^^^^
= note: expected `AttrValue<'_>`
found `AttrValue<'_>`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0495`.
error: could not compile `git2`
Tested in a normal shell (no su -)
I Got This compiation error:
Code:
go build cmd/compile/internal/ssa: /tmp/SBo/package-google-go-lang/usr/lib64/go1.16.4/go/pkg/tool/linux_amd64/compile: signal: killed
go tool dist: FAILED: /tmp/SBo/package-google-go-lang/usr/lib64/go1.16.4/go/pkg/tool/linux_amd64/go_bootstrap install -gcflags=all= -ldflags=all= -a -i cmd/asm cmd/cgo cmd/compile cmd/link: exit status 1
Thanks in advance for your traditional help and support.
Now I am trying to install system/bat, a cat "clone"
No dependencies found.
Code:
echo | sbopkg -s bat | grep REQUIRES
REQUIRES=""
Before compilation starts I open a new root shell with "su -" before trying to build bat.
I got this compilation error.
Code:
Compiling syntect v4.5.0
Compiling git2 v0.13.19
error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:74:15
|
74 | match (self, other) {
| ^^^^^^^^^^^^^
|
note: first, the lifetime cannot outlive the anonymous lifetime defined on the method body at 73:26...
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:73:26
|
73 | fn eq(&self, other: &AttrValue<'_>) -> bool {
| ^^^^^^^^^^^^^
note: ...so that the types are compatible
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:74:15
|
74 | match (self, other) {
| ^^^^^^^^^^^^^
= note: expected `(&AttrValue<'_>, &AttrValue<'_>)`
found `(&AttrValue<'_>, &AttrValue<'_>)`
note: but, the lifetime must be valid for the lifetime `'_` as defined on the impl at 72:30...
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:72:30
|
72 | impl PartialEq for AttrValue<'_> {
| ^^
note: ...so that the types are compatible
--> /tmp/SBo/bat-0.18.1/vendor/git2-0.13.19/src/attr.rs:79:16
|
79 | | (Self::Bytes(bytes), AttrValue::String(string)) => string.as_bytes() == *bytes,
| ^^^^^^^^^^^^^^^^^^
= note: expected `AttrValue<'_>`
found `AttrValue<'_>`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0495`.
error: could not compile `git2`
Tested in a normal shell (no su -)
I Got This compiation error:
Code:
go build cmd/compile/internal/ssa: /tmp/SBo/package-google-go-lang/usr/lib64/go1.16.4/go/pkg/tool/linux_amd64/compile: signal: killed
go tool dist: FAILED: /tmp/SBo/package-google-go-lang/usr/lib64/go1.16.4/go/pkg/tool/linux_amd64/go_bootstrap install -gcflags=all= -ldflags=all= -a -i cmd/asm cmd/cgo cmd/compile cmd/link: exit status 1
Thanks in advance for your traditional help and support.
Best Regards,
Francisco.
hi Francisco,
for this one you better get in touch with the maintainer (I'm pretty sure he uses current and updated the script recently).
Thanks, it now builds here on both 32- and 64-bit (including multilib).
Also, here is another patch you might want to add to fix aarch64 builds:
file: glibc2.31-aarch64.diff:
Code:
This patch is a consolidation of two patches from Jakub Jelinek
<jakub@redhat.com>
to fix "new glibc breaks arm bootstrap due to libsanitizer"
diff -Naur gcc-5.5.0.orig/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc gcc-5.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
--- gcc-5.5.0.orig/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2017-02-17 14:23:28.000000000 -0500
+++ gcc-5.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2021-08-21 15:16:01.119402101 -0400
@@ -1061,8 +1061,9 @@
#ifndef __GLIBC_PREREQ
#define __GLIBC_PREREQ(x, y) 0
#endif
-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
+ on many architectures. */
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
#endif
diff -Naur gcc-5.5.0.orig/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h gcc-5.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
--- gcc-5.5.0.orig/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2017-06-29 14:57:47.000000000 -0400
+++ gcc-5.5.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 2021-08-21 15:15:49.841298910 -0400
@@ -186,14 +186,8 @@
unsigned long __unused1;
unsigned long __unused2;
#elif defined(__sparc__)
-# if defined(__arch64__)
unsigned mode;
- unsigned short __pad1;
-# else
- unsigned short __pad1;
- unsigned short mode;
unsigned short __pad2;
-# endif
unsigned short __seq;
unsigned long long __unused1;
unsigned long long __unused2;
Thanks again for all your help.
Last edited by Lenard Spencer; 08-22-2021 at 12:21 AM.
Tested RC1 updated as of "Sat Aug 21 04:38:34 UTC 2021"
menulibre-2.2.1 fails with
Code:
/tmp/SBo/menulibre-2.2.1/menulibre/MenulibreApplication.py:29: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '4.0') before import to ensure that the right version gets loaded.
from gi.repository import Gio, GLib, GObject, Gtk, Gdk, GdkPixbuf
Traceback (most recent call last):
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 349, in __external_mod
mod = __import__(module)
ModuleNotFoundError: No module named 'util'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/SBo/menulibre-2.2.1/setup.py", line 210, in <module>
DistUtilsExtra.auto.setup(
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 98, in setup
__requires(attrs, src_all)
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 471, in __requires
__add_imports(imports, s, attrs)
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 412, in __add_imports
elif node.module and __external_mod(cur_module, node.module, attrs):
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 354, in __external_mod
mod = __import__(cur_module + '.' + module)
File "/tmp/SBo/menulibre-2.2.1/menulibre/__init__.py", line 23, in <module>
from menulibre import MenulibreApplication
File "/tmp/SBo/menulibre-2.2.1/menulibre/MenulibreApplication.py", line 32, in <module>
from . import MenulibreTreeview, MenulibreHistory, Dialogs
File "/tmp/SBo/menulibre-2.2.1/menulibre/MenulibreTreeview.py", line 26, in <module>
from . import MenuEditor, MenulibreXdg, XmlMenuElementTree, util
File "/tmp/SBo/menulibre-2.2.1/menulibre/MenuEditor.py", line 42, in <module>
icon_theme = Gtk.IconTheme.get_default()
AttributeError: type object 'IconTheme' has no attribute 'get_default'
I thought at first this is due to psutils-5.6.7 no longer installs python3 bindings since
Code:
# Install python3 bindings for psutil.
if $(python3 -c 'import sys' 2>/dev/null); then
python3 setup.py install --root=$PKG
fi
The test fails. removing the if statement builds python3 bindings but menulibre still fails to build with the same error. All .info deps are installed and versions from git today.
Last edited by kingbeowulf; 08-22-2021 at 07:13 PM.
Reason: correction
Tested RC1 updated as of "Sat Aug 21 04:38:34 UTC 2021"
menulibre-2.2.1 fails with
Code:
/tmp/SBo/menulibre-2.2.1/menulibre/MenulibreApplication.py:29: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '4.0') before import to ensure that the right version gets loaded.
from gi.repository import Gio, GLib, GObject, Gtk, Gdk, GdkPixbuf
Traceback (most recent call last):
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 349, in __external_mod
mod = __import__(module)
ModuleNotFoundError: No module named 'util'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/SBo/menulibre-2.2.1/setup.py", line 210, in <module>
DistUtilsExtra.auto.setup(
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 98, in setup
__requires(attrs, src_all)
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 471, in __requires
__add_imports(imports, s, attrs)
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 412, in __add_imports
elif node.module and __external_mod(cur_module, node.module, attrs):
File "/usr/lib64/python3.9/site-packages/DistUtilsExtra/auto.py", line 354, in __external_mod
mod = __import__(cur_module + '.' + module)
File "/tmp/SBo/menulibre-2.2.1/menulibre/__init__.py", line 23, in <module>
from menulibre import MenulibreApplication
File "/tmp/SBo/menulibre-2.2.1/menulibre/MenulibreApplication.py", line 32, in <module>
from . import MenulibreTreeview, MenulibreHistory, Dialogs
File "/tmp/SBo/menulibre-2.2.1/menulibre/MenulibreTreeview.py", line 26, in <module>
from . import MenuEditor, MenulibreXdg, XmlMenuElementTree, util
File "/tmp/SBo/menulibre-2.2.1/menulibre/MenuEditor.py", line 42, in <module>
icon_theme = Gtk.IconTheme.get_default()
AttributeError: type object 'IconTheme' has no attribute 'get_default'
I thought at first this is due to psutils-5.6.7 no longer installs python3 bindings since
Code:
# Install python3 bindings for psutil.
if $(python3 -c 'import sys' 2>/dev/null); then
python3 setup.py install --root=$PKG
fi
The test fails. removing the if statement builds python3 bindings but menulibre still fails to build with the same error. All .info deps are installed and versions from git today.
Hi Edward,
I confess to not having tried it myself (I'm visiting the mother-in-law), but does this help?
Here is a just information about the latest version of MEGAsync (4.5.3.0_Linux).
I know that the MEGAsync version of SBo is "4.3.7.0", but since I was using a version 4.4.0.0 personally, I tried to upgrade to the latest version 4.5.3.0 on slackware64-current (15.0.RC1).
According to my trial experience, the result is as follows.
1. The original source 4.5.3.0_Linux was not able to be compiled on slackware64 15.0.RC1 (gcc-11 and ffmpeg-4.4).
Error log is similar to issue #578 https://github.com/meganz/MEGAsync/issues/578
2. Next, I applied patches that I found at Gentoo portage. Gentoo patch
Result)
Package was compiled successfully on slackware64-15.0.RC1 (gcc-11 and ffmpeg-4.4) and is working fine so far.
src : MEGAsync-4.5.3.0_Linux.tar.gz sdk-3.8.2c.tar.gz
diff between MEGAsync.SlackBuild and MEGAsync.SlackBuild.new is as follows
Here is a just information about the latest version of MEGAsync (4.5.3.0_Linux).
I know that the MEGAsync version of SBo is "4.3.7.0", but since I was using a version 4.4.0.0 personally, I tried to upgrade to the latest version 4.5.3.0 on slackware64-current (15.0.RC1).
According to my trial experience, the result is as follows.
1. The original source 4.5.3.0_Linux was not able to be compiled on slackware64 15.0.RC1 (gcc-11 and ffmpeg-4.4).
Error log is similar to issue #578 https://github.com/meganz/MEGAsync/issues/578
2. Next, I applied patches that I found at Gentoo portage. Gentoo patch
Result)
Package was compiled successfully on slackware64-15.0.RC1 (gcc-11 and ffmpeg-4.4) and is working fine so far.
src : MEGAsync-4.5.3.0_Linux.tar.gz sdk-3.8.2c.tar.gz
diff between MEGAsync.SlackBuild and MEGAsync.SlackBuild.new is as follows
Just a heads up for SBo mods (or anyone else who's interested.)
I've recently volunteered to take over these two (driver and kernel) unmaintained SlackBuilds. With one slight tweak to account for a kernel change back-ported to 4.4 kernels (beginning with release 4.4.168,) these scripts continue to work well for me on 14.2.
In anticipating the release of 15.0, I've been working on getting them working on current. The "driver" SlackBuild needed just a couple of minor tweaks, but the one for the kernel module was a whole 'nother story...
I'm pleased to report that I did indeed (eventually) get it to compile. It took quite a chain of patches--some gleaned from github, others hacked out myself. (Perhaps this task would have been easier had I been keeping up on kernel developments down through the years... Jumping straight from kernel 4.4 to 5.13 was quite the leap, after all.)
Now that I've got both the driver and kernel module compiled, I'll begin testing them on real hardware.
At any rate, what will remain after testing is to clean up and consolidate all the fixes. (Several of my temporary hacks to get it working on -current broke the build on 14.2) Once that has been accomplished, I'll report back here, and, hopefully, they'll pass SBo muster!
Well, in reference to my above post, I've learned a very valuable lesson these last couple of days: check the binary blob first!
After finding a series of 10 patches that brought the nVidia module code into line up to kernel 5.6, then adapting some nVidia source code from "newer" drivers (like 340 & 390) to create six more patches, and finally developing six additional patches myself from scratch, I have a SlackBuild script that builds great on both 14.2 and -current!
Only once that task is complete do I discover that it's a moot point, due to the other part: the proprietary nVidia binary. xorg server 1.20 in -current implements a new ABI, and since nVidia will never release another update for the 304 binary, my odds of being able to keep this hardware going have gone from slim to anorexic.
At this point, I can see only a handful of options, none of which seem very appealing:
1. Forget about switching to Slackware 15, and just ride it out on 14.2 until it goes EOL.
2. Fall back to using nouveau and just accept that my whole system will lock up a couple times a week.
3. Go ahead and install 15 and then downgrade the xorg server to 1.19. (which I imagine could entail its own special nightmare of compilation hell...)
4. Just say "eff it" and throw two perfectly operational video cards in the landfill just to "keep up with the times."
5. Dive in even deeper and learn how to reverse engineer/decompile/disassemble the nVidia binary and hack/patch that! Of course, that would probably entail years of college courses... (not to mention that to do so is in express violation of the NVIDIA license. I doubt that SBo would be willing to host something that would put them into legal jeopardy by default...)
To sum up: I'm at an impasse. If anyone can think of additional options, I'm open to suggestions. Of the five options I can see, I'm leaning towards number three--but, man oh man..!
I guess before I go there, I should ask for the record: does anyone know of a reason why xorg 1.19 couldn't work on Slackware 15? I figure it's worth it to ask that now. (Perhaps if I had asked around a bit, I would have learned about the ABI issue before--instead of just assuming that if I could just get the module to compile, the thing would work.)
Last edited by JayByrd; 08-27-2021 at 03:55 AM.
Reason: number agreemet.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.