PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: Michael Peppler <mpeppler at MBAY dot NET>
Subject: Problems building Win32 version of sybperl on NT platform
Date: Jan 22 1999 10:44PM

>>>>> "Ian" == Mcfarlane, Ian  writes:

Ian> In an attempt to generate the DLL's for this version of Sybperl,
Ian> I discovered that that the compilation process defines a macro
Ian> called scope which is defined as "pPerl->perl" something.

Which version of sybperl do you have, exactly?

Ian> Unfortunately, the Sybase header files for NT OpenClient 1110
Ian> contain references to variables named scope. These references are
Ian> in structure definitions and the Sybperl compilation process
Ian> causes these variables to expand to "pPerl->perl" This then
Ian> causes the compilation to come to a screeching halt.

Ian> E.g. let's say that the Sybase header file cstypes.h contains a
Ian> declaration such as:

Ian> 	CS_VOID *scope;

Ian> Think about happens if this becomes:

Ian> 	CS_VOID *pPerl->perl;

Ian> If this isn't invalid C code then I don't know what is.

Indeed.

This is not an error that I have seen before. Are you using the
ActiveState build of perl? 
I suspect that you need to do something like this in the DBlib.xs and
CTlib.xs files:


#if defined(scope)
#define OLD_SCOPE scope
#undef scope
#endif

#include 

#if defined(OLD_SCOPE)
#define scope OLD_SCOPE
#endif


although I don't garantee that this will work...

Michael
-- 
Michael Peppler         -||-  Data Migrations Inc.
mpeppler@mbay.net       -||-  http://www.mbay.net/~mpeppler
Int. Sybase User Group  -||-  http://www.isug.com
Sybase on Linux mailing list: ase-linux-list@isug.com