BuildOp using shared library

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
jhmckeever
Premium Member
Premium Member
Posts: 301
Joined: Thu Jul 14, 2005 10:27 am
Location: Melbourne, Australia
Contact:

BuildOp using shared library

Post by jhmckeever »

Hi All,

I'm attempting to integrate QAS Batch (address cleaning) in DSEE using a BuildOp. This is done using a QAS supplied shared library and header file. My BuildOp references the header file and generates without any problems but gives me the following error when I try and execute it:

main_program: Error loading "TestOp": Could not load "TestOp": Unresolved external
... {snip} ...
Please check that all needed libraries are preloaded, and check the PATH for the wrappers.

I'm assuming this means that the shared library cannot be found.

I've got my "***.h" file in "..../DataStage/Projects/myproject_dev/buildop/" but can anyone tell me where the "***.sl" shared library is meant to go?
Is there a special location? (in my project's buildop directory?)
Or doesn't it matter as long as the "***.sl" is somewhere in the path specified in $SHLIB_PATH?

Any help very gratefully received. :-)

John.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Welcome aboard! :D

You nailed it with "it doesn't matter so long as it's somewhere in $SHLIB_PATH".
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
jhmckeever
Premium Member
Premium Member
Posts: 301
Joined: Thu Jul 14, 2005 10:27 am
Location: Melbourne, Australia
Contact:

Post by jhmckeever »

ray.wurlod wrote:Welcome aboard! :D

You nailed it with "it doesn't matter so long as it's somewhere in $SHLIB_PATH".
Thanks Very Much for that Ray.

I got my paths sorted out but am still having issues! :(

I suspect my problem lies in my compiler options. In the Build/Advanced tab I'm specifying my linker options as "-L ./ -lqabwvcd" to link my library "qabwvcd.sl" in the buildop directory.

Unfortunately the makefile supplied with the QAS solution has some required options for my HP-UX aC++ compiler ("-Ae +DA2.0W -Wl,+s") which cause a stack of "not ANSI C" type errors on the Ascential libraries when I try and Generate the Op.

Looks like I might have to revert to using a wrapped UNIX command line instead of a BuildOp. Unless anyone reading this has experience of creating a BuildOp for QAS Batch?

Cheers,
John.
slosa
Participant
Posts: 4
Joined: Tue May 03, 2005 7:10 am

Post by slosa »

I had the same problem. In my case it worked after i added the library to OSH_PRELOAD_LIBS.
Post Reply