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: "Storie, Sam [EPM/RTC]" <Sam dot Storie at EmersonProcess dot com>
Subject: Problems building 64-bit sybperl against ASE-12.5.2 (Solaris 9) w ithout -DNOBLK
Date: Jul 21 2004 6:38PM

I've been scouring the web, mailing lists, newsgroups, etc trying to find a
solution to this so I thought I'd give the actual list a try now. We're
building some new systems with 64-bit ASE 12.5.2 on Solaris 9 4/04. We also
use a 64-bit version of perl 5.6.1. When we try to build sybperl-2.17
without the -DNOBLK option we experience problems with `make test` because
CTlib.so tries to reference the blk_alloc function and fails.

Our OCS-12_5/lib directory includes .so files for every set of *64.a files
except for the libblk64.a and libblk_r64.a files. My guess is a 64-bit
shared version (libblk.so) of the BLK routines would fix this problem right
up. We've contacted Sybase and they basically said they don't plan to
release these files and gave me this helpful link:

http://sybooks.sybase.com/onlinebooks/group-cn/cnr1251e/ocssun02/@Generic__B
ookTextView/2286;pt=2292#X 

Sybperl seems to detect that the -lblk option will fail during `perl
Makefile.PL` (determined from the output) but fails on a `make test` because
something in CTlib.so still tries to use blk_alloc. What I don't understand
is if I place a 32-bit version of the libblk.a file (obtained from Sybase)
in OCS-12_5/lib then sybperl finds it and builds correctly with no tests
failing. What worries me is the impact of mixing in this lone 32-bit static
library file could have. In trying to coax sybperl, creating symlinks from
libblk.a to the 64-bit libblk64.a does not work either. Finally, using the
-DNOBLK removes the failed references to blk_alloc (as you'd expect) and
sybperl builds fine, but I would like this functionality if possible.

Is there some way to get sybperl to use the libblk64.a file and still build
correctly?

I'd appreciate any insight anyone might have, or any workarounds you've
discovered.

-Sam