[SM-Discuss] rebuilding from scratch using ISO 0.9.0

Lyon Lemmens redlemon at knoware.nl
Mon Feb 2 05:30:42 EST 2004


Hi everybody,

long time no see.

Anyway. At some point last week during an update 
my /var/state/sorcery/packages got clobbered and its update was 2 months 
old. Don't know why or how that happened. So I was faced by the choice of 
either: 

	- use the packages.backup and update
        - use the packages.backup and rebuild
	- do a fresh install

As I've been living off sorcery updates since I first joined SMGL just 
before the fork and I wanted to move to 2.6 kernel anyway, I chose for the 
last.

Now, on average it was relatively painless. Install from the ISO worked ok. 
One glitch during rebuild:

I switched to the test grimore and devel sorcery

During rebuild coreutils dispelled itself before "make install". 
Unfortunately that deleted /usr/bin/install, which it had detected during 
configure. As a result, it wouldn't install anymore. Result: no core utils.

my solution was to manually copy ginstall from the /usr/src/coreutils tree 
to /usr/bin/install and re-cast. A better solution would prolly be to 
protect /usr/bin/install during dispel

Then the fun began. I had saved a "gaze export" and also made a full backup 
of my old system to my laptop, so I was safe.

The snapshot contained lots of cruft from my old system, so I didn't want to 
rely on it but used it as a guideline for entering the dependencies.

90% of all packages installed OK. So kudos to the team.

But I'm still (after 3 days :-/) working on the 10% that went wrong. Here 
are the hilights until now: (most of them seem to be related to using the 
2.6 kernel)

gimp-print and cups:
    cups has an optional-depend on gimp-print
    gimp-print depends on cups

alsa-driver:
    I had the same results as others in this list

    <cut>
    ....
    /usr/src/linux-2.6.1/scripts/Makefile.modpost:17: *** Uh-oh, you have
    stale module entries. You messed with SUBDIRS,
    /usr/src/linux-2.6.1/scripts/Makefile.modpost:18: do not complain if
     something goes wrong.
     MODPOST
     make[2]: Leaving directory `/usr/src/linux-2.6.1'

     ALSA modules were successfully compiled.

     make[1]: Leaving directory `/usr/src/alsa-driver-1.0.2'
     Preparing to install alsa-driver
     Dispelled spell: alsa-driver 
     make[1]: Entering directory `/usr/src/alsa-driver-1.0.2'
     find /lib/modules/2.6.1/kernel/sound -name 'snd*.*o' | xargs rm -f
     make[2]: Entering directory `/usr/src/alsa-driver-1.0.2/acore'
     mkdir -p /lib/modules/2.6.1/kernel/sound/acore
     cp snd-hwdep.ko snd-page-alloc.ko snd-pcm.ko snd-rawmidi.ko
     snd-rtctimer.ko snd-timer.ko snd.ko
     /lib/modules/2.6.1/kernel/sound/acore
     cp: cannot stat `snd-hwdep.ko': No such file or directory
     cp: cannot stat `snd-page-alloc.ko': No such file or directory
     cp: cannot stat `snd-pcm.ko': No such file or directory
     cp: cannot stat `snd-rawmidi.ko': No such file or directory
     cp: cannot stat `snd-rtctimer.ko': No such file or directory
     cp: cannot stat `snd-timer.ko': No such file or directory
     cp: cannot stat `snd.ko': No such file or directory
     ...
     chown: failed to get attributes of `/dev/adsp': No such file or
     directory
     ... etc

     finally: 
     /tmp/casting.7949: line 28: [: too many arguments
     </cut>

     whoops. 

     I switched to using the kernel alsa drivers. Worked OK.

cdrtools:
     during building libscg it ran into problems
     with /usr/src/linux/include/scsi/scsi.h. All kind of types were not
     defined. This appears to have to do with #ifdef __KERNEL__ lines that
     do not include type definitions when you're not building the kernel. My
     understanding is that the installation of glibc now installs user mode
     includes into /usr/include and that user mode progs should not mess
     with kernel includes anymore. So I added:

        sedit "s!/usr/src/linux/include!!" DEFAULTS/Defaults.linux &&

     to the top of BUILD, and hey presto. cdrtools compiled fine. I haven't
     tried to burn a CD with it yet, though.

kdeadmin:
     ran into parse problems with /usr/include/linux/mod_devicetable.h:

     <cut>
     /usr/include/linux/mod_devicetable.h:34: error: '__u32' is used as a
     type, but is not defined as a type.
     </cut>
     
     Hey, these are the userspace includes. Why are there still __KERNEL__
     ifdefs in here?

eject:
     ran into parse problems with /usr/src/linux/include/scsi/scsi.h

samba:
     ran into problems in /usr/include/linux/radix-tree.h: undefined symbol
     TIF_NEED_REBUILD during build of smbclient. Kernel definition again.
     Temporary commenting out the radix-tree include, let me build samba OK.
     
ffmpeg:
     I had to switch to the CVS version to get it to compile

faad2:
     I couldn't get it to install. gcc crashed with an internal error on
     ic_predict.c, though that was invisible because the gcc output is
     redirected to /dev/null in the makefiles.
     I guess I can go without faad2 for now.

svgalib:
     /usr/src/svgalib-1.9.17/src/libvga.h:106: error: redefinition of
    `struct info'.

     Yeah right. struct info. Now *that* is a unique name if I've ever seen
     one. I can do without svgalib for a while.

amaya:
     ancient version in grimoire

tidy:
     won't download source

modplugxmms:
     /usr/include/libintl.h:40: error: parse error before `__const'. kernel
     ifdefs. 

autofs:
     when I compiled autofs4 as a module into the kernel, the automounter
     could not load it automatically, event though there was an
     "alias autofs autofs4" in modprobe.conf. Including it into the kernel
     itself got rid of that.
    
NVIDIA_drivers:
     these appear to rebuild the whole kernel again when I install them. And
     that happens whenever I have to recast the kernel. 

     which brings me to:

linux:
     the new 2.6 kernel is much smarter when it comes to building it. Isn't
     there a way to harness that? It seems a bit wasteful to do a complete
     cast (with unpack and md5summing) every time I want to change just one
     parameter. Also I've seen several times that casting alsa-driver or
     NVIDIA_driver seem to relink all the modules again.


assorted errors and observations:

- after installation, there was no /var/tmp
- there is no /var/log/lastlog
- nfs warning: mount version older than kernel
- spamassassin doesn't include an init.d file for the spamd

  <cut>
   #!/bin/sh

   NEEDS=/usr/bin/spamd
   PROGRAM=/bin/false
   RUNLEVEL=3

   . /etc/init.d/smgl_init

   start()
   {
       echo   "Starting spam killer"
       loadproc spamd -d -u mail -p 400
       evaluate_retval
   }
   stop()
   {
       echo   "Stopping spam killer"
       killproc spamd
       evaluate_retval
   }
   restart()
   {
       stop
       start
   }
   usage()
   {
       echo   "Usage: $0 {start|stop|restart}"
   }
   </cut>


Oh, and there are lots of problems with my old section: perl-cpan. I'll try 
to solve those as I go along and post fixes.

I haven't had time to create bug reports for all these, as my first convern 
is to bet my workstation up&running again. I'll be a good boy and do so as 
soon as possible.

-- 
Lyon Lemmens
redlemon at knoware.nl



More information about the SM-Discuss mailing list