Re: Mod-perl, Apache, and Unresolved Symbols...
On Sat, 19 Dec 1998, Ryan Kirkpatrick wrote:
> Trying to get mod-perl running under apache, but I am having a
> problem or two. I grabbed the libapache-mod-perl deb package out of
> unstable and installed it on my nearly stock hamm machine. First off it
> complained about needing apache-common (>=1.3.3), but only an older of
> version of this package exists from what I could find after much
> searching. Installed that one, and then forced mod-perl to install.
that's where your problem is. you've forced it to install when not all
of it's dependancies have been met. a newer version of apache-common
does exist, and should be installed.
i have had apache and mod_perl and related packages from unstable
installed and running perfectly for months with no problems.
this is what i currently have installed. the last time i upgraded this
machine was about a week ago...
# dpkg -l "*apache*" | grep "^ii"
ii apache 1.3.3-4 Versatile, high-performance HTTP server
ii apache-common 1.3.3-4 Support files for all Apache webservers
ii apache-dev 1.3.3-4 Apache webserver development kit
ii apache-doc 1.3.3-4 Apache documentation
ii libapache-asp-p 0.05-1 Active Server Pages for Apache
ii libapache-dbi-p 0.80-1 Connect apache server to database via perl's
ii libapache-dbilo 0.92-1 Tracks what's being transferred in a DBI dat
ii libapache-mod-p 1.16-2 Integration of perl with the Apache web serv
(i've got asp-perl installed too but i'm not actually using it yet.
haven't had time to experiment enough with it. i am making some use of
mod_perl and it works perfectly...it's great!)
> I am aware that I might be mixing apples and oranges by grabbing
> pieces from hamm and unstable and installing them on the same
> machine. I tried installing a newer version of apache, but that
> only caused more unresolved errors on mod_rewrite.o, for symbol
> lstat. Tried upgrade libc6 (where lstat should be found) to the
> unstable version, but no luck.
it is almost always a bad idea to force dpkg to install a package. you
*can* use the --force options, but you should realise that they are NOT a
solution to 99% of installation problems and in fact will usually cause
problems if you use them carelessly.
instead you should examine the output of dpkg and download any
additional packages that it wants and install them too. repeat this
procedure until it all installs without error. use 'dpkg -s' for package
status details, 'dpkg -I' to show info about a .deb file, 'dpkg -C' to
show any unconfigured/problem packages, and 'dpkg --configure --pending'
to configure any packages which have been installed buut not yet
configured. see below for an easier way of doing all this with apt.
finally, i have found that using 'dpkg -iBE foo.deb' is generally better
than using just 'dpkg -i foo.deb'
alternatively, do a complete upgrade to frozen or unstable. i run my
systems on unstable but i am aware of the potential dangers of doing
so and am generally willing to take that risk because i have enough
experience with debian to fix almost any problem that crops up. if you
decide to keep your systems up-to-date with unstable, be aware that from
time to time it WILL be unstable and broken. most of the time it works
as well as or better than 'stable' or 'frozen'...but sometimes it is
completely broken (which is why it is called unstable). definitely NOT for
the inexperienced or the faint-of-heart.
if you choose to run unstable, the best way is to install apt. configure
apt to look for packages in stable, frozen, AND unstable. then run
dselect and make apt your Access method. then do the usual Update,
Select, Install thing.
btw, if you install apt and configure it as mentioned it is possible to
easily upgrade just apache and mod_perl and only those packages which it
apt-get install apache apache-dev libapache-mod-perl
apt will figure out what other updated/new packages are required by
these and ask you if you want to install them too. it will also offer to
remove any old packages which conflict with the new versions (if any).
apt is cool.