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. -----Original Message----- From: Martin Evans [mailto:[EMAIL PROTECTED] Sent: 21 April 2008 13:17 To: dbi-users@perl.org 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.bundl 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.