New DKMS update must be a mistake...
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
New DKMS update must be a mistake...
A new update for the dkms package on Mint 21 wants to install gcc12 on my machine. The default gcc that is installed with the normal "gcc" pseudo-package (and thus Mint 21's official gcc version) is 11.2.
I'm assuming this update is a mistake. There isn't a way that a mid-stream update for a core package would intentionally have a dependency on half a gigabyte's worth of new packages that are ahead of the official version, right?
I'm assuming this update is a mistake. There isn't a way that a mid-stream update for a core package would intentionally have a dependency on half a gigabyte's worth of new packages that are ahead of the official version, right?
Last edited by LockBot on Mon Aug 07, 2023 10:00 pm, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Re: New DKMS update must be a mistake...
Hello, Kudalufi.
Could you, please, share the terminal output, displayed by the following commandline?
The output should reveal from which software repositories the new packages will be fetched for installation.
--
Independent of what the requested output will be: could it be that your system has got an NVidia graphics card and that you experience the same gcc version conflict, which has been discussed in this thread? => [SOLVED] Nvidia driver failure on Vera because of gcc-11 on updated kernel 5.19.0-28-generic
Regards,
Karl
Could you, please, share the terminal output, displayed by the following commandline?
apt-cache policy dkms gcc
The output should reveal from which software repositories the new packages will be fetched for installation.
--
Independent of what the requested output will be: could it be that your system has got an NVidia graphics card and that you experience the same gcc version conflict, which has been discussed in this thread? => [SOLVED] Nvidia driver failure on Vera because of gcc-11 on updated kernel 5.19.0-28-generic
Regards,
Karl
The people of Alderaan have been bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine for 792 days now.
Lifeline
Re: New DKMS update must be a mistake...
Code: Select all
dkms:
Installed: 2.8.7-2ubuntu2mint2
Candidate: 2.8.7-2ubuntu2.1mint1
Version table:
2.8.7-2ubuntu2.1mint1 700
700 https://muug.ca/mirror/linuxmint/packages vanessa/upstream amd64 Packages
700 https://muug.ca/mirror/linuxmint/packages vanessa/upstream i386 Packages
2.8.7-2ubuntu2.1 500
500 http://archive.ubuntu.mirror.rafal.ca/ubuntu jammy-updates/main amd64 Packages
500 http://archive.ubuntu.mirror.rafal.ca/ubuntu jammy-updates/main i386 Packages
*** 2.8.7-2ubuntu2mint2 100
100 /var/lib/dpkg/status
2.8.7-2ubuntu2 500
500 http://archive.ubuntu.mirror.rafal.ca/ubuntu jammy/main amd64 Packages
500 http://archive.ubuntu.mirror.rafal.ca/ubuntu jammy/main i386 Packages
gcc:
Installed: 4:11.2.0-1ubuntu1
Candidate: 4:11.2.0-1ubuntu1
Version table:
*** 4:11.2.0-1ubuntu1 500
500 http://archive.ubuntu.mirror.rafal.ca/ubuntu jammy/main amd64 Packages
100 /var/lib/dpkg/status
Re: New DKMS update must be a mistake...
Hello, Kudalufi.
Thanks for the output.
It tells that I may safely drop the idea that some third party repository or some Launchpad PPA might be in use, which causes any dependency issues. Hypothesis falsified.
OK. What about the mentioned thread?
Relevant details: kernel 5.19.0-xx is in use, which seems to require gcc12, but Mint 21.1 comes with gcc11. Nividia DKMS needed.
At the end of the thread mtwebster states
If you execute the terminal command
(the option "--simulate" will make sure that no change will be applied, but apt-get will tell what it would do)
Karl
Thanks for the output.
It tells that I may safely drop the idea that some third party repository or some Launchpad PPA might be in use, which causes any dependency issues. Hypothesis falsified.
OK. What about the mentioned thread?
Relevant details: kernel 5.19.0-xx is in use, which seems to require gcc12, but Mint 21.1 comes with gcc11. Nividia DKMS needed.
At the end of the thread mtwebster states
Unless I misunderstand the statement, updating to dkms 2.8.7-2ubuntu2.1mint1 should no longer want to install gcc12.
If you execute the terminal command
sudo apt-get --simulate upgrade
what is its screen output? (the option "--simulate" will make sure that no change will be applied, but apt-get will tell what it would do)
Karl
The people of Alderaan have been bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine for 792 days now.
Lifeline
Re: New DKMS update must be a mistake...
Says held back on upgrade - have to use dist-upgrade:
Is it possible the dependency has been fixed but hasn't propagated to my mirrors yet?
Code: Select all
$ sudo apt-get --simulate dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
cpp-12 gcc-12 libasan8 libgcc-12-dev libtsan2
The following packages have been kept back:
ubuntu-advantage-tools
The following packages will be upgraded:
dkms
1 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
Inst cpp-12 (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Inst libasan8 (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Inst libtsan2 (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Inst libgcc-12-dev (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Inst gcc-12 (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Inst dkms [2.8.7-2ubuntu2mint2] (2.8.7-2ubuntu2.1mint1 linuxmint:21/vanessa [all])
Conf cpp-12 (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Conf libasan8 (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Conf libtsan2 (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Conf libgcc-12-dev (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Conf gcc-12 (12.1.0-2ubuntu1~22.04 Ubuntu:22.04/jammy-updates, Ubuntu:22.04/jammy-security [amd64])
Conf dkms (2.8.7-2ubuntu2.1mint1 linuxmint:21/vanessa [all])
- diabolicbg
- Level 6
- Posts: 1436
- Joined: Mon Mar 01, 2021 8:20 am
- Location: Sofia, Bulgaria
Re: New DKMS update must be a mistake...
I'm using kernel 5.15 of LM21.1 and I just received the update in question, which I installed without problems. With gcc12.
- You see, in this world there are two kinds of people, my friend, those with loaded guns, and those who dig. You dig. - "The Good, the Bad and the Ugly"
Behind every faulty computer there is a user who did nothing...
Behind every faulty computer there is a user who did nothing...
- Pjotr
- Level 24
- Posts: 20120
- Joined: Mon Mar 07, 2011 10:18 am
- Location: The Netherlands (Holland) 🇳🇱
- Contact:
Re: New DKMS update must be a mistake...
Same here. Kernel 6.1.x, Mint 21.1. The update is unusually big, but there is no problem.diabolicbg wrote: ⤴Tue Feb 07, 2023 1:43 pm I'm using kernel 5.15 of LM21.1 and I just received the update in question, which I installed without problems. With gcc12.
In fact, after I rebooted it had miraculously cured VirtualBox for kernel 6.1.x.
Tip: 10 things to do after installing Linux Mint 21.3 Virginia
Keep your Linux Mint healthy: Avoid these 10 fatal mistakes
Twitter: twitter.com/easylinuxtips
All in all, horse sense simply makes sense.
Keep your Linux Mint healthy: Avoid these 10 fatal mistakes
Twitter: twitter.com/easylinuxtips
All in all, horse sense simply makes sense.
Re: New DKMS update must be a mistake...
Installing the update isn't the problem. I'm sure it would install without a hitch for me too. The problem is a Mint 21 package shouldn't depend on gcc 12. The compiler in Mint 21 is gcc 11.2. You shouldn't have to have two versions of gcc installed. It's not just that it's wasteful of storage (which is itself bad enough and potentially difficult for those with installations that need to live in smaller footprints), it's also an issue for memory wastage, future dependencies, and stability. Every package in the distribution should be compiled with and against one compiler and one version of shared libraries. This is definitely a Debian policy, and I'm pretty sure it must be a policy somewhere at Ubuntu.
Which is why I'm thinking this must be a mistake.
EDIT: I'm not in 21.1, I'm in 21.0. If the compiler changed in 21.1, fair enough, I haven't looked at that yet. But even if that is the case, this update shouldn't be pushed to Mint 21.0.
EDIT2: Also seems to be an issue with dkms itself if it is used with a different compiler version than the kernel was made with. See: https://askubuntu.com/questions/1143303 ... el#1143434
Which is why I'm thinking this must be a mistake.
EDIT: I'm not in 21.1, I'm in 21.0. If the compiler changed in 21.1, fair enough, I haven't looked at that yet. But even if that is the case, this update shouldn't be pushed to Mint 21.0.
EDIT2: Also seems to be an issue with dkms itself if it is used with a different compiler version than the kernel was made with. See: https://askubuntu.com/questions/1143303 ... el#1143434
Re: New DKMS update must be a mistake...
Hello, Kudalufi.
Reading the changelog.Debian file, which comes with the installation package dkms_2.8.7-2ubuntu2.1mint1_all.deb, my understanding is that this package depends on the gcc version, which the kernel has been built with, which is currently in use on the system.
This would be gcc-11 for kernel series 5.15.0-xx on Mint 21 and Mint 21.1 by default.
All those of you, who are using kernels from a higher series like 5.19.0-xx, 6.1.0-xx, will very likely need gcc-12, because those kernels have been built with gcc-12.
Below is the first relevant part of the file changelog.Debian:
As a consequence, I doubt that installing gcc-12 in addition to the previous gcc version, is a mistake. It is done deliberately.
Regards,
Karl
Reading the changelog.Debian file, which comes with the installation package dkms_2.8.7-2ubuntu2.1mint1_all.deb, my understanding is that this package depends on the gcc version, which the kernel has been built with, which is currently in use on the system.
This would be gcc-11 for kernel series 5.15.0-xx on Mint 21 and Mint 21.1 by default.
All those of you, who are using kernels from a higher series like 5.19.0-xx, 6.1.0-xx, will very likely need gcc-12, because those kernels have been built with gcc-12.
Below is the first relevant part of the file changelog.Debian:
Code: Select all
dkms (2.8.7-2ubuntu2.1mint1) vera; urgency=medium
* dkms: Hardcode OS detection
-- Clement Lefebvre <root@linuxmint.com> Tue, 07 Feb 2023 11:07:19 +0000
dkms (2.8.7-2ubuntu2.1) jammy; urgency=medium
* Cherry-pick patches from kinetic/stable to address building dkms
modules correctly for HWE kernels (LP: #1991664):
+ Fix dkms-autopkgtest when a given dkms package is built into the
kernel already of the same version. (i.e. zfs-linux on Ubuntu).
+ Use exact compiler for dkms as used to build the kernel, when
possible.
+ Depend on gcc-12 to build modules for HWE kernels correctly.
-- Dimitri John Ledkov <dimitri.ledkov@canonical.com> Tue, 04 Oct 2022 13:25:35 +0100
Regards,
Karl
The people of Alderaan have been bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine for 792 days now.
Lifeline
Re: New DKMS update must be a mistake...
The way I understand .deb dependency handling, the dkms package cannot be made to change its gcc version dependency based on the installed kernel. I have kernel 5.15, built with gcc 11.2, and dkms wants to install and use gcc 12.
The ramification seems to be that dkms is no longer going to be functional on the stock Mint 21/21.1 kernels, since it requires the kernel to be made with the same version of gcc as it is using. Is this the intention? Perhaps it can be given a dependency requirement for kernels compiled with gcc 12.
- Pjotr
- Level 24
- Posts: 20120
- Joined: Mon Mar 07, 2011 10:18 am
- Location: The Netherlands (Holland) 🇳🇱
- Contact:
Re: New DKMS update must be a mistake...
Bottom line: simply install the updates offered to you, and live happily ever after.
Tip: 10 things to do after installing Linux Mint 21.3 Virginia
Keep your Linux Mint healthy: Avoid these 10 fatal mistakes
Twitter: twitter.com/easylinuxtips
All in all, horse sense simply makes sense.
Keep your Linux Mint healthy: Avoid these 10 fatal mistakes
Twitter: twitter.com/easylinuxtips
All in all, horse sense simply makes sense.
Re: New DKMS update must be a mistake...
The question, which has not been really answered in this thread so far is:
On Mint 21 and 21.1, the dkms update 2.8.7-2ubuntu2.1mint1 will pull in gcc-12 in addition to the pre-installed gcc-11.
The question is, whether on systems, still running on kernel 5.15.0-xx, built using gcc-11, dkms will continue to use gcc-11 when building kernel dkms modules.
Or will dkms use gcc-12 in all cases now, no matter whether the kernel in use has been built using gcc-11 or gcc-12?
From the changelog.Debian file:
This might suggest that dkms will use either gcc-11, if the kernel has been built using gcc-11, or gcc-12, if the kernel has been built using gcc-12.
But again:
The final confirmation that this applies has not been given in this thread here, yet.
And I am not sure whether it has been given in the mentioned thread SOLVED] Nvidia driver failure on Vera because of gcc-11 on updated kernel 5.19.0-28-generic.
On Mint 21 and 21.1, the dkms update 2.8.7-2ubuntu2.1mint1 will pull in gcc-12 in addition to the pre-installed gcc-11.
The question is, whether on systems, still running on kernel 5.15.0-xx, built using gcc-11, dkms will continue to use gcc-11 when building kernel dkms modules.
Or will dkms use gcc-12 in all cases now, no matter whether the kernel in use has been built using gcc-11 or gcc-12?
From the changelog.Debian file:
Code: Select all
+ Use exact compiler for dkms as used to build the kernel, when possible.
+ Depend on gcc-12 to build modules for HWE kernels correctly.
But again:
The final confirmation that this applies has not been given in this thread here, yet.
And I am not sure whether it has been given in the mentioned thread SOLVED] Nvidia driver failure on Vera because of gcc-11 on updated kernel 5.19.0-28-generic.
The people of Alderaan have been bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine for 792 days now.
Lifeline
Re: New DKMS update must be a mistake...
dkms will check the at runtime which compiler to use by parsing the kernel configuration:
https://git.launchpad.net/ubuntu/+sourc ... my-updates
The package basically depends on both gcc-11 and gcc-12 now (The 'gcc' dep is an alias for gcc-11):
https://git.launchpad.net/ubuntu/+sourc ... pdates#n24
https://git.launchpad.net/ubuntu/+sourc ... my-updates
The package basically depends on both gcc-11 and gcc-12 now (The 'gcc' dep is an alias for gcc-11):
https://git.launchpad.net/ubuntu/+sourc ... pdates#n24
Re: New DKMS update must be a mistake...
Thank you very much, mtwebster, for explaining the logic followed by the most recent dkms package (2.8.7-2ubuntu2.1mint1). I hope your explanation has cleared any potential doubts about the dkms update 2.8.7-2ubuntu2.1mint1.
Karl
Karl
The people of Alderaan have been bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine for 792 days now.
Lifeline
Re: New DKMS update must be a mistake...
Thank-you for the explanations. That makes it clear that it won't actually break anything. It just simply removes the justification for now making gcc 12 a dependency of dkms. Doing that adds half a gigabyte of new stuff that will be unused for the majority of people who use dkms in mint. Perhaps that isn't a big deal to anyone else, but to many of my installations it is. DKMS is required for VirtualBox guest extensions. This means the installations with the smallest size are now saddled with some of the biggest (technically unrequired) dependencies.
If dkms is able to make an intelligent run-time decision on what compiler to use based on the kernel installed, would it not be better to attach a gcc 12 dependency to the kernels that are actually built with gcc 12, rather than to dkms, which for most people, doesn't need it.
EDIT: It also occurs to me, does this not now break dkms for those people with stock gcc 11.2-built kernels who don't already have gcc 11.2 otherwise installed?
EDIT2: No, it doesn't, because gcc is also a dependency I see. Fair enough. The former still applies though.
If dkms is able to make an intelligent run-time decision on what compiler to use based on the kernel installed, would it not be better to attach a gcc 12 dependency to the kernels that are actually built with gcc 12, rather than to dkms, which for most people, doesn't need it.
EDIT: It also occurs to me, does this not now break dkms for those people with stock gcc 11.2-built kernels who don't already have gcc 11.2 otherwise installed?
EDIT2: No, it doesn't, because gcc is also a dependency I see. Fair enough. The former still applies though.
Re: New DKMS update must be a mistake...
Who made this decision, btw? Was this a decision made by mint, or are we inheriting this from ubuntu?
Re: New DKMS update must be a mistake...
Definitely not Mint. The Mint devs don't make any compiler-level library decisions; they are almost exclusively focused on the graphical user interface side of things (rarely they'll say "let's skip this buggy kernel version in the Update Manager" and stuff like that). This is coming from Ubuntu. But my guess is that it might be coming from even further upstream because (just guessing) they decided to compile a certain kernel version with gcc12, and with Ubuntu LTS releases it's common to have kernel versions available that are a few years apart from each other...