amd64/157148: p5-DBD-mysql compile error

Hasan Alp iNAN hasanalpinan at
Wed May 18 11:20:10 UTC 2011

>Number:         157148
>Category:       amd64
>Synopsis:       p5-DBD-mysql compile error
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-amd64
>State:          open
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 18 11:20:09 UTC 2011
>Originator:     Hasan Alp iNAN
>Release:        FreeBSD 8.2 RELEASE amd64
FreeBSD 8.2-RELEASE-p1 FreeBSD 8.2-RELEASE-p1 #0: Tue May 10 10:14:46 EEST 2011     root at  amd64

When upgrading to 5.12 perl to 5.14 perl process fail at p5-DBD-mysql package. 

make reinstall
===>  License ART10 GPLv1 accepted by the user
===>  Found saved configuration for p5-DBD-mysql-4.018
===>  Extracting for p5-DBD-mysql-4.018
=> SHA256 Checksum OK for DBD-mysql-4.018.tar.gz.
===>   p5-DBD-mysql-4.018 depends on file: /usr/local/bin/perl5.14.0 - found
===>  Patching for p5-DBD-mysql-4.018
===>   p5-DBD-mysql-4.018 depends on file: /usr/local/bin/perl5.14.0 - found
===>   p5-DBD-mysql-4.018 depends on file: /usr/local/lib/perl5/site_perl/5.14.0/mach/ - found
===>   p5-DBD-mysql-4.018 depends on file: /usr/local/bin/perl5.14.0 - found
===>   p5-DBD-mysql-4.018 depends on shared library: mysqlclient.15 - found
===>  Configuring for p5-DBD-mysql-4.018


For 'make test' to run properly, you must ensure that the 
database user 'root' can connect to your MySQL server 
and has the proper privileges that these tests require such 
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others. 

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';

You can also optionally set the user to run 'make test' with:

perl Makefile.PL --testuser=username

I will use the following settings for compiling and testing:

  cflags        (mysql_config) = -I/usr/local/include/mysql  -pipe  -fno-strict-aliasing
  embedded      (mysql_config) = 
  libs          (mysql_config) = -L/usr/local/lib/mysql -lmysqlclient -lz -lcrypt -lm
  mysql_config  (guessed     ) = mysql_config
  nocatchstderr (default     ) = 0
  nofoundrows   (default     ) = 0
  ssl           (guessed     ) = 0
  testdb        (default     ) = test
  testhost      (default     ) = 
  testpassword  (default     ) = 
  testsocket    (default     ) = 
  testuser      (guessed     ) = root

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

Argument "6.57_05" isn't numeric in numeric ge (>=) at ./Makefile.PL line 350, <PIPE> line 93.
Checking if your kit is complete...
Looks good
Using DBI 1.616 (for perl 5.014000 on amd64-freebsd-thread-multi) installed in /usr/local/lib/perl5/site_perl/5.14.0/mach/auto/DBI/
Writing Makefile for DBD::mysql
Writing MYMETA.yml
===>  Building for p5-DBD-mysql-4.018
cp lib/DBD/ blib/lib/DBD/
cp lib/DBD/mysql/ blib/lib/DBD/mysql/
cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
cp lib/Bundle/DBD/ blib/lib/Bundle/DBD/
cc -c  -I/usr/local/lib/perl5/site_perl/5.14.0/mach/auto/DBI -I/usr/local/include/mysql  -pipe  -fno-strict-aliasing -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -O2 -pipe -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing    -DVERSION=\"4.018\"  -DXS_VERSION=\"4.018\" -DPIC -fPIC "-I/usr/local/lib/perl5/5.14.0/mach/CORE"   dbdimp.c
dbdimp.c: In function 'mysql_db_FETCH_attrib':
dbdimp.c:2447: error: 'sv_undef' undeclared (first use in this function)
dbdimp.c:2447: error: (Each undeclared identifier is reported only once
dbdimp.c:2447: error: for each function it appears in.)
*** Error code 1

Stop in /usr/ports/databases/p5-DBD-mysql/work/DBD-mysql-4.018.
*** Error code 1

Stop in /usr/ports/databases/p5-DBD-mysql.
*** Error code 1

Stop in /usr/ports/databases/p5-DBD-mysql.
*** Error code 1

Stop in /usr/ports/databases/p5-DBD-mysql.

Just upgrade to Perl 5.14
I found a solution on net. A similar problem cause a compile error on Gentoo. When p5-DBD-mysql package in the distfiles (4.18) update to 4.19.0; perl 5.14 will compile it succesfully.

Here is the link.

Sorry. about my English.


More information about the freebsd-amd64 mailing list