[PLUG] Having chroot Problems with MySQL and Locales

Mark Phillips mark at phillipsmarketing.biz
Wed Jun 2 16:05:22 UTC 2010


On Wed, Jun 2, 2010 at 8:50 AM, Carlos Konstanski <
ckonstanski at pippiandcarlos.com> wrote:

> On 06/02/2010 07:46 AM, Mark Phillips wrote:
> > I have created a 32 bit chroot (Debian Lenny) on my 64 bit Debian Squeeze
> > machine. I am having a problem installing mysql into this chroot, as well
> as
> > a problem with locales.
> >
> > 1. I have run dpk-reconfigure locales, answered all the questions but I
> > still get locale warnings:
> > perl: warning: Falling back to the standard locale ("C").
> > perl: warning: Setting locale failed.
> > perl: warning: Please check that your locale settings:
> >     LANGUAGE = (unset),
> >     LC_ALL = (unset),
> >     LANG = "en_US.UTF-8"
> >     are supported and installed on your system.
> >
> > 2. MySQL fails the configuration, but there are no error messages to say
> > what is failing:
> > Starting MySQL database server: mysqld . . . . . . . . . . . . . .
> failed!
> > invoke-rc.d: initscript mysql, action "start" failed.
> > dpkg: error processing mysql-server-5.0 (--configure):
> >  subprocess post-installation script returned error exit status 1
> > dpkg: dependency problems prevent configuration of mysql-server:
> >  mysql-server depends on mysql-server-5.0; however:
> >   Package mysql-server-5.0 is not configured yet.
> > dpkg: error processing mysql-server (--configure):
> >  dependency problems - leaving unconfigured
> > Errors were encountered while processing:
> >  mysql-server-5.0
> >  mysql-server
> >
> > I have mounted /proc and /dev/pts to the chroot. Am I missing anything
> else?
> > I can't seem to find a good mysql chroot example on the web - many of
> them
> > work by installing mysql and then moving it to the chroot (won't for for
> me
> > as I have a 64 bit system) or compiling from source. i could do that, but
> I
> > was hoping not to have to.
> >
> > Thanks!
> >
> > Mark
>
> In order to help you properly, I would have to try building a 32 bit chroot
> on a debian box myself.


I installed lenny as the chroot.


> I won't be able to do that until the weekend. So
> here's a shot in the dark:
>
> First run "locale -a". Do you see en_US.utf8 in the list? Good. If not, try
> running "locale-gen" and then seeing if "locale -a" returns anything
> different.
>
> Does your 32 bit filesystem contain a file /etc/default/locale? I see that
> in my Ubuntu VM. It contains this line:
>
> LANG="en_US-UTF8"
>
> Try making it look like this:
>
> LANG=en_US.utf8
> LC_CTYPE=en_US.utf8
> LC_MESSAGES=en_US.utf8
> LC_PAPER=en_US.utf8
> GDM_LANG=en_US.utf8
>
> (Stay away from LC_ALL if possible; it is for clobbering all your LANG
> settings in one felswoop, useful for scripts and such.)
>
> I don't know whether you have to run some command to make changes to this
> file "stick". In Gentoo the file would be called /etc/env.d/02locale, and
> you'd have to run "env-update". Try logging out and back in(to your
> chroot),
> and see what that does for you. Test the results by running the command
> "locale", which will show you your current locale settings.
>
> But I'm not sure that having your locale set to C is a bad thing for a
> package installation. Some builds explicitly set the locale with LC_ALL="C"
> in the makefile so that the output of the build commands will be
> predictable
> and parseable. Though locale is a big deal once your database is running.
>

I got rid of the local problems with some simple setting of evnironment
variables and then running the package configuration. I posted the details
in an earlier email. Thanks for the suggestions!

>
> As for the mysql problem, all I can suggest at the moment is to try
> starting
> it manually with the appropriate mysqld command. Maybe use "ps fauxw |grep
> mysqld" to see the command line that your "good" mysql is using. Starting
> mysql manually from a shell may cause more useful error messages to be
> printed to stdout. There may be some debugging options to the mysqld
> command
> as well.
>

Running from the command line just gives the failed message. None of the
mysql log files have anything written to them, and the users/groups and
permissions are correct.

>
> You could locate the mysqld binary and run "file mysqld" to see if it is
> really a 32 bit ELF executable. Though it could just as easily be a shell
> script. Somewhere in the mysql installation there ought to be some binaries
> which would work for this test.
>

[orca:/]#  file /usr/sbin/mysqld
/usr/sbin/mysqld: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
[orca:/]#

Thanks!

Mark

>
> Carlos
> _______________________________________________
> PLUG mailing list
> PLUG at lists.pdxlinux.org
> http://lists.pdxlinux.org/mailman/listinfo/plug
>



More information about the PLUG mailing list