5

I have a VAIO laptop (VPCS116FG, S series). Its keyboard has sensors that can detect how bright the surrounding is, so it automatically turns on the backlight in dark places such as airplane cabins. Since I've moved to Ubuntu from Windows 7, the backlight sensor doesn't work at all.

By googling the issue, I found this website and followed the instructions, but at the compilation step, I was met with the following errors:

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

How do I make it work?

jasonwert
  • 375

3 Answers3

5

I finally managed to get the thing to compile by making one slight adjustment to the compile file:

Line 16 reads:

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

Change it to:

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

Alternatively, you can issue the following two commands right before running ./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
Nathan Osman
  • 32,495
5

I am on VAIO VPCS123FG S Series. Googled the same issue and found a solution for my machine.

Enter the following command in the terminal:

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

Thanks to TechArena Community.

Gigili
  • 157
  • 1
  • 12
1

These log() and pow() are math functions, and you need to make a tiny change to the compile file in order to make it work.

Specifically, open the compile file and replace

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

with

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

The change will enable the math library 'libm' and the program will compile just fine!

user4124
  • 9,241