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.
Bit behind the curve on keeping my current (aka Slackware 15.0) development platform that runs in VirtualBox up to date.
On one of my production boxes (Slackware 14.2) I run VirtualBox (5.0.40) installed from SlackBuilds.org.
In the VirtualBox client after upgrading the linux kernel I rebuild virtualbox-kernel-addons and virtualbox-addons sometimes after certain upgrades this fails and I have to go digging around for the fix.
A few days ago I upgraded from kernel 4.14.71 to 4.19.12. When I try to rebuild virtualbox-kernel-addons I get these errors
Quote:
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c: In function ‘sf_init_inode’:
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:165:28: error: passing argument 1 of ‘sf_ftime_from_timespec’ from incompatible pointer type [-Werror=incompatible-pointer-types]
sf_ftime_from_timespec(&inode->i_atime, &info->AccessTime);
^~~~~~~~~~~~~~~
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:53:53: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
~~~~~~~~~~~~~~~~~^~
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:166:28: error: passing argument 1 of ‘sf_ftime_from_timespec’ from incompatible pointer type [-Werror=incompatible-pointer-types]
sf_ftime_from_timespec(&inode->i_ctime, &info->ChangeTime);
^~~~~~~~~~~~~~~
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:53:53: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
~~~~~~~~~~~~~~~~~^~
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:167:28: error: passing argument 1 of ‘sf_ftime_from_timespec’ from incompatible pointer type [-Werror=incompatible-pointer-types]
sf_ftime_from_timespec(&inode->i_mtime, &info->ModificationTime);
^~~~~~~~~~~~~~~
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:53:53: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
~~~~~~~~~~~~~~~~~^~
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c: In function ‘sf_setattr’:
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:377:54: error: passing argument 2 of ‘sf_timespec_from_ftime’ from incompatible pointer type [-Werror=incompatible-pointer-types]
sf_timespec_from_ftime(&info.AccessTime, &iattr->ia_atime);
^~~~~~~~~~~~~~~~
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:63:69: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec *tv)
~~~~~~~~~~~~~~~~~^~
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:379:60: error: passing argument 2 of ‘sf_timespec_from_ftime’ from incompatible pointer type [-Werror=incompatible-pointer-types]
sf_timespec_from_ftime(&info.ModificationTime, &iattr->ia_mtime);
^~~~~~~~~~~~~~~~
/tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.c:63:69: note: expected ‘struct timespec *’ but argument is of type ‘struct timespec64 *’
static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec *tv)
~~~~~~~~~~~~~~~~~^~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:303: /tmp/SBo/virtualbox-kernel-addons/vboxsf/utils.o] Error 1
make[1]: *** [Makefile:1517: _module_/tmp/SBo/virtualbox-kernel-addons/vboxsf] Error 2
make[1]: Leaving directory '/usr/src/linux-4.19.13'
make: *** [/tmp/SBo/virtualbox-kernel-addons/vboxsf/Makefile.include.footer:101: vboxsf] Error 2
I'm running Current in VBox. The GA are needed only if shared folder support (vboxsf) is desired. Otherwise the kernel already supports vboxguest and vboxvideo natively.
VBox 5.0.40 has not been supported upstream in a long time. Compiling 5.2 requires minor tweaks to the build script.
I am running 5.2.22. I haven't paid close attention, but I think a VM full reboot is needed before attempting to install the GA. I am using the 5.2.22 GA ISO.
I am not sure, but maybe the kernel source tree is the problem? I had the same problem on my host.
Today I had experienced the same problem with the guest.
I think here is the full explanation. In my case the compile went fine, but the installation was on wrong folder (/lib/modules/version vs /lib/modules/version-smp)
I did this for the guest.
Code:
cd /usr/src/linux
cp /boot/config .config
make clean
make modules_prepare
cd /opt/VBoxGuestAdditionsBlah-Blah/src/vboxguest-blah-blah
make install
depmod -a
modprobe vboxguest
modprobe vboxvideo
modprobe vboxsf
et voila!
Last edited by clavisound; 01-01-2019 at 03:37 PM.
You could save your self a ton of work just install the latest 5.XXX not the 6.00 install it the way the developers built it.
Host is your computer the guest is the system running in virtualbox.
then down load the guest-extension-iso and use it in your guest.
that is the best way if your running current it will rebuild per kernel at reboot.
stop beating that dead horse 7 years ago.
VirtualBox Graphical User Interface
Version 5.2.22 r126460 (Qt5.6.1)
uname -r
4.19.13
Slackware 14.2+
as you know Slackware current 14.2+ does not use qt5. this is why you need so use there installer with there static libs.
have fun building anything that requires qt5 in 14.2+
I have 8 virtualbox clients of which three are Slackware 14.2 clients and one is a Slackware 14.2+ client.
The host is 14.2 running virtualbox 5.0.40.
When I upgraded 14.2+ I with the 4.19.12 I got the kde logon screen and enter the password, but it didn't appear to respond to the <enter> key. I could log in as single user non graphical mode. Upgraded to 4.19.13 could now log in kde.
Couldn't get shared folders mount.vboxsf wasn't working neither could I get full screen.
Tried compiling VirtualBox addons 5.8 got the errors described in my initial post. Subsequently noticed that I was compiling using 32bit gcc, so removed the 32dev scripts from /etc/profiles.d.
I've now successfully compiled virtualbox, virtualbox-addons, virtualbox-kernel and virtualbox-kernel-addons for 6.0.0 on my Slackware 14.2+ virtualbox guest.
Now I can mount the shared folders, but still can't get full screen.
You could save your self a ton of work just install the latest 5.XXX not the 6.00 install it the way the developers built it.
Host is your computer the guest is the system running in virtualbox.
then down load the guest-extension-iso and use it in your guest.
that is the best way if your running current it will rebuild per kernel at reboot.
stop beating that dead horse 7 years ago.
VirtualBox Graphical User Interface
Version 5.2.22 r126460 (Qt5.6.1)
uname -r
4.19.13
Slackware 14.2+
Drakeo are you suggesting that I upgrade my host (14.2) to VirtualBox 5.2.22 and my 14.2+ client to 5.2.22 as well?
Drakeo are you suggesting that I upgrade my host (14.2) to VirtualBox 5.2.22 and my 14.2+ client to 5.2.22 as well?
I think you are confused. Host has the VirtualBox, guest has nothing, only Guest Additions if you want. In closed source version it's already added in host in a file /opt/VirtuaBol/additions/VBoxGuestAdditions.iso to be installed in the guest.
In my setup, the guest auto-compiles the GA from above .iso.
Mind you, I use the close source version from here, never had problems. Not the slackware way, but I suppose the compile time is too much for VirtualBox. But my main reason was the extpack and more simple to install the closed source.
I just checked in SBo and I see that you have to specify kernel version to build the GA. Did you do that?
I think you are confused. Host has the VirtualBox, guest has nothing, only Guest Additions if you want. In closed source version it's already added in host in a file /opt/VirtuaBol/additions/VBoxGuestAdditions.iso to be installed in the guest.
In my setup, the guest auto-compiles the GA from above .iso.
Mind you, I use the close source version from here, never had problems. Not the slackware way, but I suppose the compile time is too much for VirtualBox. But my main reason was the extpack and more simple to install the closed source.
I just checked in SBo and I see that you have to specify kernel version to build the GA. Did you do that?
I don't think I'm confused. Might just have not explained myself very well.
My host is Slackware 14.2 with VirtualBox 5.0.40. I built within one of my guests, which happened to be running 14.2+, virtualbox 6.0.0 and virtualbox-kernel 6.0.0. I then used virtualbox-kernel-mksrctarball.sh and virtualbox-kernel-addons-mksrctarball.sh to make the source files to build virtualbox-kernel-addons and virtualbox-addons.
Before doing the above I had a go with GA, but by then I'd already rebooted so didn't have to supply the new kernel version number to build the GA.
I think I'm almost there in that I can -
mount shared drives using
Code:
mount -t vboxsf -o uid=1001,gid=100 Documents /home/alex/Documents
what I am saying is the virtualbox devs have made it for use with Slacware in mind a long time ago.
and at this time. In the world of Slackware that is designed to run programs as the developers wanted them it will not hurt.
they build it static not to hurt your system and allows you to uninstall as needed.
keep your little virtual drives it will be picked up.
I gave up dealling with building the stuff designed to be built by another system.
as root
sh VirtualBox-5.2.22-126460-Linux_amd64.run
after it is installed boot your guest system
then insert this Iso
https://download.virtualbox.org/virt...ons_5.2.22.iso
open the iso image as a cdrom. and run the script.
reboot your guest system.
set bidirectional for clipboard and drop and drag.
set you shared folder.
you get that far it is easy to mount your shared folder.
it is already mounted you just need to make sure you have a link to it and the vboxsf is loaded.
cd /usr/local/src
wget https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_6.0.1-127639.iso
mount -t iso9660 -o loop VBoxGuestAdditions_6.0.1-127639.iso /mnt/cdrom/
cd /mnt/cdrom
./VBoxLinuxAdditions.run --keep --target /tmp/VBOX
# the above will fail, but go to /tmp/VBOX to build and install the kernel modules
cd /tmp/VBOX
tar -xf VBoxGuestAdditions-amd64.tar.bz2
cd /tmp/VBOX/src/vboxguest-6.0.0
make
make install
It's not broken, working fine here. Installed on my system December 19th using the installer provided by VirtualBox. Using with several versions of Slackware, Mint, MX Linux and Windows 7.
From the page you linked, LATEST indicates 6.0.0.
Last edited by chrisretusn; 01-03-2019 at 06:38 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.