Ubuntu : ERROR (dkms apport): binary package for evdi: 1.10.1 not found

Dans syslog j’ai l’erreur suivante :

make -j16 KERNELRELEASE=6.5.0-10006-tuxedo all INCLUDEDIR=/lib/modules/6.5.0-10006-tuxedo/build/include KVERSION=6.5.0-10006-tuxedo DKMS_BUILD=1...(bad exit status: 2)
ERROR (dkms apport): binary package for evdi: 1.10.1 not found
Error! Bad return status for module build on kernel: 6.5.0-10006-tuxedo (x86_64)
Consult /var/lib/dkms/evdi/1.10.1/build/make.log for more information.

Quand je regarde le fichier /var/lib/dkms/evdi/1.10.1/build/make.log :

DKMS make.log for evdi-1.10.1 for kernel 6.5.0-10006-tuxedo (x86_64)
mar. 07 nov. 2023 14:00:31 CET
make KBUILD_VERBOSE=1 M=/var/lib/dkms/evdi/1.10.1/build SUBDIRS=/var/lib/dkms/evdi/1.10.1/build SRCROOT=/var/lib/dkms/evdi/1.10.1/build CONFIG_MODULE_SIG= -C /lib/modules/6.5.0-10006-tuxedo/build modules
make[1]: Entering directory '/usr/src/linux-headers-6.5.0-10006-tuxedo'
make --no-print-directory -C /usr/src/linux-headers-6.5.0-10006-tuxedo \
-f /usr/src/linux-headers-6.5.0-10006-tuxedo/Makefile modules
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
  You are using:           gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
make -f ./scripts/Makefile.build obj=/var/lib/dkms/evdi/1.10.1/build need-builtin=1 need-modorder=1
# cmd_mod /var/lib/dkms/evdi/1.10.1/build/evdi.mod

Pour l’instant j’ai pas réussi à fixer le problème.

A suivre.

Ubuntu : ThunderBirds : Plus possible de se connecter à Gmail via IMAP OAuth2

Depuis le 17/09/2023, Thunderbird n’arrive plus à se connecter sur Gmail en IMAP.

Ma configuration :

  • Ubuntu 22.04.3 LTS (Jammy Jellyfish)

$ sudo snap refresh thunderbird –stable
thunderbird 115.2.3-1 from Canonical✓ refreshed

J’ai le même problème avec la version 118 de thunderbird.

J’ai l’erreur :

« 400. That’s an error.
The server cannot process the request because it is malformed. It should not be retried. That’s all we know. »

J’ai essayé quelques commandes sans succès :

/snap/thunderbird/current/thunderbird  -profilemanager -no-remote

J’ai bien la fenetre : https://accounts.google.com/AccountChooser?oauth=1…. qui s’ouvre mais ensuite quand j’approuve j’ai une erreur.

Misère.

Solution :

J’ai modifié general.useragent.compatMode.firefox = true à la place de false et cela refonctionne !

Ubuntu : Module evdi not found in directory for displaylink-driver.service

J’ai vu que j’avais en boucle dans syslog :

sh[30354]: modprobe: FATAL: Module evdi not found in directory /lib/modules/6.2.0-10018-tuxedo
sh[30396]: Kernel preparation unnecessary for this kernel. Skipping...
sh[30396]: Building module:
sh[30396]: cleaning build area...
sh[30396]: make -j16 KERNELRELEASE=6.2.0-10018-tuxedo all INCLUDEDIR=/lib/modules/6.2.0-10018-tuxedo/build/include KVERSION=6.2.0-10018-tuxedo DKMS_BUILD=1...(bad exit status: 2)
sh[31025]: ERROR (dkms apport): binary package for evdi: 1.10.1 not found
sh[31099]: Error! Bad return status for module build on kernel: 6.2.0-10018-tuxedo (x86_64)
sh[31099]: Consult /var/lib/dkms/evdi/1.10.1/build/make.log for more information.
systemd[1]: displaylink-driver.service: Control process exited, code=exited, status=10/n/a
systemd[1]: displaylink-driver.service: Failed with result 'exit-code'.
systemd[1]: Failed to start DisplayLink Driver Service.
systemd[1]: displaylink-driver.service: Consumed 7.320s CPU time.
systemd[1]: displaylink-driver.service: Scheduled restart job, restart counter is at 16.
systemd[1]: Stopped DisplayLink Driver Service.
systemd[1]: displaylink-driver.service: Consumed 7.320s CPU time.
systemd[1]: Starting DisplayLink Driver Service...

J’ai donc essayé manuellement avec plusieurs versions mais sans succès :

$ sudo dkms install -m evdi -v 1.12.0
Error! Could not find module source directory.
Directory: /usr/src/evdi-1.12.0 does not exist. 

Donc j’ai du me résoudre à prendre sur git et à faire le build :

$ git clone https://github.com/DisplayLink/evdi.git
Cloning into 'evdi'...
remote: Enumerating objects: 3065, done.
remote: Counting objects: 100% (1631/1631), done.
remote: Compressing objects: 100% (482/482), done.
remote: Total 3065 (delta 1253), reused 1294 (delta 1148), pack-reused 1434
Receiving objects: 100% (3065/3065), 6.21 MiB | 2.07 MiB/s, done.
Resolving deltas: 100% (2146/2146), done.

$ python3 -m pip install pybind11 

$ make

$ sudo make install

make -C module install
make[1]: Entering directory '/home/arias/GIT/evdi/module'
make -C /lib/modules/6.2.0-10018-tuxedo/build M=$PWD INSTALL_MOD_PATH= INSTALL_MOD_DIR=/kernel/drivers/gpu/drm/evdi modules_install
make[2]: Entering directory '/usr/src/linux-headers-6.2.0-10018-tuxedo'
  INSTALL /lib/modules/6.2.0-10018-tuxedo//kernel/drivers/gpu/drm/evdi/evdi.ko
  SIGN /lib/modules/6.2.0-10018-tuxedo//kernel/drivers/gpu/drm/evdi/evdi.ko
  DEPMOD  /lib/modules/6.2.0-10018-tuxedo
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[2]: Leaving directory '/usr/src/linux-headers-6.2.0-10018-tuxedo' 

Ensuite j’ai fait l’installation manuellement … et maintenant j’ai le displaylink-driver.service qui se lance et le display port qui fonctionne à nouveau.

Ubuntu 22.04.1 : GCC 11 ( -fcommon ) : Issue … Multiple definition of.

Avec GCC 11 on a changer la valeur par défaut.

Donc pour supprimer les problèmes (de facon rapide) il suffit d’ajouter la directive -fcommon. La solution idéale est de revoir le code … et surtout les .h.

Misère.

Pour information Ubuntu 22.04.1 utilise gcc 11.2.0-19 .

La doc : https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html

-fcommon

In C code, this option controls the placement of global variables defined without an initializer, known as tentative definitions in the C standard. Tentative definitions are distinct from declarations of a variable with the extern keyword, which do not allocate storage.

The default is -fno-common, which specifies that the compiler places uninitialized global variables in the BSS section of the object file. This inhibits the merging of tentative definitions by the linker so you get a multiple-definition error if the same variable is accidentally defined in more than one compilation unit.

The -fcommon places uninitialized global variables in a common block. This allows the linker to resolve all tentative definitions of the same variable in different compilation units to the same object, or to a non-tentative definition. This behavior is inconsistent with C++, and on many targets implies a speed and code size penalty on global variable references. It is mainly useful to enable legacy code to link without errors.