Re: ELF migration questions.
On Thu, 8 Feb 1996, Alex Arthur wrote:
> Has anyone come up with a reliable method of cutting-over to ELF
> for development? I tried to do this based upon a discussion of the
> topic some time back, between Ian Jackson& David Engel.
> The steps were something like the following:
> >From Ian:
> > 1. Ensure that you have at least dpkg-1.0.7, or 1.0.10 if you want
> > to be able to use `dpkg-split --split'.
> Can someone explain what this does for you? (Just curious)
I think it's for splitting .deb files into smaller archives, but I'm not
too sure ...
> > 2. dpkg --install ld.so-<version>.deb
> Okay, this seemed to go fine.
> > 3. dpkg --remove libc
> > OR use dselect to deselect `libc' (ie, select it for removal)
> > If you use dpkg it will produce an error message about dependencies,
> > but it will have noted that you wanted to remove libc.
> Yes, dpkg didn't seem to allow me to do this. I typed the commandline
> as specified, but don't remember exectly what the diagnostic was.
That's right. dpkg notices that it can't just remove libc because lots
of things will break. :-) It does make a note that you want to remove
it, though, and will replace it when you try installing libc4 (which I
thing probably provides libc).
> > 4. dpkg --install --auto-deconfigure libc4-<version>.deb
> > This will replace libc with libc4. It may deconfigure (ie, break)
> > your a.out compiler packages, if you have any installed.
> > 5. dpkg --install libc5-<version>.deb
> > This will install the ELF libc.
> These steps seemed to go fine.
> I then started to install from devel: gcc, libg++, binutils, aout-binutils,
> aout-gcc, electric-fence, libc5-dev, libdb1, libdb1-dev, libgdbm1,
> libgdbm1-dev, & perl. In base I installed miscutils, modules, mount, mbr,
> & sysvinit. All of these seemed to install just fine.
> In the *-dev packages, what does the Packages file mean when it specifies
> the package as containing the "development files"? Should I need these,
> or should I have only installed the package without "-dev"?
My understanding is that the *-dev packages are for actually doing
development work, e.g. compiling. So libc5 would jsut contain the shared
library /lib/libc5*, used at run-time; libc5-dev would contain the
libraries in /usr/lib which are used at compile-time. That's my
> When I rebooted, I couldn't execute much of anything, any ideas on what
> I did wrong? Is there anything I selected that I shouldn't have? Perhaps
> my problem is that I don't know when to stop installing ;-).
Yes, I suspect so. :-) Personally, I would have been very careful before
replacing sysvinit. What kernel are you using? Does it have ELF
built-in, or as a module, or neither?
I've moved over to ELF to a certain extent, but I haven't touched the
base section. (BTW, you'll need to replace ncurses too, probably, as
this is the default curses library for ELF.)
Hope this helps,