Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I get a linker error when I try to configure the Linux kernel with menuconfig:

# make menuconfig
  HOSTLD  scripts/kconfig/mconf
/usr/local/bin/ld: scripts/kconfig/lxdialog/checklist.o: undefined reference to symbol 'acs_map'
/usr/local/bin/ld: note: 'acs_map' is defined in DSO /lib/libtinfo.so.5 so try adding it to the linker command line
/lib/libtinfo.so.5: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[1]: *** [scripts/kconfig/mconf] Error 1
make: *** [menuconfig] Error 2

Any idea as to what is wrong with it? I'm running CentOS 6.2 and I'm sure I've installed all the needed libs.

share|improve this question

migrated from serverfault.com Feb 1 '12 at 3:14

This question came from our site for professional system and network administrators.

    
did you install all of these:"gcc gcc-c++ kernel-devel"? –  Niko S P Feb 1 '12 at 2:45
    
Yep. ncusrses, binutils, and more. ;/ –  Jane Feb 1 '12 at 2:54
    
Which version of curses? –  Faheem Mitha Feb 1 '12 at 8:24

2 Answers 2

Have you tried to symlink between libncurses.so. and libtinfo.so.?

cd /lib
ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5

The libncurses lib name may depend on you version.

share|improve this answer

After upgrading binutils to 2.22 I ran into the same issue. I solved it by adding the following line to scripts/kconfig/Makefile:

HOSTLOADLIBES_mconf     = -ltinfo

Apparently a change in the linker no longer includes libraries for you for free anymore; you must explicitly link against every library your application needs. See the following for more information: DSO link change

for 3.2.58 kernel append the -ltinfo the the end of the HOSTLOADLIBES_mconf line; so the original:

HOSTLOADLIBES_mconf   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))

will become:

HOSTLOADLIBES_mconf   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) -ltinfo
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.