Датчик подсветки клавиатуры не работает на Sony Vaio VPCS116FG

У меня есть ноутбук VAIO (VPCS116FG, серия S). Его клавиатура имеет датчики, которые могут определять яркость окружения, поэтому она автоматически включает подсветку в темных местах, таких как кабины самолета. Поскольку я перешел на Ubuntu из Windows 7, датчик подсветки не работает вообще.

Погуглив проблему, я нашел этот сайт и следовал инструкциям, но на этапе компиляции меня встретили следующие ошибки:

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

Как мне заставить это работать?

5
задан 28 May 2012 в 07:57

3 ответа

Мне, наконец, удалось получить объект для компиляции, сделав одну небольшую поправку к файлу compile:

Строка 16 гласит:

$CC $CFLAGS $LDFLAGS $DEFINES -o $OUTPUT $SRC_DIR/*.c

Измените его на:

$CC $CFLAGS $DEFINES -o $OUTPUT $SRC_DIR/*.c $LDFLAGS

В качестве альтернативы, вы можете выполнить следующие две команды непосредственно перед запуском ./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
0
ответ дан 28 May 2012 в 07:57

Это log() и pow() математические функции, и вам нужно внести небольшие изменения в файл compile, чтобы он работал.

В частности, откройте файл compile и замените

CFLAGS="-Wall -W -O2 -march=native -pipe"

на

CFLAGS="-Wall -W -O2 -lm -march=native -pipe"

. Это изменение включит математическую библиотеку 'libm', и программа будет прекрасно компилироваться!

0
ответ дан 28 May 2012 в 07:57

Я нахожусь на VAIO VPCS123FG S Series . Погуглил ту же проблему и нашел решение для моей машины.

Введите в терминале следующую команду:

echo 1 | sudo tee / sys / devices / platform / sony-laptop / kbd_backlight

Благодаря сообществу TechArena .

0
ответ дан 28 May 2012 в 07:57

Другие вопросы по тегам:

Похожие вопросы: