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.
I am trying to install virtualbox 6.1.44 against the December 21, 2023 current snapshot. I'm starting with virtualbox-kernel. It is crashing while building the vboxdrv module. The specific error is
Code:
CC [M] /tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/rtStrFormatKernelAddress-r0drv-linux.o
/tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeLockUser’:
/tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1228:18: error: too many arguments to function ‘get_user_pages’
1228 | rc = get_user_pages(R3Ptr, /* Where from. */
| ^~~~~~~~~~~~~~
In file included from /tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/the-linux-kernel.h:102,
from /tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:31:
./include/linux/mm.h:2452:6: note: declared here
2452 | long get_user_pages(unsigned long start, unsigned long nr_pages,
| ^~~~~~~~~~~~~~
/tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1261:33: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
1261 | papVMAs /* vmas */
| ^~~~~~~
| |
| struct vm_area_struct **
CC [M] /tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/semevent-r0drv-linux.o
./include/linux/mm.h:2422:33: note: expected ‘int *’ but argument is of type ‘struct vm_area_struct **’
2422 | int *locked);
| ~~~~~^~~~~~
/tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1245:18: error: too many arguments to function ‘get_user_pages_remote’
1245 | rc = get_user_pages_remote(
| ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mm.h:2419:6: note: declared here
2419 | long get_user_pages_remote(struct mm_struct *mm,
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:243: /tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[4]: *** Waiting for unfinished jobs....
/tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: VBoxHost_RTR0MemKernelCopyTo+0x13: redundant CLD
/tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: VBoxHost_RTR0MemKernelCopyFrom+0x13: redundant CLD
make[3]: *** [/usr/src/linux-6.6.8/Makefile:1913: /tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv] Error 2
make[2]: *** [Makefile:234: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/linux-6.6.8'
make[1]: *** [/tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv/Makefile-footer.gmk:117: vboxdrv] Error 2
make[1]: Leaving directory '/tmp/SBo/virtualbox-kernel-6.1.44/vboxdrv'
make: *** [Makefile:60: vboxdrv] Error 2
I saw posts about other problems building this version, but they did not appear to be related to virtualbox-kernel. Any help is appreciated.
I use the version 6.1.32 since some years ago, when the kernel has been updated to version 6.6.6, the build of virtualbox-kernel failed. I don't remember the building error reported, but I was able to solve with a patch and a sed command. Now virtualbox 6.1.32 works fine. I don't know how 6.1.44 is different, but I want to keep version 6.1.32 because it supports the software virtualization (I need it for a Slackware 32 bit as host).
I you are interested and no strong changes has 6.1.44 against 6.1.32, you could downgrade to version 6.1.32. It works fine, for me. You can download the tarball of the slackbuild from here: https://www.giand.it/perm/virtualbox-6.1.32.tar.gz
You could try also to apply my patch and the sed command, but I don't know if the failure is given by the same context. Try...
Code:
sed -i ./vboxdrv/r0drv/linux/memobj-r0drv-linux.c -e "s/pte_offset_map/pte_offset_kernel/g"
patch -p1 < $CWD/linux-6.6.patch
the patch:
Code:
--- ./vboxdrv/r0drv/linux/memobj-r0drv-linux.c
+++ ./vboxdrv/r0drv/linux/memobj-r0drv-linux.c
@@ -1236,6 +1236,9 @@
fWrite, /* force write access. */
# endif
- &pMemLnx->apPages[0], /* Page array. */
- papVMAs); /* vmas */
+ &pMemLnx->apPages[0] /* Page array. */
+# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0)
+ , papVMAs /* vmas */
+# endif
+ );
/*
* Actually this should not happen at the moment as call this function
@@ -1258,6 +1258,8 @@
fWrite, /* force write access. */
# endif
- &pMemLnx->apPages[0], /* Page array. */
- papVMAs /* vmas */
+ &pMemLnx->apPages[0] /* Page array. */
+# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0)
+ , papVMAs /* vmas */
+# endif
# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 10, 0)
, NULL /* locked */
@@ -1301,7 +1301,13 @@
while (rc-- > 0)
{
flush_dcache_page(pMemLnx->apPages[rc]);
+# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0)
+# if RTLNX_VER_MIN(6,3,0)
+ vm_flags_set(papVMAs[rc], VM_DONTCOPY | VM_LOCKED);
+# else
papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED;
+# endif
+# endif
}
LNX_MM_UP_READ(pTask->mm);
@@ -1771,7 +1771,10 @@
/* Thes flags help making 100% sure some bad stuff wont happen (swap, core, ++).
* See remap_pfn_range() in mm/memory.c */
-#if RTLNX_VER_MIN(3,7,0)
+
+#if RTLNX_VER_MIN(6,3,0)
+ vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP);
+#elif RTLNX_VER_MIN(3,7,0)
vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
#else
vma->vm_flags |= VM_RESERVED;
#endif
--- ./vboxnetflt/linux/VBoxNetFlt-linux.c
+++ ./vboxnetflt/linux/VBoxNetFlt-linux.c
@@ -38,4 +38,7 @@
# include <linux/nsproxy.h>
#endif
+#if RTLNX_VER_MIN(6,4,10) || RTLNX_RHEL_MAJ_PREREQ(9,4)
+# include <net/gso.h>
+#endif
#include <linux/netdevice.h>
#if RTLNX_VER_MAX(2,6,29) || RTLNX_VER_MIN(5,11,0)
If it does not solve, I suggest the downgrade to version 6.1.32
About three years ago I posted a plea for help because ccextractor failed to build. The solution came in the form of a patch to the downloaded tarball and a minor change in the SlackBuilds package. Now I'm trying to build ccextractor-0.94 and it is failing at
Code:
/tmp/SBo/ccextractor-0.94/src/lib_ccx/ffmpeg_intgr.c:109:56: error: ‘AVStream’ has no member named ‘codec’
109 | ctx->dec_ctx = ctx->ifmt->streams[stream_index]->codec;
Is there a patch that I need to apply to fix this? I see a patch for leptonica in the build directory, but it should have already been applied. Any other suggestions on how to fix this?
About three years ago I posted a plea for help because ccextractor failed to build. The solution came in the form of a patch to the downloaded tarball and a minor change in the SlackBuilds package. Now I'm trying to build ccextractor-0.94 and it is failing at
Code:
/tmp/SBo/ccextractor-0.94/src/lib_ccx/ffmpeg_intgr.c:109:56: error: ‘AVStream’ has no member named ‘codec’
109 | ctx->dec_ctx = ctx->ifmt->streams[stream_index]->codec;
Is there a patch that I need to apply to fix this? I see a patch for leptonica in the build directory, but it should have already been applied. Any other suggestions on how to fix this?
I maintain this package. ccextractor-0.94 is not compatible with ffmpeg5. Support has been merged with this patch, however it is not as simple as just applying that patch to 0.94. For now you can get it to compile if you edit the SlackBuild and disable hardsubs and ffmpeg support.
I use the version 6.1.32 since some years ago, when the kernel has been updated to version 6.6.6, the build of virtualbox-kernel failed. I don't remember the building error reported, but I was able to solve with a patch and a sed command. Now virtualbox 6.1.32 works fine. I don't know how 6.1.44 is different, but I want to keep version 6.1.32 because it supports the software virtualization (I need it for a Slackware 32 bit as host).
I you are interested and no strong changes has 6.1.44 against 6.1.32, you could downgrade to version 6.1.32. It works fine, for me. You can download the tarball of the slackbuild from here: https://www.giand.it/perm/virtualbox-6.1.32.tar.gz
You could try also to apply my patch and the sed command, but I don't know if the failure is given by the same context. Try...
Code:
sed -i ./vboxdrv/r0drv/linux/memobj-r0drv-linux.c -e "s/pte_offset_map/pte_offset_kernel/g"
patch -p1 < $CWD/linux-6.6.patch
the patch:
Code:
--- ./vboxdrv/r0drv/linux/memobj-r0drv-linux.c
+++ ./vboxdrv/r0drv/linux/memobj-r0drv-linux.c
@@ -1236,6 +1236,9 @@
fWrite, /* force write access. */
# endif
- &pMemLnx->apPages[0], /* Page array. */
- papVMAs); /* vmas */
+ &pMemLnx->apPages[0] /* Page array. */
+# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0)
+ , papVMAs /* vmas */
+# endif
+ );
/*
* Actually this should not happen at the moment as call this function
@@ -1258,6 +1258,8 @@
fWrite, /* force write access. */
# endif
- &pMemLnx->apPages[0], /* Page array. */
- papVMAs /* vmas */
+ &pMemLnx->apPages[0] /* Page array. */
+# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0)
+ , papVMAs /* vmas */
+# endif
# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 10, 0)
, NULL /* locked */
@@ -1301,7 +1301,13 @@
while (rc-- > 0)
{
flush_dcache_page(pMemLnx->apPages[rc]);
+# if GET_USER_PAGES_API < KERNEL_VERSION(6, 5, 0)
+# if RTLNX_VER_MIN(6,3,0)
+ vm_flags_set(papVMAs[rc], VM_DONTCOPY | VM_LOCKED);
+# else
papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED;
+# endif
+# endif
}
LNX_MM_UP_READ(pTask->mm);
@@ -1771,7 +1771,10 @@
/* Thes flags help making 100% sure some bad stuff wont happen (swap, core, ++).
* See remap_pfn_range() in mm/memory.c */
-#if RTLNX_VER_MIN(3,7,0)
+
+#if RTLNX_VER_MIN(6,3,0)
+ vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP);
+#elif RTLNX_VER_MIN(3,7,0)
vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
#else
vma->vm_flags |= VM_RESERVED;
#endif
--- ./vboxnetflt/linux/VBoxNetFlt-linux.c
+++ ./vboxnetflt/linux/VBoxNetFlt-linux.c
@@ -38,4 +38,7 @@
# include <linux/nsproxy.h>
#endif
+#if RTLNX_VER_MIN(6,4,10) || RTLNX_RHEL_MAJ_PREREQ(9,4)
+# include <net/gso.h>
+#endif
#include <linux/netdevice.h>
#if RTLNX_VER_MAX(2,6,29) || RTLNX_VER_MIN(5,11,0)
If it does not solve, I suggest the downgrade to version 6.1.32
Thanks to gian_d for the help with virtualbox-kernel. I was able to get the patch to work just fine. Unfortunately, when I went to build virtualbox itself (version 6.1.44), that failed at the xml interface. I saw a number of previous posts about this, but didn't see anything about a fix. Has the virtualbox script/build been fixed or is the only current solution downgrading the virtualbox version?
Thanks to gian_d for the help with virtualbox-kernel. I was able to get the patch to work just fine. Unfortunately, when I went to build virtualbox itself (version 6.1.44), that failed at the xml interface. I saw a number of previous posts about this, but didn't see anything about a fix. Has the virtualbox script/build been fixed or is the only current solution downgrading the virtualbox version?
See this post. The maintainer of the VirtualBox SlackBuild is ppr:kut. He is aware of situation and a new SlackBuild should be coming soon. In the thread there is the xml patch you need. I also have a Virtualbox 7.0.x SlackBuild available on my github page. It is just a modified version of ppr:kut's SlackBuild, however in order for it to compile you need three dependencies, gsoap, acpica, and openjdk from Alien Bob's repository located here.
python3-PyQtWebEngine fails to build due to "configure.py: error: '/usr/bin/sip3' is not an executable", tried "ln -s /usr/bin/python3-sip /usr/bin/sip3" but it leads to syntax error.
python3-PyQtWebEngine fails to build due to "configure.py: error: '/usr/bin/sip3' is not an executable", tried "ln -s /usr/bin/python3-sip /usr/bin/sip3" but it leads to syntax error.
It needs some changes as we moved from classic python builds to python-wheel
Code:
Thu Aug 10 20:23:33 UTC 2023
Thanks to Heinz Wiesinger for these added python packages to implement
PEP 427 and PEP 517! Python modules are phasing out setup.py in favor of
building wheels, and then using python-installer to install them. These
are the bits needed to make that happen.
See this post. .. I also have a Virtualbox 7.0.x SlackBuild available on my github page. It is just a modified version of ppr:kut's SlackBuild, however in order for it to compile you need three dependencies, gsoap, acpica, and openjdk ..
***** Checking 32-bit support *****
compiling the following source file:
#include <stdint.h>
int main(void)
{
return 0;
}
using the following command line:
gcc -m32 -O -Wall -o /tmp/VirtualBox-7.0.12/.tmp_out /tmp/VirtualBox-7.0.12/.tmp_src.c
In file included from /usr/include/features.h:527,
from /usr/include/bits/libc-header-start.h:33,
from /usr/include/stdint.h:26,
from /usr/lib64/gcc/x86_64-slackware-linux/13.2.0/include/stdint.h:9,
from /tmp/VirtualBox-7.0.12/.tmp_src.c:1:
/usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-32.h: No such file or directory
7 | # include <gnu/stubs-32.h>
| ^~~~~~~~~~~~~~~~
compilation terminated.
I thought virtualbox no longer cares for 32bit? Anyway this is on slackware64-current without 32bit-compat libraries; with `/usr/include/gnu/stubs-64.h`
I thought virtualbox no longer cares for 32bit? Anyway this is on slackware64-current without 32bit-compat libraries; with `/usr/include/gnu/stubs-64.h`
Any ideas how to get around this?
Yeah, you will have to install Alien Bob's Multilib in order to compile it. I probably should of made a README, but this is just a stop gap SlackBuild until ppr:kut updates his.
I maintain this package. ccextractor-0.94 is not compatible with ffmpeg5. Support has been merged with this patch, however it is not as simple as just applying that patch to 0.94. For now you can get it to compile if you edit the SlackBuild and disable hardsubs and ffmpeg support.
I just want to confirm that I'm understanding this correctly. I want to apply the patches at the given URL to the five files listed there, and then also disabble hardubs and ffmpeg support in ccextractor.Slackbuild, correct?
I just want to confirm that I'm understanding this correctly. I want to apply the patches at the given URL to the five files listed there, and then also disabble hardubs and ffmpeg support in ccextractor.Slackbuild, correct?
Short version. no the patches in that link will not cleanly apply to 0.94. Just disable hardsubs and ffmpeg support should be enough to successfully compile 0.94 in -current.
I maintain this package. ccextractor-0.94 is not compatible with ffmpeg5. Support has been merged with this patch, however it is not as simple as just applying that patch to 0.94. For now you can get it to compile if you edit the SlackBuild and disable hardsubs and ffmpeg support.
Quote:
Originally Posted by marav
It needs some changes as we moved from classic python builds to python-wheel
Code:
Thu Aug 10 20:23:33 UTC 2023
Thanks to Heinz Wiesinger for these added python packages to implement
PEP 427 and PEP 517! Python modules are phasing out setup.py in favor of
building wheels, and then using python-installer to install them. These
are the bits needed to make that happen.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.