Re: Unable to install DBD::ODBC on OSX Leopard 10.5.2



Neil Beddoe wrote:
Hi Martin. Just wondering if you got any further with this.

Did Tim's suggestion not work for you? He said:

I suspect you're using an old version of DBI (I'd guess <= 1.55).
Try using a more recent version.

Have you installed a newer DBI?

Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com

-----Original Message-----
From: Martin Evans [mailto:martin.evans@xxxxxxxxxxxx] Sent: 21 April 2008 16:33
To: dbi-users@xxxxxxxx
Subject: Re: Unable to install DBD::ODBC on OSX Leopard 10.5.2

Neil Beddoe wrote:
Thanks for looking at this Martin. I'm a bit out of my depth here.

The line in ODBC.xsi is:

if (DBIc_CACHED_KIDS(imp_dbh)) {
SvREFCNT_dec(DBIc_CACHED_KIDS(imp_dbh)); /* cast them to
the winds */
DBIc_CACHED_KIDS(imp_dbh) = Nullhv; #ERROR_GENERATED_HERE
}

This is line 277, the same assignment fails in line 336.

Ok, I found this:

http://www.nntp.perl.org/group/perl.dbi.dev/2007/05/msg4987.html

which suggests there is something I need to look into further.

Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com

-----Original Message-----
From: Martin Evans [mailto:martin.evans@xxxxxxxxxxxx]
Sent: 21 April 2008 13:17
To: dbi-users@xxxxxxxx
Subject: Re: Unable to install DBD::ODBC on OSX Leopard 10.5.2

Martin Evans wrote:
Neil Beddoe wrote:
You also may need to add "-framework CoreFoundation"
to the Makefile for the LDLOADLIBS and EXTRALIBS symbols and that will
be the at least one of the issues with Sybase too >>(see README.osx in distribution).
Hello Martin, I've tried this on my system and still no luck. I'm not sure I'm carrying it out correctly though. I run perl Makefile.PL and edit the Makefile it generates like this:

EXTRALIBS = -L/usr/lib -lodbc -framework CoreFoundation LDLOADLIBS =

-L/usr/lib -lodbc -framework CoreFoundation
Not having a mac I'm only going on what others have told me but I believe the above to be right. However, your make has not got to the point where the framework comes into the equation yet - see below.


...but this generates the output below. Any help you can offer would
be gratefully received.

Mac OS 10.5.2 Intel Core Duo

cc -c -I/usr/include -I.
-I/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI -arch i386

-arch ppc -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-statement
-I/usr/local/include
-O3 -DVERSION=\"1.16_1\" -DXS_VERSION=\"1.16_1\"
"-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE"
-I/usr/include ODBC.c
ODBC.xsi: In function 'XS_DBD__ODBC__db_disconnect':
ODBC.xsi:277: error: invalid lvalue in assignment
ODBC.xsi: In function 'XS_DBD__ODBC__db_DESTROY':
ODBC.xsi:336: error: invalid lvalue in assignment
ODBC.xsi: In function 'XS_DBD__ODBC__db_disconnect':
ODBC.xsi:277: error: invalid lvalue in assignment
ODBC.xsi: In function 'XS_DBD__ODBC__db_DESTROY':
ODBC.xsi:336: error: invalid lvalue in assignment
These are compilation errors and they are stopping the build. What is

on lines 277 and 336 of ODBC.xsi?

ODBC.xs: In function 'XS_DBD__ODBC__dr_data_sources':
ODBC.xs:246: warning: pointer targets in passing argument 1 of
'strcpy'
differ in signedness
ODBC.xs:266: warning: pointer targets in passing argument 2 of 'Perl_newSVpv' differ in signedness
ODBC.xs: In function 'XS_DBD__ODBC__dr_data_sources':
ODBC.xs:246: warning: pointer targets in passing argument 1 of
'strcpy'
differ in signedness
ODBC.xs:266: warning: pointer targets in passing argument 2 of 'Perl_newSVpv' differ in signedness
lipo: can't open input file: /var/tmp//ccx0pa5P.out (No such file or
directory)
make: *** [ODBC.o] Error 1
Martin
I've managed to blag an ssh session on a MAC running 10.5.2, Perl 5.8.8 and DBI 1.52. I made no changes at all to the Makefile and it
built ok.
However, it fails to run with:

t/01base................ok 1/5install_driver(ODBC) failed: Can't load '/Users/wez/mje/DBD-ODBC-1.16_1/blib/arch/auto/DBD/ODBC/ODBC.bundle' for module DBD::ODBC:
dlopen(/Users/wez/mje/DBD-ODBC-1.16_1/blib/arch/auto/DBD/ODBC/ODBC.bun
dl
e,
2): Symbol not found: ___CFConstantStringClassReference
Referenced from: /Users/wez/mje/DBD-ODBC-1.16_1/blib/arch/auto/DBD/ODBC/ODBC.bundle
Expected in: dynamic lookup
at (eval 7) line 3
Compilation failed in require at (eval 7) line 3.

If I then change the Makefile to include -framework CoreFoundation in EXTRALIBS and LDLOADLIBS it gets further but unfortunately the mac I was using was Intel based (I didn't realise this at first) and the only driver I could find was built for ppc so it gave:

mach-o, but wrong architecture

for the ODBC driver shared library.

If you can mail what is on the lines you got errors for in ODBC.xsi we

may be able to wwork it out.

Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com

.

This message is intended only for the use of the person(s) to whom it
is addressed. It may contain information which is privileged and
confidential. Accordingly any unauthorised use is strictly prohibited.
If you are not the intended recipient, please contact the sender as soon
as possible.
It is not intended as an offer or solicitation for the purchase or
sale of any financial instrument or as an official confirmation of any
transaction, unless specifically agreed otherwise. All market prices,
data and other information are not warranted as to completeness or
accuracy and are subject to change without notice. Any opinions or
advice contained in this Internet email are subject to the terms and
conditions expressed in any applicable governing Marble Bar Asset
Management LLP's terms and conditions of business or client agreement
letter. Any comments or statements made herein do not necessarily
reflect those of Marble Bar Asset Management LLP.
Marble Bar Asset Management LLP is regulated and authorised by the
FSA.


.

This message is intended only for the use of the person(s) to whom it is addressed. It may contain information which is privileged and confidential. Accordingly any unauthorised use is strictly prohibited. If you are not the intended recipient, please contact the sender as soon as possible.

It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction, unless specifically agreed otherwise. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any opinions or advice contained in this Internet email are subject to the terms and conditions expressed in any applicable governing Marble Bar Asset Management LLP's terms and conditions of business or client agreement letter. Any comments or statements made herein do not necessarily reflect those of Marble Bar Asset Management LLP.

Marble Bar Asset Management LLP is regulated and authorised by the FSA.


.



Relevant Pages

  • RE: Unable to install DBD::ODBC on OSX Leopard 10.5.2
    ... Subject: Unable to install DBD::ODBC on OSX Leopard 10.5.2 ... the same assignment fails in line 336. ... conditions expressed in any applicable governing Marble Bar Asset ... reflect those of Marble Bar Asset Management LLP. ...
    (perl.dbi.users)
  • Re: Unable to install DBD::ODBC on OSX Leopard 10.5.2
    ... Subject: Unable to install DBD::ODBC on OSX Leopard 10.5.2 ... the same assignment fails in line 336. ... Any opinions or advice contained in this Internet email are subject to the terms and conditions expressed in any applicable governing Marble Bar Asset Management LLP's terms and conditions of business or client agreement ...
    (perl.dbi.users)
  • Errors in DBI installation!!
    ... I am getting the errors when trying to install DBI module. ... Perl versions below 5.6.1 are no longer supported by the DBI. ... *** Error code 1 ...
    (perl.dbi.users)
  • Problem of DBI build
    ... I installed Oracle Application Server 4.0.8.2 included perl module. ... I need to installe DBI and DBD::Oracle module. ... You can install them any time after installing the DBI. ... line 318: error 1705: Function prototypes are an ANSI feature. ...
    (perl.dbi.users)
  • Problem of DBI build
    ... I installed Oracle Application Server 4.0.8.2 included perl module. ... I need to installe DBI and DBD::Oracle module. ... You can install them any time after installing the DBI. ... line 318: error 1705: Function prototypes are an ANSI feature. ...
    (perl.dbi.users)