On 28-09-2014 05:50, Armin K. wrote:
> On 09/28/2014 09:36 AM, Pierre Labastie wrote:
>> Hi,
>>
>> I run into the following error when building sudo-1.8.11 on a fresh LFS 7.6:
>> ------
>> libtool: link: gcc -shared  -fPIC -DPIC  .libs/sudo_auth.o .libs/getspwuid.o
>> .libs/passwd.o .libs/boottime.o .libs/check.o .libs/env.o .libs/find_path.o
>> .libs/goodpath.o .libs/group_plugin.o .libs/interfaces.o .libs/iolog.o
>> .libs/iolog_path.o .libs/locale.o .libs/logging.o .libs/logwrap.o
>> .libs/parse.o .libs/policy.o .libs/prompt.o .libs/set_perms.o 
>> .libs/sudo_nss.o
>> .libs/sudoers.o .libs/timestamp.o  -Wl,--whole-archive
>> ./.libs/libparsesudoers.a -Wl,--no-whole-archive  -Wl,-rpath
>> -Wl,/sources/sudo/sudo-1.8.11/lib/util/.libs -Wl,-rpath -Wl,/usr/lib/sudo
>> -lcrypt -lshadow ../../lib/util/.libs/libsudo_util.so -ldl -lz  -Wl,-z
>> -Wl,relro   -Wl,-soname -Wl,sudoers.so -o .libs/sudoers.so
>> /usr/bin/ld: cannot find -lshadow
>> collect2: error: ld returned 1 exit status
>> Makefile:204: recipe for target 'sudoers.la' failed
>> make[2]: *** [sudoers.la] Error 1
>> make[2]: Leaving directory '/sources/sudo/sudo-1.8.11/plugins/sudoers'
>> Makefile:89: recipe for target 'all' failed
>> make[1]: *** [all] Error 2
>> make[1]: Leaving directory '/sources/sudo/sudo-1.8.11'
>> ------
>> I have tried to find libshadow in /usr/lib and /lib, and found nothing.
>> Actually, during the build of shadow, they use libshadow.a, which is linked 
>> to
>> the executables, but not installed.
>>
>> Looking at what changed in configure.ac, I think I found the faulty code:
>> -------- Note that shadow_libs_optional contains "-lshadow"
>>         AC_CHECK_FUNCS($shadow_funcs, [found=yes])
>> -       if test "$found" = "yes"; then
>> -           SUDOERS_LIBS="$SUDOERS_LIBS $shadow_libs"
>> -       elif test -n "$shadow_libs_optional"; then
>> +       if test "$found" = "yes" -a -n "$shadow_libs_optional"; then
>>             LIBS="$LIBS $shadow_libs_optional"
>>             AC_CHECK_FUNCS($shadow_funcs, [found=yes])
>>             if test "$found" = "yes"; then
>> -               SUDOERS_LIBS="$SUDOERS_LIBS $shadow_libs 
>> $shadow_libs_optional"
>> +               shadow_libs="$shadow_libs $shadow_libs_optional"
>> -------
>> So while before, $shadow_libs_optional was only added when $found was
>> different from "yes", now it is included when $found is equal to "yes".
>>
>>
>>
>> Actually, the issue seems to have been corrected at:
>> http://www.sudo.ws/repos/sudo/rev/fdf06757f25d
>>
>> But what amazes me is that nobody on the list has seen this yet. Is there a
>> possibility that some of our developpers have libshadow installed? And if 
>> so, how?
>>
>> Pierre
>>
> 
> If you build with PAM support then it's not needed, obviously. My guess
> is that whoeever updated the package had PAM installed, that's why the
> issue went undetected.
> 
> So, for the time being, you can try manually copying libshadow.a from
> shadow build dir.

Funny, I never build with PAM support, this time decided to do it.
Thanks, Armin, I was just reply to this, when saw your message.

-- 
[]s,
Fernando
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to