Solved Migration from linux-c6 to linux-rl9

Hello,
I've recently upgraded FreeBSD from 13.5-STABLE to 14.3-STABLE using /usr/src/UPDATING notes, and then reinstalled all packages via "pkg-static upgrade -f". I've been using STABLE branch for years and it wasn't the first time I'd followed the procedure. But then I looked at linux-* port versions and found they all are still linux-*-c6, looks like during all my previous upgrades the reinstall packages procedure didn't change the linux subsystem packages, just kept them as they were. Is there any correct way to move from old linux-* packages to recent ones? I use some software that depends on linux subsystem (i.e. NVIDIA driver) and it don't want to put it into broken condition.
 
Looking at /usr/ports/UPDATING, there's an entry at 20250408.
I've never used STABLE but it does seem as if it should have upgraded Linux packages.


20250408: AFFECTS: users of linux_base-c7 and any Linux application in Ports AUTHOR: arrowd@FreeBSD.org LINUX_DEFAULT was switched to "rl9" which corresponds to the Rocky Linux 9 base. All architectures except i386 are affected. To stay on the old base add DEFAULT_VERSIONS=linux=c7 to your /etc/make.conf Note that some older amd64 hardware (pre-Nehalem) might not support the instruction set that is targeted by Rocky Linux builders. If you're getting SIGILL crashes when running Linux apps consider switching LINUX_DEFAULT back to "c7".
 
Yes, I've already checked /usr/ports/UPDATING and seen the entry. Shame on me, I didn't do it earlier. But I don't know how to update the packages properly. I can see the following figures in console:
Code:
[root@dog ~]# pkg update
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Code:
[root@dog ~]# pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (1 candidates): 100%
Processing candidates (1 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
Code:
[root@dog ~]# pkg info | grep linux-c
linux-c6-alsa-lib-1.1.0_3      Advanced Linux Sound Architecture libraries (Linux CentOS 6.10)
linux-c6-atk-1.30.0_2          Accessibility Toolkit (Linux CentOS 6.9)
linux-c6-cairo-1.8.8_8         Vector graphics library Cairo (Linux CentOS 6.10)
linux-c6-expat-2.0.1_5         XML 1.0 parser written in C (Linux CentOS 6.10)
linux-c6-fontconfig-2.8.0_3    XML-based font configuration API for X Windows (Linux CentOS 6.10)
linux-c6-gdk-pixbuf2-2.24.1_5  Graphic library for GTK+ (Linux CentOS 6.9)
linux-c6-gtk2-2.24.23_7        GTK+ library, version 2.X (Linux CentOS 6.9)
linux-c6-jasper-libs-1.900.1_5 JPEG-2000 reference implementation (Linux CentOS 6.10)
linux-c6-jpeg-1.2.1_3          SIMD-accelerated JPEG codec (Linux CentOS 6.10)
linux-c6-libpng-1.2.49_5       Library for manipulating PNG images (Linux CentOS 6.10)
linux-c6-libthai-0.1.12_1      Thai language support library (Linux CentOS 6.10)
linux-c6-libtiff-3.9.4_5       Tools and library routines for working with TIFF images (Linux CentOS 6.10)
linux-c6-libxml2-2.7.6_9       Library providing XML and HTML support (Linux CentOS 6.10)
linux-c6-openmotif-2.3.3_4     Motif toolkit libraries (Linux CentOS 6.10)
linux-c6-pango-1.28.1_7        Pango library (Linux CentOS 6.10)
linux-c6-pixman-0.32.8_1       Low-level pixel manipulation library (Linux CentOS 6.9)
linux-c6-xorg-libs-7.4_10      Xorg libraries (Linux CentOS 6.10)
It seems like I have to somehow migrate from outdated linux related packages to current ones, but I can't find any manuals or instructions that describe how to do that properly without breaking dependent software.
 
No other 3rd party application depends on obsolete c6. You can safely remove all of them:
Code:
# pkg del -g 'linux-c6*'

I use some software that depends on linux subsystem (i.e. NVIDIA driver) and it don't want to put it into broken condition.
Please check which applications need linux apps as a dependency, x11/nvidia-driver certainly doesn't need any linux-* apps.

Code:
% pkg  rquery  %dn nvidia-driver
libXext
libX11
xorg-server
libglvnd
egl-wayland
 
Interesting. Either I'm lagging behind and something has changed since the drivers installation, or I'm completely mistaking. I'll try it tomorrow and write what I'll get.
 
As I wrote yesterday, I made an experiment - removed all linux*-c6 ports and rebooted the machine. Everything works just fine. Looks like I have to renew my knowledge about linux subsystem in FreeBSD. Thanks a lot for the help!
 
Please check which applications need linux apps as a dependency, x11/nvidia-driver certainly doesn't need any linux-* apps.
What depends on Linuxulator is x11/linux-nvidia-libs* ports.
But it depends on "default" Linuxulator (currently rl9) via USES= linux.

What LINUX option (enabled by default) of x11/nvidia-driver* means is allowing to be used "by" Linux apps or not. So intentionally disabling it would stop x11/linux-nvidia-libs* working.
 
Back
Top