[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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 
impression, anyway.

> 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,


Reply to: