On 28-Jan-00 Jeroen Ruigrok van der Werven wrote:
> ===> bin/pwd
> install -c -s -o root -g wheel -m 555   pwd /bin
> install -c -o root -g wheel -m 444 pwd.1.gz  /usr/share/man/man1
> ===> bin/rcp
> install -c -s -o root -g wheel -m 4555  -fschg rcp /bin
> /usr/libexec/ld-elf.so.1: install: Undefined symbol "string_to_flags"
> *** Error code 1
> 
> Stop in /usr/src/bin/rcp.
> *** Error code 1
> 
> 
> This is the second or third make world to bomb on me with the same
> error.  I ensured sources and such were clean.
> 
> I think David O`Brien saw the same breakage.

This is indicative of a larger problem with installworld.  The short
version is that we need install tools just like we have build tools now.
The long version is this:

Problem:

It would seem from Asmodai's breakage that installworld assumes that it
is ok to use the existing binaries on the system in /bin /usr/bin, etc.
to install the new ones.  However, if you have a rare case like this
where the old and new libs/progs are incompatible, then there is a
window between the installation of the different parts where you can
get screwed.  For example, here the new libc gets installed, which
doesn't have the 'strings_to_flags' call.  The old install program (not
yet replaced) tries to call the 'string_to_flags' function which was
present in the old libc but which isn't around anymore.  Boom!

Solution:

We need statically built install tools just like we have build tools.
I think we should use the newer versions (i.e. static versions of the
ones we just built under /usr/obj during buildworld that are linked
against the new libraries), rather than doing some fancy footwork to
make the existing binaries work.  We already do this with the build
tools.  By using the newer binaries we only have to maintain one
interface in our Makefiles to the install tools: whatever their
current interface is in /usr/src.

Comments, suggestions?

-- 

John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.cslab.vt.edu/~jobaldwi/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to