Saturday, May 10, 2008

Getting fresh meat for Debian Etch (and solving the Dynamic MMap ran out of room problem)

Oddly enough the I don't recall ever installing anything from the Debian testing repository so far, but an opportunity presented itself when I discovered projectM. Getting projectM to work in Amarok is another story but for now, just the details of the pull from the testing repository:

1. SOP - Just add deb http://ftp.debian.org/debian/ testing main non-free contrib to sources.list in /etc/apt. I also added deb-src http://ftp.debian.org/debian/ testing main non-free contrib which probably contributed to the problems I had later.

2. Run apt-get update. Processed and downloaded the repository packages' metadata fine, until it ran into:

E: Dynamic MMap ran out of room
E: Error occured while processing sqlrelay-sqlite (NewPackage)
E: Problem with MergeList /var/lib/apt/lists/ftp.us.d.........contrib_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.

So I googled the error and found a partial solution at the cached version of http://jaqque.sbih.org/kplug/apt-pinning.html:

You may find that you receive an error like the following:


E: Dynamic MMap ran out of room
E: Error occured while processing sqlrelay-sqlite (NewPackage)
E: Problem with MergeList /var/lib/apt/lists/ftp.us.debian.org_debian_dists_woody_contrib_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.

This is caused because apt's cache is too small to handle all of the packages that are included with stable, testing, and unstable. This is also very easy to fix. Add the following line to /etc/apt/apt.conf

APT::Cache-Limit "8388608";

Thanks to R (Chandra) Chandras for pointing out this problem

Now it turns out in my Etch there is no apt.conf...there is an apt.conf.d directory with two conf files containing directives. So I followed the pattern, named mine 80aptcache.conf and added the CacheLimit directive above. However I had to set it to some insane high value - 200000000 (I suspect because of including the src packages) to finally get apt-get update working. But it did work and I got a the 1.01 version of libvisual-projectm. How I got that to work with Amarok is another post for another day.

No comments:

Post a Comment