Re: DBD::mysql library issue on mod_perl2/Leopard

"Hendrik Van Belleghem" <[email protected]> Mon, 10 Dec 2007 22:45:00 +0100
Newsgroups gmane.comp.db.mysql.perl
Message-ID <[email protected]>
Patrick,

In attachment I have retraced my steps of building DBD::Mysql. It's build on
top of the latest DBI 1.601 and Mysql 5.0.51  (custom built).

Let me know how it works out for you :)
Hendrik


On Dec 10, 2007 3:48 PM, Patrick Galbraith <[email protected]> wrote:

> Hendrik Van Belleghem wrote:
>
> >Hi
> >
> >I'm having some trouble with DBD::Mysql under mod_perl2 on Leopard.
> >The build process when just fine, make test didn't show any errors and
> >running it in console and as CGI didn't show any errors. I already tried
> >adding "PerlSetEnv LD_LIBRARY_PATH
> '/usr/local/mysql/lib/mysql/:/usr/lib'"
> >and "SetEnv LD_LIBRARY_PATH /usr/local/mysql/lib/mysql" to my
> configuration
> >(which points to the libmysqlclient.15.dylib file)
> >
> >
> >
> Strange - this error looks like it's trying to compile in embedded
> support "_mysql_server_init"
>
> Are you trying to compile in embedded? What are the steps you're taking
> to compile?
>
> I'm the maintainer of DBD:mysql  and will be upgrading my own mac that I
> do dev on to Leopard this week hopefully and can see if I can duplicate
> this error.
>
>
> >The error log includes these messages for every request sent:
> >
> >dyld: lazy symbol binding failed: Symbol not found: _mysql_server_init
> >  Referenced from:
>
> >/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
> >  Expected in: dynamic lookup
> >
> >dyld: Symbol not found: _mysql_server_init
> >  Referenced from:
>
> >/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
> >  Expected in: dynamic lookup
> >
> >[Sun Dec 09 23:16:22 2007] [notice] child pid 439 exit signal Trace/BPT
> trap
> >(5)
> >
> >Any ideas?
> >
> >
> >
>
>
> --
> Patrick Galbraith, Senior Programmer
> Grazr - Easy feed grazing and sharing
> http://www.grazr.com
>
> Satyam Eva Jayate - Truth Alone Triumphs
> Mundaka Upanishad
>
>
>
>


-- 
Hendrik Van Belleghem
Spine - The backbone for your website - http://spine.sf.net


-- 
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe:    http://lists.mysql.com/[email protected]
dbd-mysql-build.txt (text/plain, 9.5 KB)
Last login: Mon Dec 10 22:09:54 on ttys000
lenore:~ hendrik$ su -
Password:
lenore:~ root# cd /home/hendrik/Downloads/DBD-mysql-4.005
lenore:DBD-mysql-4.005 root# make clean
make: *** No rule to make target `clean'.  Stop.
lenore:DBD-mysql-4.005 root# export CFLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64"
lenore:DBD-mysql-4.005 root# export ARCHFLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64"
lenore:DBD-mysql-4.005 root# export PATH="$PATH:/usr/local/mysql/bin"
lenore:DBD-mysql-4.005 root# /usr/local/mysql/bin/mysqld_safe &
[1] 1530
lenore:DBD-mysql-4.005 root# A mysqld process already exists

[1]+  Done(1)                 /usr/local/mysql/bin/mysqld_safe
lenore:DBD-mysql-4.005 root# perl Makefile.PL --CFLAGS="-I/usr/local/mysql/include -Os -arch i386 -arch ppc -arch ppc64 -arch x86_64 -fno-common" --libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm" --testpassword="foobar"
I will use the following settings for compiling and testing:

  cflags        (User's choice) = -I/usr/local/mysql/include -Os -arch i386 -arch ppc -arch ppc64 -arch x86_64 -fno-common
  embedded      (mysql_config ) = 
  libs          (User's choice) = -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm
  mysql_config  (guessed      ) = mysql_config
  nocatchstderr (default      ) = 0
  nofoundrows   (default      ) = 0
  ssl           (guessed      ) = 0
  testdb        (default      ) = test
  testhost      (default      ) = 
  testpassword  (User's choice) = foobar
  testsocket    (default      ) = 
  testuser      (default      ) = 

To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.

Checking if your kit is complete...
Looks good
Using DBI 1.601 (for perl 5.008008 on darwin-thread-multi-2level) installed in /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI/
Writing Makefile for DBD::mysql
lenore:DBD-mysql-4.005 root# make
cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
cc -c  -I/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI -I/usr/local/mysql/include -Os -arch i386 -arch ppc -arch ppc64 -arch x86_64 -fno-common -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -arch i386 -arch ppc -arch ppc64 -arch x86_64 -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-statement -I/usr/local/include -O3   -DVERSION=\"4.005\" -DXS_VERSION=\"4.005\"  "-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE"   dbdimp.c
dbdimp.c: In function 'mysql_describe':
dbdimp.c: In function 'mysql_describe':
dbdimp.c:3250: warning: assignment from incompatible pointer type
dbdimp.c:3250: warning: assignment from incompatible pointer type
dbdimp.c: In function 'mysql_describe':
dbdimp.c:3250: warning: assignment from incompatible pointer type
dbdimp.c: In function 'mysql_describe':
dbdimp.c:3250: warning: assignment from incompatible pointer type
/usr/bin/perl -p -e "s/~DRIVER~/mysql/g" /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI/Driver.xst > mysql.xsi
/usr/bin/perl /System/Library/Perl/5.8.8/ExtUtils/xsubpp  -typemap /System/Library/Perl/5.8.8/ExtUtils/typemap  mysql.xs > mysql.xsc && mv mysql.xsc mysql.c
Warning: duplicate function definition 'do' detected in mysql.xs, line 225
Warning: duplicate function definition 'rows' detected in mysql.xs, line 612
cc -c  -I/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI -I/usr/local/mysql/include -Os -arch i386 -arch ppc -arch ppc64 -arch x86_64 -fno-common -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -arch i386 -arch ppc -arch ppc64 -arch x86_64 -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-statement -I/usr/local/include -O3   -DVERSION=\"4.005\" -DXS_VERSION=\"4.005\"  "-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE"   mysql.c
mysql.xs: In function 'XS_DBD__mysql__db_do':
mysql.xs:315: warning: comparison is always false due to limited range of data type
mysql.xs:316: warning: comparison is always false due to limited range of data type
mysql.xs: In function 'XS_DBD__mysql__db_do':
mysql.xs:315: warning: comparison is always false due to limited range of data type
mysql.xs:316: warning: comparison is always false due to limited range of data type
Running Mkbootstrap for DBD::mysql ()
chmod 644 mysql.bs
rm -f blib/arch/auto/DBD/mysql/mysql.bundle
LD_RUN_PATH="/usr/local/mysql/lib/mysql:/usr/lib" /usr/bin/perl myld cc -mmacosx-version-min=10.5  -arch i386 -arch ppc -arch ppc64 -arch x86_64 -bundle -undefined dynamic_lookup -L/usr/local/lib dbdimp.o mysql.o  -o blib/arch/auto/DBD/mysql/mysql.bundle 	\
	   -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm  	\
	  
chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle
cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs
chmod 644 blib/arch/auto/DBD/mysql/mysql.bs
Manifying blib/man3/DBD::mysql.3pm
Manifying blib/man3/DBD::mysql::INSTALL.3pm
Manifying blib/man3/Bundle::DBD::mysql.3pm
lenore:DBD-mysql-4.005 root# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.............ok                                                      
t/10connect..........ok                                                      
t/20createdrop.......ok                                                      
t/30insertfetch......ok                                                      
t/35limit............ok                                                      
t/35prepare..........ok                                                      
t/40bindparam........ok                                                      
t/40bindparam2.......ok                                                      
t/40blobs............ok                                                      
t/40catalog..........ok                                                      
t/40listfields.......ok                                                      
t/40nulls............ok                                                      
t/40numrows..........ok                                                      
t/41bindparam........ok                                                      
t/41blobs_prepare....ok                                                      
t/42bindparam........ok                                                      
t/50chopblanks.......ok                                                      
t/50commit...........ok                                                      
t/60leaks............skipped
        all skipped: $ENV{SLOW_TESTS} is not set
t/70takeimp..........skipped
        all skipped: test feature not implemented
t/75supported_sql....ok                                                      
t/80procs............ok                                                      
t/insertid...........ok                                                      
t/multi_statement....ok                                                      
t/param_values.......ok                                                      
t/prepare_noerror....ok                                                      
t/texecute...........ok                                                      
t/utf8...............ok                                                      
All tests successful, 2 tests skipped.
Files=28, Tests=584,  3 wallclock secs ( 1.71 cusr +  0.44 csys =  2.15 CPU)
lenore:DBD-mysql-4.005 root# make install
Installing /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Writing /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBD/mysql/.packlist
Appending installation info to /System/Library/Perl/5.8.8/darwin-thread-multi-2level/perllocal.pod
lenore:DBD-mysql-4.005 root# 
lenore:DBD-mysql-4.005 root# echo $LD_LIBRARY_PATH
/usr/local/mysql/lib:
lenore:DBD-mysql-4.005 root# ls -lah /usr/local/mysql/lib
total 0
drwxr-xr-x   3 root  wheel   102B Dec  7 18:19 .
drwxr-xr-x  12 root  wheel   408B Dec  7 18:09 ..
drwxr-xr-x  20 root  wheel   680B Dec  7 18:21 mysql
lenore:DBD-mysql-4.005 root# ls -lah /usr/local/mysql/lib/mysql/
total 15464
drwxr-xr-x  20 root  wheel   680B Dec  7 18:21 .
drwxr-xr-x   3 root  wheel   102B Dec  7 18:19 ..
lrwxr-xr-x   1 root  wheel    20B Dec  7 18:21 lib -> /usr/local/mysql/lib
-rw-r--r--   1 root  wheel    14K Dec  7 18:19 libdbug.a
-rw-r--r--   1 root  wheel    44K Dec  7 18:19 libheap.a
-rw-r--r--   1 root  wheel   381K Dec  7 18:19 libmyisam.a
-rw-r--r--   1 root  wheel    21K Dec  7 18:19 libmyisammrg.a
-rwxr-xr-x   1 root  wheel   1.3M Dec  7 18:19 libmysqlclient.15.0.0.dylib
lrwxr-xr-x   1 root  wheel    27B Dec  7 18:19 libmysqlclient.15.dylib -> libmysqlclient.15.0.0.dylib
-rw-r--r--   1 root  wheel   1.5M Dec  7 18:19 libmysqlclient.a
lrwxr-xr-x   1 root  wheel    27B Dec  7 18:19 libmysqlclient.dylib -> libmysqlclient.15.0.0.dylib
-rwxr-xr-x   1 root  wheel   877B Dec  7 18:19 libmysqlclient.la
-rwxr-xr-x   1 root  wheel   1.3M Dec  7 18:19 libmysqlclient_r.15.0.0.dylib
lrwxr-xr-x   1 root  wheel    29B Dec  7 18:19 libmysqlclient_r.15.dylib -> libmysqlclient_r.15.0.0.dylib
-rw-r--r--   1 root  wheel   1.5M Dec  7 18:19 libmysqlclient_r.a
lrwxr-xr-x   1 root  wheel    29B Dec  7 18:19 libmysqlclient_r.dylib -> libmysqlclient_r.15.0.0.dylib
-rwxr-xr-x   1 root  wheel   891B Dec  7 18:19 libmysqlclient_r.la
-rw-r--r--   1 root  wheel   1.2M Dec  7 18:19 libmystrings.a
-rw-r--r--   1 root  wheel   289K Dec  7 18:19 libmysys.a
-rw-r--r--   1 root  wheel   6.5K Dec  7 18:19 libvio.a
lenore:DBD-mysql-4.005 root#