J'ai un ordinateur portable VAIO (VPCS116FG, série S). Son clavier est doté de capteurs capables de détecter la luminosité environnante. Il active donc automatiquement le rétroéclairage dans les endroits sombres tels que les cabines d'avion. Depuis que je suis passé de Windows 7 à Ubuntu, le capteur de rétroéclairage ne fonctionne plus du tout.
En recherchant le problème sur Google, j'ai trouvé ce site Web et suivi les instructions, mais lors de la compilation, les erreurs suivantes ont été rencontrées:
sa/file_funcs.c: In function ‘get_first_backlight_device_name’:
sa/file_funcs.c:44:9: warning: format ‘%li’ expects argument of type ‘long int’, but argument 2 has type ‘unsigned int’ [-Wformat]
/tmp/ccIhKx5v.o: In function `handle_acpi_events':
acpi_funcs.c:(.text+0xf8): undefined reference to `log'
acpi_funcs.c:(.text+0x109): undefined reference to `log'
acpi_funcs.c:(.text+0x120): undefined reference to `pow'
collect2: ld returned 1 exit status
Comment puis-je le faire fonctionner?
J'ai finalement réussi à compiler le problème en apportant une légère modification au fichier compile
:
La ligne 16 se lit comme suit:
$CC $CFLAGS $LDFLAGS $DEFINES -o $OUTPUT $SRC_DIR/*.c
Changez le en:
$CC $CFLAGS $DEFINES -o $OUTPUT $SRC_DIR/*.c $LDFLAGS
Alternativement, vous pouvez émettre les deux commandes suivantes juste avant d'exécuter ./compile
:
echo -e "16c16\n< \$CC \$CFLAGS \$LDFLAGS \$DEFINES -o \$OUTPUT \$SRC_DIR/*.c\n---\n> \$CC \$CFLAGS \$DEFINES -o \$OUTPUT \$SRC_DIR/*.c \$LDFLAGS" >compile.patch
patch compile compile.patch
Je suis sur VAIO VPCS123FG S Series . Googlé le même problème et trouvé une solution pour ma machine.
Entrez la commande suivante dans le terminal:
echo 1 | Sudo tee/sys/appareils/plate-forme/sony-laptop/kbd_backlight
Merci à communauté TechArena .
Ces log()
et pow()
sont des fonctions mathématiques et vous devez apporter une petite modification au fichier compile
pour le faire fonctionner.
Plus précisément, ouvrez le fichier compile
et remplacez
CFLAGS="-Wall -W -O2 -march=native -pipe"
avec
CFLAGS="-Wall -W -O2 -lm -march=native -pipe"
Le changement activera la bibliothèque mathématique 'libm' et le programme compilera parfaitement!