Strange problem with libc: undefined reference to `crypt'

15,283

Solution 1

Try adding '-lcrypt' after any objects used in linking; I've had a couple of instances where gcc would complain about crypt if -lcrypt wasn't near the end of the link list.

In other words, try something like:

gcc -D FOO -D BAR -W -Wall -pedantic -O2 foo.o bar.o -lnsl -lcrypt -o baz

as opposed to

gcc -D FOO -D BAR -W -Wall -pedantic -O2 -lnsl -lcrypt foo.o baz.o -o baz

Solution 2

undefined reference to 'crypt' is a linker error.

Try linking with -lcrypt : gcc ....-lcrypt

Share:
15,283

Related videos on Youtube

sorush-r
Author by

sorush-r

C/C++ Linux development Embedded Systems Electronics Hobbyist And I Love cats :> Detailed Resume

Updated on September 18, 2022

Comments

  • sorush-r
    sorush-r almost 2 years

    I moved from Archlinux to Kubuntu 12.04 yesterday.

    I compiled buildroot 2012.08 on Archlinux without any problem. Though on Kubuntu libcrypt seems to be broken. sysvinit can't find it anywhere. glibc-dev and all dependencies are installed.

    How do I link to libcrypt? Or, which package containts that library?

    ...
    bc-gcc   sulogin.o    -o sulogin
    sulogin.o: In function `main':
    sulogin.c:(.text+0x49d): undefined reference to `crypt'
    collect2: ld returned 1 exit status