List:MySQL and Perl« Previous MessageNext Message »
From:Mark Nickel Date:June 22 1999 3:58pm
Subject:Re: Situation when testing Msql-Mysql-Modules under HP-UX
View as plain text  
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.

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