ODBC: libODBC6.so not found

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf ODBC: libODBC6.so not found

  • Creator
    Topic
  • #48930
    Jim Kosloskey
    Participant

    All,

    In the early stages of implementing ODBC Drivers.

    I get the following Tcl error when doing the ‘package require odbc’ from within the engine (it works fine within hcitcl):

    couldn’t load file :/quovadx/qdx5.2/integrator/tcl/lib/odbc../libODBC6.so”: No such file or directory

    However the libODBC6.so file DOES live in /quovadx/qdx5.2/integrator/lib directory NOT in the /quovadx/qdx5.2/integrator/tcl/lib/odbc directory.

    Could there be something incorrect in some environment setting or does the Host Server need to be restarted (seeing as how this malfunctions in the engine but not hcitcl), or ????

    Thanks,

    Jim Kosloskey

    email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

Viewing 15 reply threads
  • Author
    Replies
    • #60140
      Glenn Friedenreich
      Participant

      Hi Jim – Its been a while since we set up ODBC, but you might want to check your odbc.ini file for the InstallDir entry.  Ours looks like this:

      [ODBC]

      IANAAppCodePage=4

      InstallDir=/hci/qdx5.3/integrator/lib/Connect4.2

      Trace=0

      TraceDll=/hci/qdx5.3/integrator/lib/Connect4.2/lib/odbctrac.so

      TraceFile=odbctrace.out

      UseCursorLib=0

      (Our odbc.ni resides here:

      /hci/qdx5.3/integrator/lib/Connect4.2)

      I don’t think the host server needs to be restarted.  In fact, we run our production site with the host server always turned off.

      Hope that helps.

      – Glenn

    • #60141
      Jim Kosloskey
      Participant

      Glenn,

      How are you doing?

      Our odbc.ini file is intact, located properly, and functions. I do not think that is the problem.

      My guess is the module being looked for is not pre loaded (may be due to a environment variable not being set) and the odbc package is trying to load it but has the incorrect location.

      Then again I could be way out in left field.

      Thanks for the information regarding the Host Server. It is low on my candidate list.

      Jim Kosloskey

      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

    • #60142
      Mike Grieger
      Participant

      FWIW,  our ODBC .so files are located at the /tcl/lib directory.  I’m inclined to believe that is where they belong…  notice in the Rev documentation, in the step of backing up files that change per Rev, the location listed for these .so file backups is also /tcl/lib

    • #60143
      Jim Kosloskey
      Participant

      Mike,

      Thanks.

      So the file lives in the correct place but the odbc package is trying to load them from the wrong location – it appears.

      Again I suspect Cloverleaf(R) engine expects this to be preloaded and in my case it is not so the odbc package is trying to locate the file and doing it incorrectly. At least that is my theory at this time.

      If my theory is correct, I need to find out how that file is supposed to be loaded correctly.

      Jim Kosloskey

      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

    • #60144
      Ed Mastascusa
      Participant

      Hello Jim

      Re your incorrect *.so file location theory there may be some auto_path issue, I think odbc looks for its “so” files in the “LIBPATH” topic defined in the “odbcInfo” file(s)

      On our box we have one odbcInfo file in the /hci/qdx5.3/integrator/lib/

      directory (contents shown below)

      $ cat /hci/qdx5.3/integrator/lib/odbcInfo

      default=Connect4.2hci@ba(qted):/hci/qdx5.3/integrator/lib/Connect4.2

      A second odbcInfo file in the “default” dir has a LIBPATH setting that references where all the so files all reside

      $ cat /hci/qdx5.3/integrator/lib/Connect4.2/odbcInfo

      LIBPATH=/hci/qdx5.3/integrator/lib/Connect4.2/lib

      ODBCINI=/hci/qdx5.3/integrator/lib/Connect4.2/odbc.ini

      I know we had some problems finding the “so” files when we changed versions from Connect 3.? to 4.2 but it was because the the odbc.ini  “driver” names changed slightly with the new versions – the last 2 digits in the Driver settings seemed to be a version number.  However, that problem happens when SQLCOnnect was called.  

      hope this helps

    • #60145
      Mike Grieger
      Participant

      Jim –

        I thought that your original post said that your libODBC6.so file was actually at /quovadx/qdx5.2/integrator/lib ?     That is what I thought was incorrect, as they should be at  /quovadx/qdx5.2/integrator/tcl/lib  (at least they are here, and that is where the error says its looking)

      If I mis-understood, please disregard.

    • #60146
      Jim Kosloskey
      Participant

      Ed,

      Thanks – I will take a look. That certainly seems like a good candidate.

      Jim Kosloskey

      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

    • #60147
      Jim Kosloskey
      Participant

      Mike,

      OK

      $HCIROOT/tcl/lib is where the libODBC6.so file lives,

      $HCIROOT/tcl/lib/odbc is where it is being looked for.

      So maybe it is not in the correct location.

      The package that is trying to reference it is ifneeded which is being invoked by the package odbc. My thinking is that the file libODBC6.so should be resident when the engine starts and the the ifneeded package is used only when the odbc package does not see the code resident and decides to go get it. Then ifneeded has an incorrect location.

      However, based on what you are indicating, the $HCIROOT/tcl/lib/odbc directory is the correct location.

      Curiouser and curiouser…

      Thanks,

      Jim Kosloskey

      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

    • #60148
      garry r fisher
      Participant

      Jim,

      Sorry to be a bit vague but we had the same problem and I think (the vague bit) that ODBC6 is part of a later version of the Cloverleaf ODBC library – So I think you need to upgrade.

      Not sure why it happens though.

      Regards

      Garry

    • #60149
      Mike Grieger
      Participant

      My mistake, Jim – I had mis-understood the path info you had in your original post.  I believe that your files are where they need to be, in $HCIROOT/tcl/lib    It’s been about 4 years since I installed the odbc, so I’m just working on old recollections.  What I had meant by the error pointing to the files not being at $HCIROOT/tcl/lib location…     I thought I remembered something like that as well that was kind of misleading as the error returns /quovadx/qdx5.2/integrator/tcl/lib/odbc../libODBC6.so – I thought that there was a directory back reference (..) so the location really IS looking in /tcl/lib, not tcl/lib/odbc.  Again, it has been awhile.

      Sorry for the confusion.  I think your files are where they should be.  I guess the curious thing is that you can invoke the ‘package require odbc’ from hcitcl.  Back when I was having problems getting going, I was getting an error doing that…

    • #60150
      Mike Grieger
      Participant

      Question – do you have your odbc trace turned on?  Maybe that would yield some help.  The biggest problem I recall from 4 years back when getting going was that for some reason, our odbc installation failed to install one or two .so files – I *think* this was revealed through the trace log what it was really looking for.  I then dug through the installation packages on the install CD to find them an we got up and running.  The .so files I have in the /tcl/lib are libODBC1, 2, 3, 4, and 6.

    • #60151
      Jim Kosloskey
      Participant

      All,

      Thanks for all the assistance.

      We got that working and all we needed to do was to cycle the Host Server for Cloverleaf(R).

      This apparently was not done following the install. That is why it worked with hcitcl and not in the engine.

      Something to remember.

      Jim Kosloskey

      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

    • #60152
      Peter Heggie
      Participant

      Similar problem with Cloverleaf 6.0. Just installed Data Integrator and have the license keys.

      I’m running a tcl that has ODBC calls that is executed within a Xlate Copy action. Getting this error message:

      Quote:

      couldn’t load file “/hci/cis6.0/integrator/tcl/lib/odbc/../libODBC11.so”: 0509-022 Cannot load module /hci/cis6.0/integrator/tcl/lib/odbc/../libODBC11.so.

      0509-150   Dependent module libodbc.a(odbc.so) could not be loaded.

      0509-022 Cannot load module libodbc.a(odbc.so).

      0509-026 System error: A file or directory in the path name does not exist.

      0509-022 Cannot load module /hci/cis6.0/integrator/tcl/lib/odbc/../libODBC11.so.

      0509-150   Dependent module /hci/cis6.0/integrator/tcl/lib/odbc/../libODBC11.so could not be loaded.

      while executing

      “load /hci/cis6.0/integrator/tcl/lib/odbc/../libODBC11.so”

      (“package ifneeded odbc 11.0” script)

      invoked from within

      “package require odbc”

      (procedure “VirtualBedGetNextAvail” line 28)

      Our odbcInfo has the correct LIBPATH pointing to the library where the libodbc.a is located; also in that directory is a link:

      lrwxrwxrwx    1 hci      staff             7 Apr 30 10:36 libodbc.so -> odbc.so

      Hopefully this is a simple configuration issue. I can run hcitcl from the command line and everything works fine; its just the execution from a translate of a tcl that calls odbc.

      The problem seems to occur with the ‘package require odbc’ statement itself, perhaps in the dynamic loading of the libraries; I’m not familiar with tcl libraries, dynamic loading and the environment (libpath) existing in the Translate / thread / process. I did restart the process several times.

      Any hints for installation or configuration changes? Does anything else have to be restarted?

      This server has both 5.8 and 6.0 software installed.

      Peter Heggie

    • #60153
      Jim Kosloskey
      Participant

      Peter,

      Did you re-cycle the Cloverleaf Host Server?

      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

    • #60154
      Peter Heggie
      Participant

      Yes I did but I will do it again. Because of HACMP and having our prod environment still on 5.8, the /etc/environment file was pointing to 5.8; I can’t update that, so I’m temporarily trying to override the .profile for hci, to set the CL_INSTALL_PATH to 6.0 and recycle the host server and process.

      Peter Heggie

    • #60155
      Peter Heggie
      Participant

      That was it. I updated .profile for the user hci to explicitly set the CL_INSTALL_PATH instead of using what is in /etc/environment, and it worked. At least, it loaded the libraries correctly! Now I’m just working on programming issues.

      thanks much!

      Peter Heggie

Viewing 15 reply threads
  • The forum ‘Cloverleaf’ is closed to new topics and replies.

Forum Statistics

Registered Users
5,117
Forums
28
Topics
9,292
Replies
34,435
Topic Tags
286
Empty Topic Tags
10