List:MySQL and Perl« Previous MessageNext Message »
From:Mark Nickel Date:June 22 1999 8:59pm
Subject:Re: Situation when testing Msql-Mysql-Modules under HP-UX
View as plain text  
David,

BINGO!!  That did the trick.  Looking at your instructions I understand the nifty
little trick you pulled.  By moving the shared libraries out of the lib/mysql
directory, Mysql-modules was forced to link using the static libraries thereby
skipping all the dynamic loading problems.

Very cool.

Thanks for your responses, David and Jochen.  Ya saved my skin!!  :)

Mark Nickel

PS.  I'm wasting a bit of bandwidth and posting this message to the whole mail
list.  I couldn't find these instructions using the search engine provided by the
MARC people's at
MARC: Mailing list ARChives at PCC

I think these instructions are excellent, thanks again!


David Wendt wrote:

> Mark,
>
> Here is a process I used to get the modules compiled on HP-UX 10.20.  Thanks to
> both Monty and Jochen.
>
> Hope it helps.
>
> David Wendt
> IT Engineer
> Hewlett Packard Company
> Colorado Springs, CO
>
>         Download the following hp-ux compiled tools
>
>                 gcc
>                 binutils
>                 make
>                 sed patch
>
>         Set your $PATH to use gcc, binutils, and make.
>
>         Compile Perl with the gcc compiler, (5.005_02 was used).
>
>         Compile MySQL with the gcc compiler:
>                 CC=gcc CXX=gcc CFLAGS=-fpic ./configure --prefix=/opt/mysql
>                 --localstatedir=/var/opt/mysql/data --with-low-memory
>
>         Compile and install the DBI modules.
>
>         Start the DB
>
>         Move the following files/links that are under the MySQL directory
>         out of the lib/mysql directory.
>
>                 libmysqlclient.sl -> libmysqlclient.sl.6.0
>                 libmysqlclient.sl.6 -> libmysqlclient.sl.6.0
>                 libmysqlclient.sl.6.0
>
>         Compile, test and install the Msql-Mysql modules. (gcc was used)
>
>         Stop the DB.
>
>         Move the lib files back in place.
>
>         Restart the DB.
>
>         Verify.
>
> > Jochen,
> >
> > Thanks very much for replying.  I dug through the README as you included in
> your
> > response.  (Honest, I grepped on the README for the _udivd13 error I was
> getting :) )
> >
> > Anyway, I tried rebuilding perl from scratch, per option a) under the KNOWN
> PROBLEMS and
> > specifically told perl to use the 'ld' command that comes under the 2.8.1 gcc
> binary
> > release as well as option -fPIC under gcc.  Perl built just fine and all the
> tests
> > passed without any problems.
> >
> > Here is what I got when running the 'make' under Mysql-modules:
> > (A snippet from the 'make')
> >
> >
> LD_RUN_PATH="/opt/mysql/lib/mysql:/lib/pa1.1:/opt/gcc/lib/gcc-lib/hppa1.1-hp-hpu
> > x10.20/2.8.1" /opt/gcc/lib/gcc-lib/hppa1.1-hp-hpux10.20/2.8.1/ld -o
> ../blib/arch
> > /auto/DBD/mysql/mysql.sl  -b -L/usr/local/lib dbdimp.o mysql.o
> -L/opt/mysql/lib/
> > mysql    -L/opt/mysql/lib/mysql -lmysqlclient -lm
> -L/opt/gcc/lib/gcc-lib/hppa1.1
> > -hp-hpux10.20/2.8.1 -lgcc
> >
> > This built mysql.sl without any errors to the screen.  I noticed that I was
> using the ld
> > from gcc package.  I thought I was home free.
> >
> > But, alas, I still received the error:
> > t/20createdrop....../usr/lib/dld.sl: Unresolved symbol: __udivdi3 (code)  from
> /
> > usr/local/lib/libmysqlclient.sl.6
> > install_driver(mysql) failed: Can't load
> '../blib/arch/auto/DBD/mysql/mysql.sl'
> > for module DBD::mysql: Unresolved external at
> /opt/perl5/lib/5.00502/PA-RISC1.1/
> > DynaLoader.pm line 168.
> >
> >  at (eval 1) line 2
> >
> >  at t/20createdrop.t line 47
> > dubious
> >         Test returned status 215 (wstat 55040, 0xd700)
> > DIED. FAILED tests 1-5
> >         Failed 5/5 tests, 0.00% okay
> >
> >
> >
> > As I mentioned before, I've recompiled perl and have verified that it is
> pulling the
> > shared library functions for HPUX and have not received any errors from the
> 'make
> > test'.  I guess my next step is to try and rebuild mysql.  The only doubt in
> my mind
> > about the integrity of the mysql build is that I'm not sure if I used the
> linker, 'ld'
> > that came with gcc or the linker that is part of HPUX......
> >
> > The absolute worst case would probably be that I'd have to link the
> Mysql-modules
> > directly into the perl executable, but I'm not 100% sure how to do that.
> >
> > Thanks again, Jochen, for your response.  I look forward to any more
> suggestions.  I'm
> > trying to show that Mysql and Perl are a viable option for our business...
> >
> > Thanks in advance!
> >
> > Mark Nickel
> >
> >
> > Jochen Wiedmann wrote:
> >
> > >
> > >
> > >   KNOWN PROBLEMS
> > >        1.)     If the MySQL binaries are compiled with gcc or
> > >                egcs (as the precompiled binaries are), but your
> > >                Perl is using another compiler, it is likely that
> > >                you receive an error message like the following
> > >                when running "make test":
> > >
> > >                  t/00base............install_driver(mysql) failed: Can't
> > > load
> > >                  '../blib/arch/auto/DBD/mysql/mysql.so' for module
> > > DBD::mysql:
> > >                  ../blib/arch/auto/DBD/mysql/mysql.so: undefined symbol:
> > >                 _umoddi3
> > >                 at
> > > /usr/local/perl-5.005/lib/5.005/i586-linux-thread/DynaLoader.pm
> > >                  line 168.
> > >
> > >                This means, that your linker doesn't include
> > >                libgcc.a. You have the following options:
> > >
> > >        a)                  Either recompile Perl or Mysql, it
> > >                            doesn't matter which. The important
> > >                            thing is that you use the same
> > >                            compiler for both. This is definitely
> > >                            the recommended solution in the long
> > >                            term.
> > >
> > >        b)                  A simple workaround is to include
> > >                            libgcc.a manually. Do a "make clean"
> > >                            and "make" and in the output wait for
> > >                            a line like
> > >
> > >                              LD_RUN_PATH="/usr/lib/mysql:/lib" egcs -o
> > >                              ../blib/arch/auto/DBD/mysql/mysql.so  -shared
> > > -L/usr/local/lib
> > >                              dbdimp.o mysql.o -L/usr/lib/mysql
> > > -L/usr/lib/mysql
> > >                                 -lmysqlclient -lm
> > >
> > >                            Repeat the same line in the shell by
> > >                            adding
> > >
> > >
> > > -L/usr/lib/gcc-lib/i386-redhat-linux/gcc-2.7.2.3 -lgcc
> > >
> > >                            where the directory is the location of
> > >                            libgcc.a. The best choice for locating
> > >                            this file is executing
> > >
> > >                              gcc --print-libgcc-file
> > >
> > >                            or
> > >
> > >                              gcc -v
> > >
> > > --
> > > Jochen Wiedmann                                         joe@stripped
> > > A mathematician is an engine for converting coffee      +49 7123 14887
> > > into theorems. (Hi, Lukas! :-)
> > >
> > > ---------------------------------------------------------------------
> > > Please check "http://www.mysql.com/Manual_chapter/manual_toc.html" before
> > > posting. To request this thread, e-mail
> msql-mysql-modules-thread114@stripped
> > >
> > > To unsubscribe, send a message to the address shown in the
> > > List-Unsubscribe header of this message. If you cannot see it,
> > > e-mail msql-mysql-modules-unsubscribe@stripped instead.
> >
> >
> > ---------------------------------------------------------------------
> > Please check "http://www.mysql.com/Manual_chapter/manual_toc.html" before
> > posting. To request this thread, e-mail
> msql-mysql-modules-thread117@stripped
> >
> > To unsubscribe, send a message to the address shown in the
> > List-Unsubscribe header of this message. If you cannot see it,
> > e-mail msql-mysql-modules-unsubscribe@stripped instead.
> >
> >

Thread
Situation when testing Msql-Mysql-Modules under HP-UXMark Nickel19 Jun
  • Re: Situation when testing Msql-Mysql-Modules under HP-UXJochen Wiedmann21 Jun
  • Re: Situation when testing Msql-Mysql-Modules under HP-UXJochen Wiedmann21 Jun
  • Re: Situation when testing Msql-Mysql-Modules under HP-UXMark Nickel22 Jun
Re: Situation when testing Msql-Mysql-Modules under HP-UXMark Nickel23 Jun
  • Installing MYSQL on Red HatRichard Spangenberg23 Jun
    • Re: Installing MYSQL on Red HatJochen Wiedmann25 Jun
    • Re: Installing MYSQL on Red HatJochen Wiedmann25 Jun