473,218 Members | 1,484 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,218 software developers and data experts.

Conflicting Libraries

I am writing an application that interacts with Oracle and Teradata.
In order to create the executable, I need to link various Oracle and
Teradata libraries. I found out that when I link the Oracle and
Teradata libraries together, the Teradata API functions are not
working properly. My assumption is that these libraries are sharing
identical function names and parameter lists and hence the conflicts
are causing the problem. Is my assumption a valid one. Could there
be other reasons why Teradata API functions don't work properly when I
link the Oracle libraries. What can one do in such a case?
Thank you very much for any help.
Nov 14 '05 #1
7 2559
Thiru <tr******@hotmail.com> spoke thus:
I am writing an application that interacts with Oracle and Teradata.
In order to create the executable, I need to link various Oracle and
Teradata libraries. I found out that when I link the Oracle and
Teradata libraries together, the Teradata API functions are not
working properly. My assumption is that these libraries are sharing
identical function names and parameter lists and hence the conflicts
are causing the problem. Is my assumption a valid one. Could there
be other reasons why Teradata API functions don't work properly when I
link the Oracle libraries. What can one do in such a case?


(When in trouble, when in doubt, run in circles, scream and shout!)

Your post is off-topic for comp.lang.c. Please visit

http://www.ungerhu.com/jxh/clc.welcome.txt
http://www.eskimo.com/~scs/C-faq/top.html
http://benpfaff.org/writings/clc/off-topic.html

for posting guidelines and frequently asked questions. Thank you.

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Nov 14 '05 #2
In <9f**************************@posting.google.com > tr******@hotmail.com (Thiru) writes:
I am writing an application that interacts with Oracle and Teradata.
In order to create the executable, I need to link various Oracle and
Teradata libraries. I found out that when I link the Oracle and
Teradata libraries together, the Teradata API functions are not
working properly. My assumption is that these libraries are sharing
identical function names and parameter lists and hence the conflicts
are causing the problem. Is my assumption a valid one. Could there
be other reasons why Teradata API functions don't work properly when I
link the Oracle libraries. What can one do in such a case?


To validate your suspicions, try to change the order of the libraries in
the linking command. If the behaviour of the program changes, then you're
right. If the new behaviour is the intended one, you're also lucky.
If the new behavior is different, but still wrong, you have to complain
to the two vendors, preferably using a minimal program that exposes the
problem.

Dan
--
Dan Pop
DESY Zeuthen, RZ group
Email: Da*****@ifh.de
Nov 14 '05 #3
Christopher Benson-Manica wrote:
Thiru <tr******@hotmail.com> spoke thus:
I am writing an application that interacts with Oracle and Teradata.
In order to create the executable, I need to link various Oracle and
Teradata libraries. I found out that when I link the Oracle and
Teradata libraries together, the Teradata API functions are not
working properly. My assumption is that these libraries are sharing
identical function names and parameter lists and hence the conflicts
are causing the problem. Is my assumption a valid one. Could there
be other reasons why Teradata API functions don't work properly when
I link the Oracle libraries. What can one do in such a case?


(When in trouble, when in doubt, run in circles, scream and shout!)

Your post is off-topic for comp.lang.c. Please visit ....


No it isn't, despite outward appearances. It is a question about
naming things in the standard language.

Unfortunately there is no magic answer in the C world. The best
result would be obtained by revising the Oracle and Teradata
modules to use easily distinguishable names, probably by use of a
suitable prefix. This is probably not available to the OP, who is
left with the option of emitting heated invective about the
library writers while resolving not to use things whose source
code is unavailable.

--
Chuck F (cb********@yahoo.com) (cb********@worldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!
Nov 14 '05 #4
Mac
On Thu, 08 Apr 2004 16:39:12 +0000, Dan Pop wrote:
In <9f**************************@posting.google.com > tr******@hotmail.com (Thiru) writes:
I am writing an application that interacts with Oracle and Teradata.
In order to create the executable, I need to link various Oracle and
Teradata libraries. I found out that when I link the Oracle and
Teradata libraries together, the Teradata API functions are not
working properly. My assumption is that these libraries are sharing
identical function names and parameter lists and hence the conflicts
are causing the problem. Is my assumption a valid one. Could there
be other reasons why Teradata API functions don't work properly when I
link the Oracle libraries. What can one do in such a case?


To validate your suspicions, try to change the order of the libraries in
the linking command. If the behaviour of the program changes, then you're
right. If the new behaviour is the intended one, you're also lucky.
If the new behavior is different, but still wrong, you have to complain
to the two vendors, preferably using a minimal program that exposes the
problem.

Dan


Wouldn't there likely be (off-topic) tools to list the symbols in each
library? From there it should be fairly easy to find conflicting symbols,
no?

--Mac

Nov 14 '05 #5
In <pa****************************@bar.net> "Mac" <fo*@bar.net> writes:
On Thu, 08 Apr 2004 16:39:12 +0000, Dan Pop wrote:
In <9f**************************@posting.google.com > tr******@hotmail.com (Thiru) writes:
I am writing an application that interacts with Oracle and Teradata.
In order to create the executable, I need to link various Oracle and
Teradata libraries. I found out that when I link the Oracle and
Teradata libraries together, the Teradata API functions are not
working properly. My assumption is that these libraries are sharing
identical function names and parameter lists and hence the conflicts
are causing the problem. Is my assumption a valid one. Could there
be other reasons why Teradata API functions don't work properly when I
link the Oracle libraries. What can one do in such a case?


To validate your suspicions, try to change the order of the libraries in
the linking command. If the behaviour of the program changes, then you're
right. If the new behaviour is the intended one, you're also lucky.
If the new behavior is different, but still wrong, you have to complain
to the two vendors, preferably using a minimal program that exposes the
problem.

Dan


Wouldn't there likely be (off-topic) tools to list the symbols in each
library? From there it should be fairly easy to find conflicting symbols,
no?


Depending on your actual system, my approach may be a far easier way of
demonstrating the existence of conflicting symbols. The typical Unix
linker never complains about conflicting symbols in libraries: the first
encountered definition is used to resolve the symbol and all the others
are ignored. OTOH, comparing the output of nm biglib1 vs the output of
nm biglib2 is not something for the faint of heart.

Things may be different on other systems...

Dan
--
Dan Pop
DESY Zeuthen, RZ group
Email: Da*****@ifh.de
Nov 14 '05 #6
Mac
On Tue, 13 Apr 2004 12:30:49 +0000, Dan Pop wrote:
In <pa****************************@bar.net> "Mac" <fo*@bar.net> writes:
On Thu, 08 Apr 2004 16:39:12 +0000, Dan Pop wrote:
In <9f**************************@posting.google.com > tr******@hotmail.com (Thiru) writes:

I am writing an application that interacts with Oracle and Teradata.
In order to create the executable, I need to link various Oracle and
Teradata libraries. I found out that when I link the Oracle and
Teradata libraries together, the Teradata API functions are not
working properly. My assumption is that these libraries are sharing
identical function names and parameter lists and hence the conflicts
are causing the problem. Is my assumption a valid one. Could there
be other reasons why Teradata API functions don't work properly when I
link the Oracle libraries. What can one do in such a case?

To validate your suspicions, try to change the order of the libraries in
the linking command. If the behaviour of the program changes, then you're
right. If the new behaviour is the intended one, you're also lucky.
If the new behavior is different, but still wrong, you have to complain
to the two vendors, preferably using a minimal program that exposes the
problem.

Dan
Wouldn't there likely be (off-topic) tools to list the symbols in each
library? From there it should be fairly easy to find conflicting symbols,
no?


Depending on your actual system, my approach may be a far easier way of
demonstrating the existence of conflicting symbols. The typical Unix
linker never complains about conflicting symbols in libraries: the first
encountered definition is used to resolve the symbol and all the others
are ignored. OTOH, comparing the output of nm biglib1 vs the output of
nm biglib2 is not something for the faint of heart.

Things may be different on other systems...


I don't think I have experience on systems you don't have experience on.
I am probably just underestimating the difficulty of processing the output
of "nm" on two large libraries. I've never done it, but it doesn't SOUND
hard. ;-)
Dan

--Mac

Nov 14 '05 #7
In <pa****************************@bar.net> "Mac" <fo*@bar.net> writes:
On Tue, 13 Apr 2004 12:30:49 +0000, Dan Pop wrote:
In <pa****************************@bar.net> "Mac" <fo*@bar.net> writes:
On Thu, 08 Apr 2004 16:39:12 +0000, Dan Pop wrote:

In <9f**************************@posting.google.com > tr******@hotmail.com (Thiru) writes:

>I am writing an application that interacts with Oracle and Teradata.
>In order to create the executable, I need to link various Oracle and
>Teradata libraries. I found out that when I link the Oracle and
>Teradata libraries together, the Teradata API functions are not
>working properly. My assumption is that these libraries are sharing
>identical function names and parameter lists and hence the conflicts
>are causing the problem. Is my assumption a valid one. Could there
>be other reasons why Teradata API functions don't work properly when I
>link the Oracle libraries. What can one do in such a case?

To validate your suspicions, try to change the order of the libraries in
the linking command. If the behaviour of the program changes, then you're
right. If the new behaviour is the intended one, you're also lucky.
If the new behavior is different, but still wrong, you have to complain
to the two vendors, preferably using a minimal program that exposes the
problem.

Dan

Wouldn't there likely be (off-topic) tools to list the symbols in each
library? From there it should be fairly easy to find conflicting symbols,
no?


Depending on your actual system, my approach may be a far easier way of
demonstrating the existence of conflicting symbols. The typical Unix
linker never complains about conflicting symbols in libraries: the first
encountered definition is used to resolve the symbol and all the others
are ignored. OTOH, comparing the output of nm biglib1 vs the output of
nm biglib2 is not something for the faint of heart.

Things may be different on other systems...


I don't think I have experience on systems you don't have experience on.
I am probably just underestimating the difficulty of processing the output
of "nm" on two large libraries. I've never done it, but it doesn't SOUND
hard. ;-)


Then, do it and see whether it's more difficult than inverting the order
of two libraries on the linker invocation.

Dan
--
Dan Pop
DESY Zeuthen, RZ group
Email: Da*****@ifh.de
Nov 14 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: frasfan | last post by:
Hi, I am having a problem with the validator controls in VB.net conflicting with the javascript I am using to confirm whether or not the user wants to submit the page. Here is the situation: I...
1
by: Julia Briggs | last post by:
Hello, I have these two scripts, where the first one is being canceled out by the second, they work independently, but not together (they are a auto-tab and form box character counter script) --...
10
by: Minti | last post by:
I tried the following code on Borland C++ complier and Microsoft VC7.0 both seem to give conflicting results void foo(const int& x) { std::cout << "In const foo\n"; } void foo(int& x) ...
2
by: humble04 | last post by:
Hi, I am compiling a collection of C++ code. Most of them are using the new format #include <iostream>. I think all of them because I failed at finding out which header file uses the old format ...
6
by: user | last post by:
Hi, I got this error and donno know how to fix it: In file included from ../except.h:53, from group.c:22: .../portspecs.h:81: error: conflicting types for `const double __infinity'...
3
by: Ton van den Heuvel | last post by:
Hi all, why does the following code not compile, and fail with: qed.cpp: In instantiation of `B<Foo*>': qed.cpp:40: instantiated from here qed.cpp:29: error: conflicting return type...
7
by: Thiru | last post by:
I am writing an application that interacts with Oracle and Teradata. In order to create the executable, I need to link various Oracle and Teradata libraries. I found out that when I link the...
1
by: helraizer1 | last post by:
Hi folks, I have an image based shoutbox which I am currently implementing emoticons onto. I have a way now for the emoticons to appear where the :D or =) etc. is on the image, but for some reason...
12
by: Michael.Z | last post by:
Anyone who can help: Given a Table.h file I am writing a Table.c file. I keep getting the compile error: previous declaration of Table was here / conflicting types for I think the...
1
isladogs
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...
0
by: veera ravala | last post by:
ServiceNow is a powerful cloud-based platform that offers a wide range of services to help organizations manage their workflows, operations, and IT services more efficiently. At its core, ServiceNow...
0
by: VivesProcSPL | last post by:
Obviously, one of the original purposes of SQL is to make data query processing easy. The language uses many English-like terms and syntax in an effort to make it easy to learn, particularly for...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 3 Jan 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). For other local times, please check World Time Buddy In...
0
by: jianzs | last post by:
Introduction Cloud-native applications are conventionally identified as those designed and nurtured on cloud infrastructure. Such applications, rooted in cloud technologies, skillfully benefit from...
0
by: mar23 | last post by:
Here's the situation. I have a form called frmDiceInventory with subform called subfrmDice. The subform's control source is linked to a query called qryDiceInventory. I've been trying to pick up the...
2
by: jimatqsi | last post by:
The boss wants the word "CONFIDENTIAL" overlaying certain reports. He wants it large, slanted across the page, on every page, very light gray, outlined letters, not block letters. I thought Word Art...
0
by: stefan129 | last post by:
Hey forum members, I'm exploring options for SSL certificates for multiple domains. Has anyone had experience with multi-domain SSL certificates? Any recommendations on reliable providers or specific...
1
by: davi5007 | last post by:
Hi, Basically, I am trying to automate a field named TraceabilityNo into a web page from an access form. I've got the serial held in the variable strSearchString. How can I get this into the...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.