Qsort problems on Solaris 10 with Forte 6.0u2
All,
I know the Forte version is a bit behind - but I'm stuck with it.
I'm trying to port some software we have working on Solaris 2.6 thru Solaris 9 over to Solaris 10, but am having some trouble linking my executable due to the extern "C++" declaration of qsort in /usr/include/iso/stdlib_iso.h.
The problem is easily visible with a simple test program.
#include <stdlib.h>
int comp(const void pv1, const void pv2)
return 1;
int main(int argc, char *argv[])
int iArray[20];
std::qsort((void *)&iArray[0],
sizeof(iArray)/sizeof(iArray[0]),
sizeof(iArray[0]),
comp);
return 0;
Yes it's non-functional, but it's sufficient for displaying my problem.
If I compile with the C compiler (cc) it compiles clean - however when I compile with the C++ compiler (CC).....
[tony@sol10]:~/export:29 % CC -o testqsort testqsort.c
Undefined first referenced
symbol in file
void std::qsort(void*,unsigned,unsigned,int(*)(const void*,const void*)) testqsort.o
ld: fatal: Symbol referencing errors. No output written to testqsort
Now it's obvious to me that the problem is due to the fact that under the C++ compiler qsort is now (under Solaris 10) getting declared as extern "C++", but I'm not sure how I can resolve this. I know that qsort is implemented in libc, but this obviously isn't sufficient due to the shift of namespace. Yes, I need to use the C++ compiler as my code is C++, only my test code is valid C.
Can anybody lend some assistance? Is there just another lib I need to link to? I'm expecting this to be something basic that I'll be embarrassed about when it's pointed out. But for now I'm stumped. Running nm across all my libs yielded no implementation apart from in libc.so.
Thanks in advance
Tony
Standard C++ defines two versions of qsort (and also bsearch): one that takes a pointer to a C function, and one that takes a pointer to a C++ function.
Recall that in standard C++, a pointer to a C function has a different type than a pointer to a C++ function. This issue is discussed at length in the C++ Migration Guide that comes with the compiler.
The version of qsort that takes a pointer to a C function is the C version of qsort, and is in libc.so (the basic Solaris runtime library that all programs use).
The version of qsort that takes a pointer to a C++ function is in the C++ runtime library libCrun.so that all C++ programs use.
But because it took a while for Solaris headers to be updated to the C++ requirement, early versions of libCrun did not have the C++ version of qsort (or bsearch). If you get the latest C++ runtime library patch (SUNWlibC) for your system, your program should link. You can get patches here:
http://developers.sun.com/prodtech/cc/downloads/patches/index.html
Not only the system where you build the program needs updating, but every system that runs the program you build.
Alternatively, you can declare the comparison function extern "C" so that the C version of qsort will be used.
extern "C"
int comp(const void pv1, const void pv2)
But if the comparison function is in a namespace or is a class member function, you cannot usefully declare it extern "C".
Similar Messages
-
Focus Problem on Solaris with jdk 1.3.1
Hi all,
We are having a focus problem on Solaris. The same code works fine on Windows without any problem.
I am sending the test code and run steps below which you can compile and repeat the problem.
NOTE: When we put a comment on the line "f1.requestFocus();" in TestFocus.java it works OK.
Run Steps :
1. Run TestFocus.class
2. A JFrame appears with 2 text field and a button
3. Try to write something on the text fields. It works OK.
4. Click the button to open a new JFrame
5. A new JFrame opens with a single text field and a button.
6. Click the button to close the second frame
7. You are now on the main JFrame
8. Try to write something on the text fields. It works OK.
9. Repeat the steps 4-7
10. Try to write something on the text fields. You are able to focus and write on the first field. BUT you cannot select or write the second Field!
JAVA SOURCE FILES :
PenHesapListener.java :
public interface PenHesapListener extends java.util.EventListener {
void tamam_actionPerformed(java.util.EventObject newEvent);
void iptal_actionPerformed(java.util.EventObject newEvent);
------PenHesapLisEventMulticaster.java----------------------------------
public class PenHesapLisEventMulticaster extends java.awt.AWTEventMulticaster implements PenHesapListener {
* Constructor to support multicast events.
* @param a java.util.EventListener
* @param b java.util.EventListener
protected PenHesapLisEventMulticaster(java.util.EventListener a, java.util.EventListener b) {
super(a, b);
* Add new listener to support multicast events.
* @return muhasebe.HesappenListener
* @param a muhasebe.HesappenListener
* @param b muhasebe.HesappenListener
public static PenHesapListener add(PenHesapListener a, PenHesapListener b) {
return (PenHesapListener)addInternal(a, b);
* Add new listener to support multicast events.
* @return java.util.EventListener
* @param a java.util.EventListener
* @param b java.util.EventListener
protected static java.util.EventListener addInternal(java.util.EventListener a, java.util.EventListener b) {
if (a == null) return b;
if (b == null) return a;
return new PenHesapLisEventMulticaster(a, b);
* @return java.util.EventListener
* @param oldl muhasebe.HesappenListener
protected java.util.EventListener remove(PenHesapListener oldl) {
if (oldl == a) return b;
if (oldl == b) return a;
java.util.EventListener a2 = removeInternal(a, oldl);
java.util.EventListener b2 = removeInternal(b, oldl);
if (a2 == a && b2 == b)
return this;
return addInternal(a2, b2);
* Remove listener to support multicast events.
* @return muhasebe.HesappenListener
* @param l muhasebe.HesappenListener
* @param oldl muhasebe.HesappenListener
public static PenHesapListener remove(PenHesapListener l, PenHesapListener oldl) {
if (l == oldl || l == null)
return null;
if(l instanceof PenHesapLisEventMulticaster)
return (PenHesapListener)((PenHesapLisEventMulticaster) l).remove(oldl);
return l;
public void tamam_actionPerformed(java.util.EventObject newEvent) {
((PenHesapListener)a).tamam_actionPerformed(newEvent);
((PenHesapListener)b).tamam_actionPerformed(newEvent);
public void iptal_actionPerformed(java.util.EventObject newEvent) {
((PenHesapListener)a).iptal_actionPerformed(newEvent);
((PenHesapListener)b).iptal_actionPerformed(newEvent);
---------TestFocus2.java-----------------------------------------
import javax.swing.*;
import javax.swing.JOptionPane;
import java.awt.event.WindowAdapter;
import java.awt.event.KeyListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.text.SimpleDateFormat;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Color;
import java.util.Locale;
import java.util.ResourceBundle;
public class TestFocus2 extends JFrame implements ActionListener
protected transient PenHesapListener PenhListener = null ;
JTextField f10 = null;
JButton b10= null ;
JTextField f1 = new JTextField() ;
JButton b1 = new JButton() ;
JFrame f20 = null;
public TestFocus2()
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
getContentPane().add(f1);
getContentPane().add(b1);
pack();
setVisible(true);
b1.addActionListener(this);
public void actionPerformed(ActionEvent e)
if(e.getSource() == b1)
fireTamam_actionPerformed(e);
public void addPenHesapListener(PenHesapListener newListener)
PenhListener = PenHesapLisEventMulticaster.add(PenhListener, newListener);
return;
protected void fireTamam_actionPerformed(java.util.EventObject newEvent) {
PenhListener.tamam_actionPerformed(newEvent);
this.setVisible(false);
protected void fireiptal_actionPerformed(java.util.EventObject newEvent) {
PenhListener.iptal_actionPerformed(newEvent);
public static void main(String x[])
TestFocus2 gen01 = new TestFocus2();
--------TestFocus.java-----------------------------------
import javax.swing.*;
import javax.swing.JOptionPane;
import java.awt.event.WindowAdapter;
import java.awt.event.KeyListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.text.SimpleDateFormat;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Color;
import java.util.Locale;
import java.util.ResourceBundle;
import java.awt.Container;
public class TestFocus extends JFrame implements ActionListener
PenKreKart aPenKreKart = null ;
Container ctn = null;
JTextField f10 = null;
JButton b10= null ;
JTextField f1 = new JTextField() ;
JTextField f2 = new JTextField() ;
JButton b1 = new JButton() ;
JFrame f20 = null;
public TestFocus()
//aPenKreKart = new PenKreKart(true);
//aPenKreKart.aTemelPencere.setVisible(false);
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
getContentPane().add(f1);
getContentPane().add(f2);
getContentPane().add(b1);
pack();
setVisible(true);
b1.addActionListener(this);
public void actionPerformed(ActionEvent e)
if(e.getSource() == b1)
pencere_islemi();
// pencere koyma k?sm? .. begin
public void pencere_islemi() {
ctn = this;
ctn.setEnabled(false);
TestFocus2 fpen = new TestFocus2();
//aPenKreKart.aTemelPencere.setVisible(true); //buras?
//aPenKreKart.aTemelPencere.addPenHesapListener(new PenHesapListener() {
fpen.addPenHesapListener(new PenHesapListener() {
// metod tamam_actionPerformed begin...
public void tamam_actionPerformed(java.util.EventObject newEvent) {
ctn.setEnabled(true);
ctn.requestFocus();
// Problem is when we comment the below line it works .....
f1.requestFocus();
System.out.println("tamam");
// metod tamam_actionPerformed end...
// metod iptal_actionPerformed begin...
public void iptal_actionPerformed(java.util.EventObject newEvent) {
ctn.setEnabled(true);
ctn.requestFocus();
System.out.println("iptal");
// metod iptal_actionPerformed begin...
// pencere koyma k?sm? .. end
public static void main(String x[])
TestFocus gen01 = new TestFocus();Hi all,
We are having a focus problem on Solaris. The same code works fine on Windows without any problem.
I am sending the test code and run steps below which you can compile and repeat the problem.
NOTE: When we put a comment on the line "f1.requestFocus();" in TestFocus.java it works OK.
Run Steps :
1. Run TestFocus.class
2. A JFrame appears with 2 text field and a button
3. Try to write something on the text fields. It works OK.
4. Click the button to open a new JFrame
5. A new JFrame opens with a single text field and a button.
6. Click the button to close the second frame
7. You are now on the main JFrame
8. Try to write something on the text fields. It works OK.
9. Repeat the steps 4-7
10. Try to write something on the text fields. You are able to focus and write on the first field. BUT you cannot select or write the second Field!
JAVA SOURCE FILES :
PenHesapListener.java :
public interface PenHesapListener extends java.util.EventListener {
void tamam_actionPerformed(java.util.EventObject newEvent);
void iptal_actionPerformed(java.util.EventObject newEvent);
------PenHesapLisEventMulticaster.java----------------------------------
public class PenHesapLisEventMulticaster extends java.awt.AWTEventMulticaster implements PenHesapListener {
* Constructor to support multicast events.
* @param a java.util.EventListener
* @param b java.util.EventListener
protected PenHesapLisEventMulticaster(java.util.EventListener a, java.util.EventListener b) {
super(a, b);
* Add new listener to support multicast events.
* @return muhasebe.HesappenListener
* @param a muhasebe.HesappenListener
* @param b muhasebe.HesappenListener
public static PenHesapListener add(PenHesapListener a, PenHesapListener b) {
return (PenHesapListener)addInternal(a, b);
* Add new listener to support multicast events.
* @return java.util.EventListener
* @param a java.util.EventListener
* @param b java.util.EventListener
protected static java.util.EventListener addInternal(java.util.EventListener a, java.util.EventListener b) {
if (a == null) return b;
if (b == null) return a;
return new PenHesapLisEventMulticaster(a, b);
* @return java.util.EventListener
* @param oldl muhasebe.HesappenListener
protected java.util.EventListener remove(PenHesapListener oldl) {
if (oldl == a) return b;
if (oldl == b) return a;
java.util.EventListener a2 = removeInternal(a, oldl);
java.util.EventListener b2 = removeInternal(b, oldl);
if (a2 == a && b2 == b)
return this;
return addInternal(a2, b2);
* Remove listener to support multicast events.
* @return muhasebe.HesappenListener
* @param l muhasebe.HesappenListener
* @param oldl muhasebe.HesappenListener
public static PenHesapListener remove(PenHesapListener l, PenHesapListener oldl) {
if (l == oldl || l == null)
return null;
if(l instanceof PenHesapLisEventMulticaster)
return (PenHesapListener)((PenHesapLisEventMulticaster) l).remove(oldl);
return l;
public void tamam_actionPerformed(java.util.EventObject newEvent) {
((PenHesapListener)a).tamam_actionPerformed(newEvent);
((PenHesapListener)b).tamam_actionPerformed(newEvent);
public void iptal_actionPerformed(java.util.EventObject newEvent) {
((PenHesapListener)a).iptal_actionPerformed(newEvent);
((PenHesapListener)b).iptal_actionPerformed(newEvent);
---------TestFocus2.java-----------------------------------------
import javax.swing.*;
import javax.swing.JOptionPane;
import java.awt.event.WindowAdapter;
import java.awt.event.KeyListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.text.SimpleDateFormat;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Color;
import java.util.Locale;
import java.util.ResourceBundle;
public class TestFocus2 extends JFrame implements ActionListener
protected transient PenHesapListener PenhListener = null ;
JTextField f10 = null;
JButton b10= null ;
JTextField f1 = new JTextField() ;
JButton b1 = new JButton() ;
JFrame f20 = null;
public TestFocus2()
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
getContentPane().add(f1);
getContentPane().add(b1);
pack();
setVisible(true);
b1.addActionListener(this);
public void actionPerformed(ActionEvent e)
if(e.getSource() == b1)
fireTamam_actionPerformed(e);
public void addPenHesapListener(PenHesapListener newListener)
PenhListener = PenHesapLisEventMulticaster.add(PenhListener, newListener);
return;
protected void fireTamam_actionPerformed(java.util.EventObject newEvent) {
PenhListener.tamam_actionPerformed(newEvent);
this.setVisible(false);
protected void fireiptal_actionPerformed(java.util.EventObject newEvent) {
PenhListener.iptal_actionPerformed(newEvent);
public static void main(String x[])
TestFocus2 gen01 = new TestFocus2();
--------TestFocus.java-----------------------------------
import javax.swing.*;
import javax.swing.JOptionPane;
import java.awt.event.WindowAdapter;
import java.awt.event.KeyListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.text.SimpleDateFormat;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Color;
import java.util.Locale;
import java.util.ResourceBundle;
import java.awt.Container;
public class TestFocus extends JFrame implements ActionListener
PenKreKart aPenKreKart = null ;
Container ctn = null;
JTextField f10 = null;
JButton b10= null ;
JTextField f1 = new JTextField() ;
JTextField f2 = new JTextField() ;
JButton b1 = new JButton() ;
JFrame f20 = null;
public TestFocus()
//aPenKreKart = new PenKreKart(true);
//aPenKreKart.aTemelPencere.setVisible(false);
getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
getContentPane().add(f1);
getContentPane().add(f2);
getContentPane().add(b1);
pack();
setVisible(true);
b1.addActionListener(this);
public void actionPerformed(ActionEvent e)
if(e.getSource() == b1)
pencere_islemi();
// pencere koyma k?sm? .. begin
public void pencere_islemi() {
ctn = this;
ctn.setEnabled(false);
TestFocus2 fpen = new TestFocus2();
//aPenKreKart.aTemelPencere.setVisible(true); //buras?
//aPenKreKart.aTemelPencere.addPenHesapListener(new PenHesapListener() {
fpen.addPenHesapListener(new PenHesapListener() {
// metod tamam_actionPerformed begin...
public void tamam_actionPerformed(java.util.EventObject newEvent) {
ctn.setEnabled(true);
ctn.requestFocus();
// Problem is when we comment the below line it works .....
f1.requestFocus();
System.out.println("tamam");
// metod tamam_actionPerformed end...
// metod iptal_actionPerformed begin...
public void iptal_actionPerformed(java.util.EventObject newEvent) {
ctn.setEnabled(true);
ctn.requestFocus();
System.out.println("iptal");
// metod iptal_actionPerformed begin...
// pencere koyma k?sm? .. end
public static void main(String x[])
TestFocus gen01 = new TestFocus(); -
Problem with compiling STL using program with Forte C++ 6 update 1 in compat mode
I try to compile SGI STL using program with Forte C++ 6 update 1 and I get an errror
ld -L/opt/SUNWspro/WS6U1/lib -liostream test.o -o test
Undefined first referenced
symbol in file
__0oNIostream_initctv test.o
__0oNIostream_initdtv test.o
Iostream_init - declared as a static class CC4/iostream.h, but nm libiostream.a produce
__1cNIostream_init2T6M_v_
__1cNIostream_init2t6M_v_
and program can't link.
What's wrong?
Thank you for any commentsHi!
I experienced the same problem and the solution looks like the following: in sunpro6.mak file there is a variable STL_INCL that has the following value: -I. -I${PWD}/../stlport
Change that to -I. -I${PWD}/../stlport/SC5 and the problem vanishes. The reason is that stlport/SC5 contains files *.SUNWCCh which are used by SUNpro C++ compiler as standard headers and contain correct STLPort namespace information.
Regars,
Art -
I'm having a problem reading from a file in Fort�. My program works in TextPad, but when I try running it with Fort�, it throws a FileNotFoundException...
I was wondering if I have to include it in a project or something like that?
Any help would be great.
Thanks.Probably, your file is saved on a package, with something like this:
package com.something.util;
When you declare a statement like that, the default directory is now the base directory of the package, that's the directory that contains the "com" subdirectory.
If you try to read a file named "file.txt" in the "util" directory, the relative path of the file, would be:
"com\something\util\file.txt"
If you simply write:
"file.txt"
the system would look for that file in the directory that contains "com".
When you execute this program in the command line, you are positioned in the base directory, doesn't you?
That's the default directory and so, the system finds the file.
Hope that helps! -
Content Server 6.0 Installation problem on Solaris
When I installed Content_Server_6.0_SP1_solaris_oracle on Solaris 10 ,I get the following error in log file.
dbg Bundled JRE is not binary compatible with host OS/Arch or it is corrupt. Testing bundled JRE failed.
How can I resolve it
please help me.
Regards
SandeepIf I installed any installer for sparc Machine on x86.is there any problem.My Solaris machine is x86.
thanx.
Regards
Sandeep. -
Dual OS system booting issue - Solaris with Windows XP Pro
Hi,
I have installed Windows XP Professional with SP2 on my laptop Dell Inspiron 6400 (Intel Core 2 Duo). I created partition as below,
C: 25GB (Primary : Active) Installed XP
D: 15GB (Primary) - Tried to install Solaris here
F: 10GB (Primary)
G: 20 GB (Logical)
H: 20 GB (Logical)
1. I tried to install Solaris 10, booted up system from DVD and selected Solaris. I got a message related to "License..." and it stopped right there, nothing showed up on screen after the message. I forced it to shutdown.
2. Next, I tried with Solaris Express Developer edition DVD. I was able to proceed until "Install" option. After clicking "Install" button, it reported some account name(no account name found) setting problem and quitted from installation. It asked to remove the DVD manually. But I was not able to eject it, got stuck. I switched off it and removed DVD.
When I bootup the system next time from HDD or CD or USB bootable backup, it showed blank screen and blinking cursor. I am not able to boot system with Win XP or USB Win Xp bootable. I am able to enter BIOS setup.
Please let me know how to boot up Win Xp and install Solaris with it.with my little experience i find solaris 10 isn't able to install on sata hdd but with solaris express edition 5.11 i was able to install it on my lap top toshiba tecra and now i can boot with xp sp2 and solaris i hope this answer your question .
-
RE: Using CORBA as Middleware with Forte'
This is one solution when the two sides want to be somewhat independent of
each other.. To use Forte messaging the environments have to be connected,
identical Forte versions, probably identical versions of all objects
involved (rather than just correct IDL), etc. I've toyed with this as well
for a client with two major Forte application development efforts occurring
in completely different business units.
-Greg
-----Original Message-----
From: Sean Brown [SMTP:[email protected]]
Sent: Thursday, October 22, 1998 1:56 PM
To: Giuseppe Sorce; Lenny Hon
Cc: [email protected]
Subject: Re: Using CORBA as Middleware with Forte'
If you don't mind me asking, why would you ever want to do this? If
you are
talking between two Forte services, why would you not want to use
the native
protocol which is bound to be more efficient since it was written
specifically for that purpose? The only reason I can think of is if
you
need two Forte services to talk to each other through a firewall and
the
firewall is configured to only allow certain protocols through, such
as
IIOP. Is this what you are trying to do? If not, what is your
reasoning?
Thanks,
Sean Brown
Cornice Consulting Inc.
mailto:[email protected]
-----Original Message-----
From: Giuseppe Sorce <[email protected]>
To: Lenny Hon <[email protected]>
Cc: [email protected] <[email protected]>
Date: Thursday, October 22, 1998 10:05 AM
Subject: RE: Using CORBA as Middleware with Forte'
>
>Lenny, I'm sorry but I think that my problem is more complicated.
>No java clients or java servers are involved: I want to use CORBA
as
>middleware between 2 different Forte' partitions (running on
different
>forte' environments).
>For example imagine you have 2 different Forte' applications (say
>application A and application B) in 2 different forte'
environments.
>Now imagine to define an IIOP-enabled service object (Inbound) in
>application A and, starting from the generated IDL (using corbagen
utility)
>to create a IIOP-enabled service object (Outbound) in application
B.
>Application B will be the Corba Client and application A will be
the Corba
>Server.
>They don't use Forte' middleware for communication (they are in
different
>Forte' envs).
>
>Giuseppe Sorce
>
>
>
>
>
>Lenny Hon <[email protected]> on 22/10/98 15.35.40
>
>Please respond to Lenny Hon <[email protected]>
>
>To: Giuseppe Sorce/CSI/IT, "'[email protected]'"
> <[email protected]>
>cc:
>Subject: RE: Using CORBA as Middleware with Forte'
>
>
>
>
>I have successfully used Forte IIOP-enabled service object to
communicate
>with my client Java program that uses VisiBroker 3.2 for Java ORB.
For the
>information, you can read the Forte Web Enterprise manual and the
following
>tech notes: 10950, 10951, 11145, 11152. I found them from Web
manual.
>
>Lenny Hon
>
>-----Original Message-----
>From: Giuseppe Sorce [mailto:[email protected]]
>Sent: Thursday, October 22, 1998 5:58 AM
>To: [email protected]
>Subject: Using CORBA as Middleware with Forte'
>
>
>
>I would like to find a way to use CORBA middleware as an
alternative for
>communications between Forte' partitions (I'm using Forte' rel.
3.0.G plus
>Visibroker 3.1 ORB).
>
>I found a technical note (ID 10520) but it is quite old and it is
related
> to Forte' release 2.0.E.2 (!).
>
>Any experience with Forte' release 3 and Visibroker would be
greatly
> appreciated.
>
>
>
>TIA
>
>Giuseppe Sorce
>
>CSI Piemonte - C.so Unione Sovietica 216 - 10134 Torino - ITALY
>
>tel. +39-011-3168736
>
>fax +39-011-3168212
>
>e-mail [email protected]
>
>url http://www.csi.it
>
>
>
>-
>To unsubscribe, email '[email protected]' with
>'unsubscribe forte-users' as the body of the message.
>Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
>-
>To unsubscribe, email '[email protected]' with
>'unsubscribe forte-users' as the body of the message.
>Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
>
>
>
>
>
>
>-
>To unsubscribe, email '[email protected]' with
>'unsubscribe forte-users' as the body of the message.
>Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>This is one solution when the two sides want to be somewhat independent of
each other.. To use Forte messaging the environments have to be connected,
identical Forte versions, probably identical versions of all objects
involved (rather than just correct IDL), etc. I've toyed with this as well
for a client with two major Forte application development efforts occurring
in completely different business units.
-Greg
-----Original Message-----
From: Sean Brown [SMTP:[email protected]]
Sent: Thursday, October 22, 1998 1:56 PM
To: Giuseppe Sorce; Lenny Hon
Cc: [email protected]
Subject: Re: Using CORBA as Middleware with Forte'
If you don't mind me asking, why would you ever want to do this? If
you are
talking between two Forte services, why would you not want to use
the native
protocol which is bound to be more efficient since it was written
specifically for that purpose? The only reason I can think of is if
you
need two Forte services to talk to each other through a firewall and
the
firewall is configured to only allow certain protocols through, such
as
IIOP. Is this what you are trying to do? If not, what is your
reasoning?
Thanks,
Sean Brown
Cornice Consulting Inc.
mailto:[email protected]
-----Original Message-----
From: Giuseppe Sorce <[email protected]>
To: Lenny Hon <[email protected]>
Cc: [email protected] <[email protected]>
Date: Thursday, October 22, 1998 10:05 AM
Subject: RE: Using CORBA as Middleware with Forte'
>
>Lenny, I'm sorry but I think that my problem is more complicated.
>No java clients or java servers are involved: I want to use CORBA
as
>middleware between 2 different Forte' partitions (running on
different
>forte' environments).
>For example imagine you have 2 different Forte' applications (say
>application A and application B) in 2 different forte'
environments.
>Now imagine to define an IIOP-enabled service object (Inbound) in
>application A and, starting from the generated IDL (using corbagen
utility)
>to create a IIOP-enabled service object (Outbound) in application
B.
>Application B will be the Corba Client and application A will be
the Corba
>Server.
>They don't use Forte' middleware for communication (they are in
different
>Forte' envs).
>
>Giuseppe Sorce
>
>
>
>
>
>Lenny Hon <[email protected]> on 22/10/98 15.35.40
>
>Please respond to Lenny Hon <[email protected]>
>
>To: Giuseppe Sorce/CSI/IT, "'[email protected]'"
> <[email protected]>
>cc:
>Subject: RE: Using CORBA as Middleware with Forte'
>
>
>
>
>I have successfully used Forte IIOP-enabled service object to
communicate
>with my client Java program that uses VisiBroker 3.2 for Java ORB.
For the
>information, you can read the Forte Web Enterprise manual and the
following
>tech notes: 10950, 10951, 11145, 11152. I found them from Web
manual.
>
>Lenny Hon
>
>-----Original Message-----
>From: Giuseppe Sorce [mailto:[email protected]]
>Sent: Thursday, October 22, 1998 5:58 AM
>To: [email protected]
>Subject: Using CORBA as Middleware with Forte'
>
>
>
>I would like to find a way to use CORBA middleware as an
alternative for
>communications between Forte' partitions (I'm using Forte' rel.
3.0.G plus
>Visibroker 3.1 ORB).
>
>I found a technical note (ID 10520) but it is quite old and it is
related
> to Forte' release 2.0.E.2 (!).
>
>Any experience with Forte' release 3 and Visibroker would be
greatly
> appreciated.
>
>
>
>TIA
>
>Giuseppe Sorce
>
>CSI Piemonte - C.so Unione Sovietica 216 - 10134 Torino - ITALY
>
>tel. +39-011-3168736
>
>fax +39-011-3168212
>
>e-mail [email protected]
>
>url http://www.csi.it
>
>
>
>-
>To unsubscribe, email '[email protected]' with
>'unsubscribe forte-users' as the body of the message.
>Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
>-
>To unsubscribe, email '[email protected]' with
>'unsubscribe forte-users' as the body of the message.
>Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
>
>
>
>
>
>
>-
>To unsubscribe, email '[email protected]' with
>'unsubscribe forte-users' as the body of the message.
>Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/> -
hi,
i have a problem in login with sys, the situation as follows:
1- when i try to connect using : sqlplus "/as sysdba" or "sys/password as sysdba" it connect me to the DB.
2- when i try to connect : sqlplus "sys/password@MYDB as sysdba" it gives me "ORA-01017: invalid username/password; logon denied".
3- when i try to connect with another user i.e : sqlplus "system/password@MYDB" it connect me to the DB.
DB version : 9.2.0.8
OS version : Solaris 10
please advice...1- when i try to connect using : sqlplus "/as sysdba"
or "sys/password as sysdba" it connect me to
the DB.This works anyway, because you're authenticated by OS. Example :
SQL> conn sys/aaaa as sysdba
Connected.
SQL> conn sys/bbbb as sysdba
Connected.
SQL>
2- when i try to connect : sqlplus "sys/password@MYDB
as sysdba" it gives me "ORA-01017: invalid
username/password; logon denied".Here you need the real password, so make sure you're using the correct one. -
Problem accessing iPlanet with Firewall
We have iPlanet 4.1 SP9 webserver installed in Solaris 8. The server is configured with IP address 10.98.23.17. We are able to access our JSP web application successfully thru intranet without any firewall.
But, we face problems while accessing with Firewall. I will explain the situation below :
We have another network with ip range 193.1.1.XXX. There is a firewall between 193.1.1.XXX and 10.99.23.XXX.
When the user in the 193 network types URL as htp://193.1.1.38/test which is the firewall IP, the firewall does the NATting and handover the request to 10.98.23.17. The reply from the iplanet to the user is coming back as http://10.98.23.17/test. Since, 10.98.23.17 is not reachable from 193 network, he is not able to access the web application.
I want the reply from iPlanet to the user to come as http://193.1.1.38/test. How to solve this problem ? Kindly help me ?
TIA
ShaikIt sounds like you need to modify the ServerName line in the config/magnus.conf configuration file to reflect the externally visible hostname or IP address. In your case, the config/magnus.conf file should contain the following line:
ServerName 193.1.1.38 -
[Fwd: Creating an ODBC Driver with Forte]
Has anyone created an ODBC driver with Forte? The Microsoft ODBC
Software Development Kit (SDK) assumes that ODBC drivers will be
developed in C. I would like to write the driver in Forte TOOL. Even
though C++ code can be generated from TOOL code, I am not certain that
the generated C++ code will conform to the ODBC API, and be compatible
with other ODBC components, such as the ODBC Driver Manager, ODBC
Installer, and ODBC Test applications supplied by Microsoft with the
ODBC SDK. Any advice would be appreciated. (The purpose of my ODBC
driver is to enable data access by any ODBC client application, using
calls to Forte service objects to retrieve and process the data before
it is sent to the client application.)
Chris Johnson
Unified Information, Inc.
425-814-4007
MailTo:[email protected]The following is extracted from Oralce's Metalink: (sorry lost the link)
"This is an NLS related issue. The ODBC driver uses the values derived from the NLS_LANG setting from the Oracle Home where the driver is installed.
The application actually uses the number setting from the NT Regional Settings.
When these two settings differ, then the decimal character will be cut off. This behaviour is also described in Bug:694323.
Example:
You have set your NLS_LANG in the ORACLE_HOME of your ODBC driver to GERMAN_GERMANY.WE8ISO8859P1. This will result in a value for the NLS_NUMERIC_CHARACTERS of ",." (the first part of the NLS_NUMERIC_CHARACTERS being the decimal character and the second part being the group separator).
So the "." is used by the Application and the "," is used by the Oracle ODBC driver.
As a result numeric values in your Oracle Database with an integer and a decimal part will thus be displayed by the application without the decimal character, i.e. a value of 10,734 will be displayed as 10734 a value of 0,123 will be displayed as 123.
To fix this, you will either have to correct the character used for the Decimal Symbol of your NT Regional settings to match the value of your Oracle NLS_LANG setting or vice versa. To change the value for NLS_LANG, go to your registry and change the NLS_LANG parameter that is situated under HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMEnnn/NLS_LANG where HOMEnnn is the home where your Oracle ODBC driver is installed."
Hope this helps, resolved our issue with this problem. -
Problem: List images / Palm / Forte
Are there any issues with creating JAR files that contain PNG files with Forte?
I cannot seem to get images to display in a List on a Palm. With the Forte debugger, I am able to see that the Image is found. No exceptions are throw when I try to get a handle on the PNG.
When it comes to displaying the image, the default list icon is displayed instead.
My image is a black and white, 10x10 PNG image. It is 1kb in size.
Has anyone experienced this problem? If so, how did you solve it?[kevinsikora],
Not that I know of. With the MIDP 1.0 for PalmOS, there is a restriction of the maximum image file size of 64 kbytes for a PNG image file.
Can you check the Preferences settings on the "Java HQ" AMS application? There is a setting for the color for the MIDP for Palm OS 1.0 environment, that should state black and white since your PNG image is black and white.
Can I assume that you are using the Image.createImage() method in your code and that the PNG file is placed correctly in the JAR file?
HTH.
Rgds,
Allen Lai
Developer Technical Support
Sun Microsystems
http://access1.sun.com -
DefaultTableCellRender not working on solaris with JDK1.3.1
HI,
I have upgraded my JRE from 1.2.2 to 1.3.1. I was using
the following piece of code
column = new TableColumn(1,200);
column.setCellRenderer(new DefaultTableCellRenderer());
this was working fine with Jre 1.2.2 where i just was painting the cell with blue/green colors based on some conditions. but once i migrated from jre 1.2.2 to jre1.3.1 without changing the code, i found that it is working the same way with windows environment but it's not able to paint the cells properly with solaris 5.8 environment. to paint the cells I am using Color class. I was using
color1 = new Color(144,202,182); //light green
Color2 = new Color(145,168,199) //light blue
however on solaris both of them are being displayed as light blue colour.
I want to know what could be the reason for such behaviour? Are ther any patches available for the solaris with jre1.3.1 so that this problem can be fixed.Try this:
Bug ID: 4382860 DefaultTableCellRenderer has new optimisation that make it difficult to ... -
Problem installing Solaris 10 1/06 Operating System
I am trying to install Sol 10 1/06 release.
Problem
CDE fails, with Error Opening PAM libraries ?
Log in to console (as root) fails with:
open_module:/usr/lib/security/pam_authtok_get.so.1 error message
At the same time I am missing /usr/lib/mps/libnss3.so
Thanks
MilanPlease post more details.
How are you trying to do this install? Boot from CD-ROM; JumpStart?
CDE is not normally involved in a Solaris install. -
Try to use Mysql database with forte
Dear All:
As title said, I try to use Mysql database with forte.
I read the manual , it said I have to put the database jdbc driver in
the Forte for Java lib/ext directory.
I did it and then add a new Driver in the Runtime tab in the Explorer
window .
But when I try to test this new driver(by Right-clicking on the driver
or connection in the Explorer and select Test Driver from the context
menu),it said "cannot find driver class: check your CLASSPATH or
\lib\ext direectory".
I am sure I'hve put the driver class(with the whole directory structure)
in that folder.
Does anyone what I may go wrong ?
Could you please give me some advices that I can fix this problem ?
Thanks in advance.
Ken @ Taipei , Taiwan , AsiaYou should have put the jar file that contains the driver into that directory. If you unpacked the jar file and put the individual classes into that directory, it will not work.
-
RMI Performance Comp. with Forte
Hi All,
I know that this topic has been discussed on the list
already, but I would like to find out whether the
current state of Sun's RMI implementation is like
I imagine it, and I want to compare with our Forte
Service objects too. Basically, these seem to be
issues that negatively affect performance,
1. A thread is created on the server per request, and
there is no way to change this easily (i.e. reuse
threads from a pool)
2. Each call opens a new socket.
In particular, does it make sense to replace RMI with
CORBA for increased performance and scalability? Can a
PC-based server handle loads of about 1000 remote
calls per second (considering the overhead imposed by
RMI/other communication methods only)? or Shall we
compare Forte against RMI.
Thankx,
BabuOkay,
A method invocation (or function call or procedure call or whatever) is
always a synchronous call. This means, you ask the service to do something
and wait for the function to complete, optionally with return values. It is
possible, that within the method, a separate thread is started, that
continues after the method is completed, but that doesn't change the
mechanism that a method invocation is a synchronous call.
In Forte, it is possible to start a method as an asynchronous call, with the
"start task" command. In that case, the caller does not wait for the method
to complete and return values are not handled. If this method invocation
happens across a network (making it a Remote Method Invocation) then a
socket will be opened when the call is made and closed immediately after. It
does solve the one-socket-per-caller problem, but not the
one-thread-per-caller problem. Also, it does remove the possibility of
receiving return values.
If you want to keep using method invocations as synchronous calls with
return values, but you also want to share resources like sockets and
threads, then you have to use TP-monitoring concepts. You must have a two
way, asynchronous call with an additional parameter. This means, the client
does a single, brief call that re-uses an existing thread and immediately
frees the socket it used. The client passes all required parameters and one
additional parameter to identify itself. In Forte, this would be a reference
to an anchored object on the client-partition. Then the client waits
(possibly blocks). The server completes the request and locates the client
that sent the request. The server invokes a method on the client, informing
that the request was handled. The server now also passes all return values.
The client exits its wait-state and continues.
In Forte (even if you use other mechanisms to hook into Forte), every call
still is a separete thread. If you wish to re-use existing threads, this
must be done using events. So, a client invokes a method asynchronously
(using "start task") and waits. The server start a new thread and posts an
event. Each existing thread is either idle in an event loop or busy handling
a previous event. The new event is added to the queue of all event loops and
the original thread is terminated (the socket was already freed). One event
loop of the thread-pool will be the first one to respond to the event, mark
this somewhere (maybe using mutex) and start handling it. All the others
will eventually respond to the event as well, but will be able to see that
the event is already being handled and ignore it.
This does introduce overhead and it makes your application more complex, but
it also prevents you running out of resources.
Now, the real issue is not the amount of calls per second, but a combination
of calls per second and seconds to complete the call. Using these two
numbers, you can calculate the amount of tasks the server has to be handling
simultaneously at any given time (average). Using the above described
technique you can handle intermittent, large loads, because if there are
more requests than available resources (threads) at any given time, the
requests will simply be put in a queue and handled later. However, if the
over-load continues for a prolonged period of time, the queue will simply
grow and grow and grow until the partition crashes and all queued items will
be lost.
Then it is time for load-balancing. You install several additional servers
and run a serverprocess on each of these machines. And you use a router that
distributes calls across the different serverprocesses. Forte has built-in
mechanisms for that, that work reasonably well. However, if the amount of
calls per second is so high, that even the short time it takes the router to
relay the request still is too long, so that the router runs out of
resources, then you have to use more complex models, for which Forte doesn't
have any ready-to-use solutions. But neither does CORBA or Java I believe.
One more thing. If you combine the above described mechanism to free sockets
as quickly as possible and use Forte loadbalancing, you might solve all your
problems. Just install 6 overloaded server processes. This results in 6
processes times 256 threads per process equals 1536 simultaneous tasks. If
each task is an asynchronous method invocation that immediately frees its
socket, then you never block you're whole server by using all sockets and
you're still able to do handle 1536 requests simultaneously.
Remember, if you have such a large load of calls per second, that all pass
through the same machine (router) then you'll run into hardware limitations
and no software solution can fix that. You have to find a mechanism to
distribute calls across different nodes without using a single router. For
example, cluster clients and have a single server node per cluster.
Pascal.
-----Original Message-----
From: Babu Raj [SMTP:ibcsmartboyyahoo.com]
Sent: Friday, March 24, 2000 3:42 PM
To: Rottier, Pascal
Cc: kamranaminyahoo.com
Subject: RE: (forte-users) RMI Performance Comp. with Forte
Hi,
I believe in CORBA, ORB maintains the same
connection ( Same Socket) for multiple calls, on the
same Servant object, unless otherwise its ONEWAY call.
But RMI uses the same strategy as Forte, I'm not sure
either on this. Thats the reason, i asked the previous
question.
Thankx,
Babu
--- "Rottier, Pascal" <Rottier.Pascalpmintl.ch>
wrote:
How are CORBA and RMI different then Forte (one
socket and one thread per
call)?
-----Original Message-----
From: Babu Raj [SMTP:ibcsmartboyyahoo.com]
Sent: Friday, March 24, 2000 3:18 PM
To: kamranaminyahoo.com
Subject: (forte-users) RMI Performance Comp. withForte
Hi All,
I know that this topic has been discussed on thelist
already, but I would like to find out whether the
current state of Sun's RMI implementation is like
I imagine it, and I want to compare with our Forte
Service objects too. Basically, these seem to be
issues that negatively affect performance,
1. A thread is created on the server per request,and
there is no way to change this easily (i.e. reuse
threads from a pool)
2. Each call opens a new socket.
In particular, does it make sense to replace RMIwith
CORBA for increased performance and scalability?Can a
PC-based server handle loads of about 1000 remote
calls per second (considering the overhead imposedby
RMI/other communication methods only)? or Shall we
compare Forte against RMI.
Thankx,
Babu
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. Tounsubscribe, send in a new
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
Maybe you are looking for
-
How to have Header and body in reciever SOAP adapter channel
Hi Experts, Please help me with the following scenario. I am designing a webservice scenario and have the WSDL available . The webservice expect the SOAP message as follows <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w
-
Sorry if this has been asked before or is really obvious :P I have a Zen Neeon and the currently playing song appears on the screen as only a title. There is no artist. All my songs are tagged with ID3 v and 2. The only way I can get the player to sc
-
Placed PDF not showing in CS3 under Mac OS Leopard 10.5.4
Hi, I have some job make in CS3 (13.02) with some placed PDF as link (not embedded). The place pdf show up correctly on IMac 10.5.2 but the same document does not show when open in CS3 on Intel Mac Pro 10.5.4. Has anyone encounter this problem before
-
I tried using the keyboard shortcut for Copy Style (Option-Command-C) to change the background color swatch on a shape, but it did the same thing as the regular Copy command (the Edit menu even highlighted temporarily). The Paste Style shortcut worke
-
Does anyone have a quick response to coupling an iphone5 with brookstone pocket projector
My ipad2 works fine with brookstone pocket projector but even with adapter I cannot get iPhone 5 to work. Is there a simple way to get the iphone5 to accept had I?