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 comments

    Hi!
    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

  • Problem with Fort�

    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
    Sandeep

    If 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/>

  • Problem in login with sys

    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
    Shaik

    It 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
    Milan

    Please 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 , Asia

    You 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,
    Babu

    Okay,
    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

  • ID3 tags and Nee

    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

  • Bug with Copy Style?

    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?