[unixODBC-support] Unsatisfied code symbol libiconv_open in load module /opt/odbc/lib/libodbc.sl.

Nick Gorham nick at lurcher.org
Mon Jul 19 16:24:47 BST 2010


Wisnu Aji wrote:
>
> Nick Gorham-2 wrote:
>   
>> Wisnu Aji wrote:
>>     
>>> ya it build using ...
>>>
>>> ./configure --prefix=/opt/odbc --enable-gui=no
>>> make
>>> make install
>>>
>>> first off all it build using cc, but then the lib build *.a file, and
>>> when
>>> running the pgm it returns driver not found.
>>> OpenESQL Error: Unable to load ODBC Driver/Driver Manager. Ensure that
>>> your
>>> database environment is set correctly.
>>> When testing using isql, can select the data, but when tryin to run a pgm
>>> it
>>> came with that error.
>>>
>>> Then i install gcc, delete the /opt/odbc folder and make the odbc again
>>> using gcc. But now it returns error as mentioned above.
>>>   
>>>       
>> I am getting a bit confused now, you say you built it with cc, and it 
>> worked with isql but not with some other program you are using. Then 
>> building again with gcc it gives the missing sym error?
>>
>> I would guess there is a conflict between the gcc built libs and the 
>> driver. If I was you I would go back to the cc built one, that at least 
>> works with isql, then try and track down why your app doesn't like it.
>>
>> It may be that the app expects the .so to be extracted from the .a (I am 
>> assuming AIX as you mention building .a).
>>
>> -- 
>> Nick
>> _______________________________________________
>> unixODBC-support mailing list
>> unixODBC-support at mailman.unixodbc.org
>> http://mailman.unixodbc.org/mailman/listinfo/unixodbc-support
>>
>>
>>     
>
> As mentioned in the first message, build using gcc also can do isql and
> select data from the DB2.
> So both build (using cc and gcc) can do isql and select data from the DB2.
> Just the error message is different, as mentioned above.
>
> The server currently using is HP-UX 11.31
>
> If build using cc the libodbc lib look like this
> libodbc.la  
> libodbc.a
> Can select data using isql.
> But when running our pgm -> 
> [DEV at CWOPR] /disc2/CW/ISS/CWJCL >> JR70053
> OpenESQL Error: Unable to load ODBC Driver/Driver Manager. Ensure that your
> database environment is set correctly.
> strtJob
>
> If build using gcc the libodbc lib look like this
> libodbc.la     
> libodbc.sl     
> libodbc.sl.1   
> libodbc.sl.1.0 
> Can select data using isql.
> [DEV at CWOPR] /disc2/CW/ISS/CWJCL >> JR70053
> /usr/lib/hpux32/dld.so: Unsatisfied code symbol 'libiconv_open' in load
> module '/opt/odbc/lib/libodbc.sl'.
> JR70053[3]: 5531 Killed
>
>
> Our old development server is using HP-UX 11.23, and never encounter this
> kinda problem.
>   
Not sure what to suggest then. As I said, I don't think unixODBC uses 
anything called libiconv_open. If its build with iconv support it just 
uses the direct iconv entry points. It may be that gcc is turning them 
into calls into libiconv_open, it might be worth checking that the gcc 
build doesn't link a libgcc in there somewhere. That may be causing the 
problem. All I can suggest is possibly using tusc to see whats going on 
behind the scenes.

-- 
Nick


More information about the unixODBC-support mailing list