Problems installing the Perl API for mSQL

nog
Posts: 2
Joined: Thu May 11, 2017 7:50 pm

Problems installing the Perl API for mSQL

Postby nog » Fri May 12, 2017 3:06 pm

Hello,

I have picked up the latest version of mSQL 4.0 and the latest Perl DBI / DBD driver from your site. The installation of mSQL 4.0 was successful. Afterwards I tried to install the Perl API. But unfortunately without success. During the »make« step I got some errors.

I have listed below the output of the step »perl Makefile.PL« and the step »make«. And I have also listed the output of the »perl -V« command.

Any help would be appreciated.

Thank you in advance,

Norbert

============================= perl Makefile.PL ==================================
norbert@norbert-tuxedo:~/.cpan/build/Msql-Mysql-modules-1.2219 $ perl Makefile.PL
Which drivers do you want to install?

1) MySQL only
2) mSQL only (either of mSQL 1 or mSQL 2)
3) MySQL and mSQL (either of mSQL 1 or mSQL 2)

4) mSQL 1 and mSQL 2
5) MySQL, mSQL 1 and mSQL 2

Enter the appropriate number: [3] 2


Do you want to install the MsqlPerl emulation? You might keep your old
Mysql module (to be distinguished from DBD::mysql!) if you are concerned
about compatibility to existing applications! [n]
Where is your mSQL installed? Please tell me the directory that
contains the subdir 'include'. [/usr/local/Hughes] /usr/local/appl/msql-4.0
Which database should I use for testing the mSQL drivers? [test]
On which host is database test running (hostname, ip address
or host:port) [localhost]
Creating files for mSQL ....................
WARNING: PL_FILES takes a HASH reference not a ARRAY reference.
Please inform the author.
Checking if your kit is complete...
Looks good
Warning: NAME must be a package name
Using DBI 1.636 (for perl 5.020002 on x86_64-linux-gnu-thread-multi) installed in /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/auto/DBI/
Generating a Unix-style Makefile
Writing Makefile for DBD::mSQL
Writing MYMETA.yml and MYMETA.json
Generating a Unix-style Makefile
Writing Makefile for Msql-Mysql-modules
Writing MYMETA.yml and MYMETA.json

=========================================== make ===========================================
/home/norbert/.cpan/build/Msql-Mysql-modules-1.2219/mSQL
make[1]: Entering directory '/home/norbert/.cpan/build/Msql-Mysql-modules-1.2219/mSQL'
cc -c -I/usr/local/lib/x86_64-linux-gnu/perl/5.20.2/auto/DBI -I../dbd -I/usr/local/appl/msql-4.0/include -I/usr/local/lib/x86_64-linux-gnu/perl/5.20.2/auto/DBI -I/usr/lib/x86_64-linux-gnu/perl/5.20 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"2.0419\" -DXS_VERSION=\"2.0419\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.20/CORE" -DDBD_MSQL dbdimp.c
In file included from ../dbd/dbdimp.h:30:0,
from dbdimp.c:29:
dbdimp.c: In function ‘msql_dr_connect’:
dbdimp.c:565:43: error: ‘sv_yes’ undeclared (first use in this function)
DBIc_set(imp_dbh, DBIcf_AutoCommit, &sv_yes);
^
/usr/local/lib/x86_64-linux-gnu/perl/5.20.2/auto/DBI/DBIXS.h:301:43: note: in definition of macro ‘DBIbf_set’
#define DBIbf_set(bitset,flag,on) ((on) ? DBIbf_on(bitset, flag) : DBIbf_off(bitset,flag))
^
dbdimp.c:565:6: note: in expansion of macro ‘DBIc_set’
DBIc_set(imp_dbh, DBIcf_AutoCommit, &sv_yes);
^
dbdimp.c:565:43: note: each undeclared identifier is reported only once for each function it appears in
DBIc_set(imp_dbh, DBIcf_AutoCommit, &sv_yes);
^
/usr/local/lib/x86_64-linux-gnu/perl/5.20.2/auto/DBI/DBIXS.h:301:43: note: in definition of macro ‘DBIbf_set’
#define DBIbf_set(bitset,flag,on) ((on) ? DBIbf_on(bitset, flag) : DBIbf_off(bitset,flag))
^
dbdimp.c:565:6: note: in expansion of macro ‘DBIc_set’
DBIc_set(imp_dbh, DBIcf_AutoCommit, &sv_yes);
^
dbdimp.c: In function ‘msql_db_discon_all’:
dbdimp.c:855:10: error: ‘dirty’ undeclared (first use in this function)
if (!dirty && !SvTRUE(perl_get_sv("DBI::PERL_ENDING",0))) {
^
dbdimp.c:863:9: error: ‘perl_destruct_level’ undeclared (first use in this function)
if (perl_destruct_level)
^
dbdimp.c: In function ‘msql_db_FETCH_attrib’:
dbdimp.c:1003:14: error: ‘sv_yes’ undeclared (first use in this function)
return &sv_yes;
^
dbdimp.c:1023:61: error: ‘sv_undef’ undeclared (first use in this function)
sv_2mortal(newSVpv(hostinfo, strlen(hostinfo))) : &sv_undef;
^
dbdimp.c: In function ‘msql_st_FETCH_internal’:
dbdimp.c:1711:9: error: ‘sv_undef’ undeclared (first use in this function)
sv = &sv_undef;
^
dbdimp.c: In function ‘msql_db_type_info_all’:
dbdimp.c:2193:15: error: ‘sv_undef’ undeclared (first use in this function)
sv = &sv_undef; \
^
dbdimp.c:2239:2: note: in expansion of macro ‘PV_PUSH’
PV_PUSH(t->type_name);
^
Makefile:339: recipe for target 'dbdimp.o' failed
make[1]: *** [dbdimp.o] Error 1
make[1]: Leaving directory '/home/norbert/.cpan/build/Msql-Mysql-modules-1.2219/mSQL'
Makefile:522: recipe for target 'subdirs' failed
make: *** [subdirs] Error 2

================================= perl -V =================================
Summary of my perl5 (revision 5 version 20 subversion 2) configuration:

Platform:
osname=linux, osvers=3.2.0-4-amd64, archname=x86_64-linux-gnu-thread-multi
uname='linux babin 3.2.0-4-amd64 #1 smp debian 3.2.65-1+deb7u2 x86_64 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Dldflags= -Wl,-z,relro -Dlddlflags=-shared -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.20 -Darchlib=/usr/lib/x86_64-linux-gnu/perl/5.20 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.20 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.20.2 -Dsitearch=/usr/local/lib/x86_64-linux-gnu/perl/5.20.2 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.20.2 -des'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -g',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.9.2', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=libc-2.19.so, so=so, useshrplib=true, libperl=libperl.so.5.20
gnulibc_version='2.19'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib -fstack-protector'


Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
USE_PERL_ATOF USE_REENTRANT_API
Locally applied patches:
DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check.
DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories.
DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.
DEBPKG:debian/libperl_embed_doc - http://bugs.debian.org/186778 Note that libperl-dev package is required for embedded linking
DEBPKG:fixes/respect_umask - Respect umask during installation
DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories
DEBPKG:debian/extutils_set_libperl_path - EU:MM: set location of libperl.a under /usr/lib
DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor
DEBPKG:debian/prefix_changes - Fiddle with *PREFIX and variables written to the makefile
DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy
DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.
DEBPKG:fixes/net_smtp_docs - [rt.cpan.org #36038] http://bugs.debian.org/100195 Document the Net::SMTP 'Port' option
DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
DEBPKG:debian/deprecate-with-apt - http://bugs.debian.org/747628 Point users to Debian packages of deprecated core modules
DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
DEBPKG:debian/skip-upstream-git-tests - Skip tests specific to the upstream Git repository
DEBPKG:debian/patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.20.2-3 in patchlevel.h
DEBPKG:debian/skip-kfreebsd-crash - http://bugs.debian.org/628493 [perl #96272] Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD
DEBPKG:fixes/document_makemaker_ccflags - http://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}
DEBPKG:debian/find_html2text - http://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text
DEBPKG:debian/perl5db-x-terminal-emulator.patch - http://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl
DEBPKG:debian/cpan-missing-site-dirs - http://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] http://bugs.debian.org/587650 Memoize::Storable: respect 'nstore' option not respected
DEBPKG:debian/regen-skip - Skip a regeneration check in unrelated git repositories
DEBPKG:fixes/regcomp-mips-optim - [perl #122817] http://bugs.debian.org/754054 Downgrade the optimization of regcomp.c on mips and mipsel due to a gcc-4.9 bug
DEBPKG:debian/makemaker-pasthru - http://bugs.debian.org/758471 Pass LD settings through to subdirectories
DEBPKG:fixes/perldoc-less-R - [rt.cpan.org #98636] http://bugs.debian.org/758689 Tell the 'less' pager to allow terminal escape sequences
DEBPKG:fixes/pod_man_reproducible_date - http://bugs.debian.org/759405 Support POD_MAN_DATE in Pod::Man for the left-hand footer
DEBPKG:fixes/io_uncompress_gunzip_inmemory - http://bugs.debian.org/747363 [rt.cpan.org #95494] Fix gunzip to in-memory file handle
DEBPKG:fixes/socket_test_recv_fix - http://bugs.debian.org/758718 [perl #122657] Compare recv return value to peername in socket test
DEBPKG:fixes/hurd_socket_recv_todo - http://bugs.debian.org/758718 [perl #122657] TODO checking the result of recv() on hurd
DEBPKG:fixes/regexp-performance - [0fa70a0] http://bugs.debian.org/777556 [perl #123743] simpify and speed up /.*.../ handling
DEBPKG:fixes/failed_require_diagnostics - http://bugs.debian.org/781120 [perl #123270] Report inaccesible file on failed require
Built under linux
Compiled at Mar 29 2015 16:41:32
@INC:
/etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.20.2
/usr/local/share/perl/5.20.2
/usr/lib/x86_64-linux-gnu/perl5/5.20
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.20
/usr/share/perl/5.20
/usr/local/lib/site_perl
/usr/local/lib/x86_64-linux-gnu/perl/5.20.1

david
Hughes Tech Staff
Posts: 5
Joined: Mon Feb 13, 2017 4:55 am

Re: Problems installing the Perl API for mSQL

Postby david » Mon May 15, 2017 3:11 am

Hi Norbert,

I see you are working with Perl 5.20. Our main dev / test platform is CentOS, and both CentOS 6 and 7 are shipping Perl 5.16 by default. We do some testing against Ubuntu LTS which I believe is shipping a much newer version of Perl. I'll check into that and update this thread when we've had a look at the problem.


Thanks

David
...

david
Hughes Tech Staff
Posts: 5
Joined: Mon Feb 13, 2017 4:55 am

Re: Problems installing the Perl API for mSQL

Postby david » Mon May 15, 2017 7:19 am

Hi Norbert,

It looks like some of the internal Perl macros have changed recently (well, since 5.16). We've done some testing against 5.22 and reproduced the compiler errors you outlined. There's a new version of the module up on the web site that should fix the problem (link below). Please let us know here if you have any issues or if it solves your problem.

http://www.hughes.com.au/downloads/msql ... 515.tar.gz


Thanks

David
...

nog
Posts: 2
Joined: Thu May 11, 2017 7:50 pm

Re: Problems installing the Perl API for mSQL

Postby nog » Mon May 15, 2017 8:06 am

Hi David,

your patched Perl modules fixed the problem :-)

Thank you very much for your quick and perfect help. I really appreciated it

Thank you,
Norbert

david
Hughes Tech Staff
Posts: 5
Joined: Mon Feb 13, 2017 4:55 am

Re: Problems installing the Perl API for mSQL

Postby david » Mon May 15, 2017 8:32 am

Hi Norbert,

Great, thanks for the feedback. Glad it's solved your problem. We'll move that version up to being the default version on the website.



Thanks

David
...