473,769 Members | 5,727 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 2623
Thiru <tr******@hotma il.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)cybers pace.org | don't, I need to know. Flames welcome.
Nov 14 '05 #2
In <9f************ **************@ posting.google. com> tr******@hotmai l.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******@hotma il.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********@yah oo.com) (cb********@wor ldnet.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******@hotmai l.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******@hotmai l.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******@hotmai l.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******@hotmai l.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
>identica l 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
1794
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 am having the user edit a page with text boxes populated from a query against a SQL Server database. When the user clicks on "Save", the information currently contained in the text boxes will be saved to the database. I am using the following code...
1
1504
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) -- hopefully one can see how they are conflicting and fix a solution so they can work and mesh together. It seems the second script is canceling out the first -- so I am not sure what the problem is. Thanks for anyone's help! :)) Sincerely,
10
1484
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) {std::cout << "In non-const foo\n"; } int main(void) { foo(5);
2
3990
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 #include <iostream.h>. However, I met the following error messages. "/usr/vacpp/include/iostream.h", line 74.7: 1540-0400 (S) "class ostream" has a conflicting declaration "../include/myfile.h", line 7.1: 1540-0424 (I) "ostream" is declared on
6
8117
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' /usr/include/math.h:26: error: previous declaration as `const __dmath __infinity'
3
5589
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 specified for `const T B<T>::Test() const ' qed.cpp:14: error: overriding `virtual const Foo* A::Test() const'
7
319
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 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...
1
1928
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 they seem to be conflicting. I shall try to explain. chatbox.php - only necessary code shown $grins = array('=D', "=d", ":d", ":D"); foreach ($grins as $grin) {
12
9136
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 problem was the result of two pieces of code. First: typedef struct Table; /* in Table.c*/
0
10210
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10039
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9860
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8869
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5297
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5445
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3955
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3560
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2814
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.