[lfs-support] Getting <su> in Chapter 5 [SOLVED][RESURRECTED]
beesnees at grm.net
Mon Oct 14 08:40:00 PDT 2013
On 10/14/2013 10:18 AM, Bruce Dubbs wrote:
> Dan McGhee wrote:
>> On 10/13/2013 11:02 PM, Bruce Dubbs wrote:
>>> Drew Ames wrote:
>>>> On 10/13/2013 06:48 PM, Dan McGhee wrote:
>>>>> I got to chroot and the copied su from shadow in Ch 5 didn't work. I
>>>>> can find no reason that it didn't. What I want to do now is compile it
>>>>> in chroot environment and install only it there. Just in case I missed
>>>>> some kind of linking. That seems unlikely, but.... ldd /tools/bin/su
>>>>> (on the copied version) provided:
>>>>>> linux-vdso.so.1 (0x00007ffff9b38000)
>>>>>> libcrypt.so.1 => /tools/lib/libcrypt.so.1 (0x00007f20fb668000)
>>>>>> libc.so.6 => /tools/lib/libc.so.6 (0x00007f20fb2b8000)
>>>>>> /tools/lib64/ld-linux-x86-64.so.2 (0x00007f20fb8a0000)
>>>>> as did ldd on my DESTDIR install, so it looks like everything is there.
>> <did some snipping>
>>>> Dan, Bruce, and Ken,
>>>> I've been following this thread with interest. I'm into my fourth LFS
>>>> build, using LFS 7.4.
>>>> For my previous three builds, I successfully use the package user hint
>>>> without any problems. Now I'm facing the same issues as Dan.
>>>> <more snipping>
>>>> I tried building su from an old source at this link, starting at line 802:
>>>> I built it with GCC at the end of chapter 5 (I typed 'gcc -o su su.c'),
>>>> then copied it to /tools/bin.
>>>> When I got to chapter 6, as the root user in the chroot environment,
>>>> that copy of su would not switch users to the linux-libc-headers user I
>>>> created for the first package. I got the error:
>>>> bash: /tools/bin/su: No such file or directory
>>>> I then copied su from the host system and got the same results.
>>>> Dan, when you say that su didn't work for you. Did you get an error message?
>>> I don't know, but I wonder if the problem is the lack of passwd, group,
>>> shadow, etc files. You need to track the source to find out. Just add
>>> printf statements at strategic places.
>> Bruce, I think your on to something. Thank goodness for this list. Many
>> times I can get into a "thinking rut" when I'm troubleshooting. Fresh
>> minds really help.
>> I'm thinking that the previous version of su supplied with coreutils was
>> a "stand alone" binary. The versions supplied now by shadow and
>> util-linux depend on "auxiliary stuff" as you mentioned; i.e., we don't
>> install su from util-linux because it depends on pam, which we don't
>> use. Shadow, I think, integrally supplies the monitoring that pam does.
>> When I examined shadow's "configure --help" this AM, I found this:
>>> --enable-shadowgrp enable shadow group support [default=yes]
>>> Install the user and group management tools setuid
>>> and authenticate the callers. This requires
>> Additionally, shadow tracks the number of logins, failed logins and all
>> that other stuff. But I don't know how few of these additional files are
>> needed to run it.
>> If someone were familiar with printf, Bruce, I think you're right. :)
>> I've been trying to learn about it this morning and know that I can
>> change decimal numbers to octal or hex or any combination of that. I
>> found that I can make pretty tables and center text, but I could find no
>> examples of how to use it in the way you described. What kind of
>> "strategic places" were you thinking and in what context?
> In the source, add something like:
> printf( "After executing foo\n" );
> at places and recompile. Then test and see if you get that output. If
> not then back up. Sometimes I just use printf( "1111\n" );, 2222, 3333,
> etc in the code. Note that the same thing can be done easier in gdb
> using stepping and preakpoints, but that's a bit difficult in this
> If you are not familiar with C and have trouble understanding the code,
> this may not be the method that works for you.
> -- Bruce
Therin lies the rub, Bruce. For many things in LFS, I know enough to ask
semi-relevant questions, but the only thing I know about C is that it
exists. Sounds like a project for one of those long, midwest winter
nights when the north wind is howling at about 25 knots during a
blizzard, and I have my hands wrapped around a piping mug of tea with
honey and lemon.
But for the topic at hand. I couldn't get su to work from a DESTDIR
install even after I configured it in the DESTDIR--in chroot
environment. Look like a "regular" install of shadow is in order. For
purposes of the hint, assuming success with this step, I'll use the
"nuke the build" option and see if I can get shadow to work at the end
of Ch. 5. Depending on which one succeeds, I will recommend updating the
Thanks for the help.
More information about the lfs-support