Debugger stops in wrong lines in Sun Studio 8

Hallo,
I'm trying to use Java Studio Enterprise 8 in Suse 9 and couldn't understand why debugger is showing wrong lines in standart editor. Project rebuilding doesn't help.
Raitis

There was a bug filed for this issue (http://www.netbeans.org/issues/show_bug.cgi?id=46621) but that was fixed in nb4 and hence should be fixed in jse8 (based on nb41); unless the fix, for some reason, does not work on suse.
- Does 'Clean and Build' project help?
- Does restarting the ide help? Or do you see the issue even after the ide is stopped and restarted?

Similar Messages

  • Sun Update Manager attempts to patch wrong arch of Sun Studio 12

    Hi,
    I'm having patching problems as mentioned here: http://forum.java.sun.com/thread.jspa?threadID=5198127&tstart=0
    However, I recently (last week) installed an x86_64 version of Sun Studio 12 on my sparc NFS server as documented here: http://docs.sun.com/app/docs/doc/820-0274/6nc1b7u4r?a=view
    (Installing the Sun Studio 12 Software on a Solaris Server for Use by Clients With a Different Architecture)
    The clients are Sun Solaris 10 11/06 x86_64.
    After running "check for updates", Sun Update Manager today returned 9 patches for Sun Studio 12. All of these patches appear to be for sparc architecture:
    126995-01
    124861-02
    124867-01
    124863-01
    127000-01
    127143-01
    126503-01
    127001-01
    124872-01
    My question is, why doesn't Sun Update Manager realize that I installed the x86_64 version of Sun Studio 12 (for NFS exporting) and give me the x86_64 version of these patches?
    Or am I missing something? How does the procedure "Installing the Sun Studio 12 Software on a Solaris Server for Use by Clients With a Different Architecture" result in the package system on the NFS server being aware of the correct arch version of Sun Studio 12?
    This should explain more:
    (/opt/x86_64/SUNWspro is my NFS share)
    # pwd
    /opt/x86_64/SUNWspro
    # ls -l
    total 62
    lrwxrwxrwx 1 root root 15 Aug 12 18:32 LEGAL-SS12 -> prod/LEGAL-SS12
    drwxr-xr-x 2 root sys 25 Aug 12 18:33 READMEs
    lrwxrwxrwx 1 root root 9 Aug 12 18:31 atd1 -> prod/atd1
    drwxr-xr-x 3 root sys 95 Aug 12 18:33 bin
    drwxr-xr-x 5 root sys 5 Aug 12 18:32 contrib
    drwxr-xr-x 2 root sys 3 Aug 12 18:32 docs
    drwxr-xr-x 2 root sys 7 Aug 12 18:33 examples
    drwxr-xr-x 2 root sys 5 Aug 12 18:32 include
    drwxr-xr-x 3 root sys 3 Aug 12 18:30 inventory
    drwxr-xr-x 9 root sys 40 Aug 12 18:33 lib
    drwxr-xr-x 12 root sys 13 Aug 12 18:30 man
    drwxr-xr-x 2 root root 4 Aug 12 19:46 nb-install
    drwxr-xr-x 21 root sys 21 Aug 12 18:32 prod
    drwxr-xr-x 5 root sys 5 Aug 12 18:33 sfw
    # uname -a
    SunOS <hostname> 5.10 Generic_125100-10 sun4u sparc SUNW,Sun-Fire-V440
    # cd bin
    # ls
    CC cscope er_print gvim smctl visu
    CCadmin ctc er_rm indent ss_attach visuroot
    amd64 ctcr er_src lint sunCC whatdir
    analyzer ctrace etags lock_lint sunas xdcapture
    b2m cxref f77 ootags sunc89 xdconfig
    bcheck dbx f90 prepare_system sunc99 xdesigner
    bil2xd dem f95 ptclean suncc xdhelp
    c++filt dmake fbe rcs-checkin sunf77 xdrecord
    c89 dumpstabs fdumpmod rtc_patch_area sunf90 xdreplay
    c99 dwarfdump fpp rxm sunf95 xdroot
    cb ellcc fpr rxs sunstudio xdtosj
    cc er_archive fsplit sbcleanup tcov xemacs
    cc-5.0 er_cp gil2xd sbenter tha xemacs-mule
    cflow er_export gnuattach sbquery uil2xd
    checkjava er_kernel gnuclient sbtags version
    collect er_mv gnudoit smallxd version-5.0
    # file f95
    f95: ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, stripped
    I obviously have the i386 version of f95 sitting on my sparc server. The x86 clients are happy with it - works great, but I want to be able to patch it.
    Can anyone tell me how to apply patches to my Sun Studio 12 installation in this case?
    Thanks,
    Phil

    its probably best to get your other patching issue sorted out first before going any further with this. it may turn out that fixing the problem of smpatch analyze recommending already installed patches will also fix this problem

  • Flex Builder debugger breakpoint  folows wrong lines

    this morning i start seing strange things happening with
    flexbuilder, first it seeme that it was entering code that was
    physically impossible; things like entering "if" clause and then
    immediately entering " else " clause, finally i realized debugger
    was showing lines when in reality it was executing lines that were
    about 2-3 lines above what it was showing with breakpoint , I am
    blaming this to flash player 10 debug version, maybe because its
    still new there is bug ?
    I hate to uninstall it and reinstall version 9, maybe there
    is workaround to fix it.?

    yeah I implied that, I did clean, I did manual clean I did
    every possible option, then I uninstalled f player 10 debug and
    reinstalled f player 9 debug, and while doing that discovered
    another little bug in FB3 that could contribute to this issue ,
    case is following :
    I imported a flex project from my old machine where output
    folder was /a/b/c
    in my new PC output folder is /dev/a/b/c
    so I went in project properties and adjusted output folder to
    point to correct directory /dev/a/b/c but what flexbuilder is doing
    is, it does not update all property files that have this path so
    after you build the project, half of the assets go to new directory
    /dev/a/b/c and half goes to old directory, /a/b/c, whats even
    stranger is that if you close flex builder and reopen it, project
    output folder gets reset back to point to old /a/b/c folder,
    anyways I finally fixed it by manually modifying
    .actionScriptproperties and .project files restarted FB cleaned
    output folder,and then rebuild it, but now I am not sure did these
    steps fix the issue or the flashplayer downgrade, or maybe both?
    because I had to do these steps yesterday as well, and then
    it was building correctly whole afternoon into new output folder,
    but today it started it again, finaly I obliterated the existence
    of /a/b/c path completely.

  • WSAD Debugger - stopping on lines of code that are blank/comments

    Java newbie here...
    Has anyone come across the debugger stopping on non-lines of code such as comments or blank lines? This happens as after I set breakpoints and start stepping through the code.
    Thanks

    The compiled code is not in sync with the source code.

  • Why does Sun Studio need NetBeans?

    Hi!
    Why does Sun Studio need a NetBeans installation for running successfully? If I am not too wrong, I believe Sun Studio has the same relation to the NetBeans project as Star Office has to OpenOffice.org?
    Now, coming to the solution. I am using Sun Studio 12 on Solaris:
    amit@opensolaris:~$ sunstudio --netbeanshome /export/home/amit/netbeans-6.5beta/bin/
    Validating NetBeans IDE at: "/export/home/amit/netbeans-6.5beta/bin/"
    Sun Studio is unable to find a supported version of the NetBeans IDE at the specified location.
    Sun Studio requires a NetBeans IDE version 5.5.1 with NetBeans C/C++ Development Pack version 5.5.1
    installed. Sun Studio looks for a valid NetBeans IDE installation in the following order:
    1) Location specified with --netbeanshome command line option
    2) At /opt/netbeans-5.5.1 location, if exists
    3) At /opt/SUNWspro/../netbeans-5.5.1 location, if exists
    4) At /opt/SUNWspro/../../netbeans-5.5.1 location, if exists
    Please run the System Preparation Tool (prepare_system), if available, to set up your environment.
    As is apparent, I have a NetBeans 6.5 Beta build.
    What is the solution?
    Thanks,
    Amit

    The realtionship from SunStudio to NetBEans is more than a line from A to B.
    Ideally SunStudio releases would track NetBeans releases.
    However, NetBeans evolves at a rather fast pace. At the same time SunStudio
    also contains compilers which have their own products to coordinate with ...
    OS releases, new SPARC chips and Sun system releases.
    These releases never coincide so SunStudio tends to lag in it's dependencies
    on NetBeans and as a result ships with it's own copy.
    We used to actually build our own, sometimes tweaked, NetBeans for SunStudio.
    Weve made some progress in that we just pick released NetBeans bits and re-ship them.
    We're working on the ability for SunStudio to use NetBeanses which are already
    installed.
    To make older SunStudios use newer NetBeans is a tougher proposition but
    we're dedicating grey cells to that matter as well.
    If you really want a NB 6.5 based SunStudio wait a bit. We'll be releasing
    SunStudio SX based on NB 6.5 shortly.

  • Sun Studio 12 - Can't specify command line args while profiling

    New to Sun Studio development environment, and having trouble profiling my application. I have specified command-line arguments for both Debug and Release builds in Project/Configuration Properties/Runninjg/Arguments and this works fine when running the project from within the IDE. However when I attempt to profile the application through IDE Advanced/Advanced Profiling/Start, my application is launched with no command line arguments. So far I have been unable to find any place to define command line arguments for the program when run using the profiler. Any insights would be greatly appreciated.
    Regards,
    Chad.

    Yes, there is a bug. I reproduced the problem using a sample project Welcome. If I run it without profiling, the program prints correct arguments:
    Welcome ...
    Arguments:
    1: arg 1
    2: arg 2
    [Press Enter to close window] If I run it with profiling "Advanced->Advanced Profiling->Start", the program prints wrong arguments:
    Running "/export/home/SunStudio/SUNWspro/prod/bin/collect  -d /export/home/nikm/SunStudioProjects/Welcome/nbproject/private/experiments -o test.1.er -A on   -p on  -S on  /export/home/nikm/SunStudioProjects/Welcome/dist/Debug/welcome arg 1 arg 2" in /export/home/nikm/SunStudioProjects/Welcome
    Creating experiment database /export/home/nikm/SunStudioProjects/Welcome/nbproject/private/experiments/test.1.er ...
    Welcome ...
    Arguments:
    1: arg
    2: 1
    3: arg
    4: 2
    5: null
    Run successful. Exit value 0.Note, it got 5 arguments instead of 2.
    So, there are two bugs:
    1. argument with spaces is transformed to several arguments.
    2. a "null" argument is added to the list.
    I'll file this bug and let you know the number.
    A workaround is to ignore the last argument in your
    program if it is "null", but this is a very ugly workaround :-)
    Thanks,
    Nik

  • Sun Studio 12 support DOS text (e.g. CR\LF) for line continuation ?

    I moved up to Sun Studio 12 hoping that I could solve a age old problem that allows me to share my code via NFS across multiple systems. AIX and GCC Linux precompilers and compilers have not problem with a code like this:
    #ifndef FSIBITON^M
    #define FSIBITON(x) \^M
    (long)( \^M
    ( ~(unsigned long)0 >> x ) & \^M
    ( ~(unsigned long)0 << ((sizeof(long)*8) - (x+1)) ) \^M
    )^M
    #endif^M
    (where ^M is the CR character)
    but for Solaris with the Sun Solaris compilers I have always had to copy the tree and convert to UNIX text.
    The line continuations are there for z/OS MVS record length limits to avoid having to modify default systems to build on that platform.
    Error:
    "/release/rel122/rps100/fsilib/unix/../h/fsi.h", line 118: token not allowed in directive: \
    Is there some undocumented flag/option I can use to get past this error? I hope so. Otherwise have to go back to coping lots and lots of code around, converting to Unix text as I do it, preserve the date based on the original file and then copy the binaries back to staging afterwards. On AIX and Linux and Windows they can all build in parallel from the SCM export.

    Sorry, I don't know of a way around this exact issue.
    Studio compilers will ignore the CR in a CR/LF sequence, but the C compiler does not accept what looks like an escaped CR. (The C++ compiler does accept what was intended as an escaped newline sequence.)
    Is the CR actually necessary? I thought that on systems using CR/LF as the default newline would accept LF as a newline as well in source code.
    If you have a Studio support contract with Oracle, you can file a request for enhancement (RFE) on the C compiler via your support channel to address your problem.
    Edited by: Steve_Clamage on Jul 30, 2012 9:18 AM

  • Debugger shows wrong line numbers in local file

    I'm using the debugger in Safari 5 for a web app that is entirely made up of local files (it's actually a dashboard widget). For most files it's fine, but there are a few where there appears to be a skew between the actual line number and the line number displayed by Safari. As a result, some errors are displayed with the wrong line number (e.g. "Syntax error on line 5" when the actual line is 2). More troublingly, if I place a breakpoint in a file, it acts as if it is on the wrong line so when I step through the code the current line is actually different from the one displayed by the debugger.
    The weird thing is that the line numbers displayed in the script panel are all correct, so line 47 really says "47" in the left margin, but Safari still thinks that it is line 44. In general, the skew seems to be constant and equal to -3, so the real current line when debugging is 3 lines higher than the one displayed as the current line in the debugger.

    This looks to me like a Safari bug. I did some experimentation, and it appears to be caused by the use of the newer getter syntax in an object prototype. When I do this the debugger seems to set breakpoints at the wrong lines as described in my previous post:
    function foo() {
    foo.prototype = {
      get bar() {
      do_it: function() {
        var baz = 1;
    var obj = new foo();
    obj.do_it();
    If remove the definition of the bar getter or change it to use the older __defineGetter__ syntax then the problem goes away.

  • Can't see 'Local Variables' while debugging in Sun Studio 11

    I am debugging a C/C++ application built with Sun Studio 11 running on Solaris 10. I load the application as always, set a breakpoint and run. The debugger stops at the assigned breakpoint as expected.
    The issue is that at this point there are no local variables displayed in the local variables pane.
    I have tried restarting SS11, rebuilding, etc...
    This is the first time I have seen this happen.
    Does anyone else have an idea what is wrong?

    Does adding a particular variable to Watch view help? (it can be done by typing "display <variable>" in dbx command line).
    You can also try erasing (or better moving to a temporary location) all Sun Studio settings like this:
    mv -f ~/.sunstudio /tmpand start debugging session again.

  • Sun Studio Debugging problem

    Hello
    I need help configuring the Sun studio debugger to work in fedora 8. The project is loaded from a make file, compiles fine, and runs fine. However, I can not place break points, and when I start the visual debugger, it gives a message box titled progress, and hangs on saying: starting debugger: /lib/libc.so.6
    Running from the command line gives me:
    $dbx <my program>
    For information about new features see `help changes'
    To remove this message, put `dbxenv suppress_startup_message 7.6' in your .dbxrc
    Reading <my program>
    Reading ld-linux.so.2
    Reading libm.so.6
    Reading libmpich.so.1.1
    Reading libpthread.so.0
    Reading librt.so.1
    Reading libc.so.6
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: warning: unknown location expression code (0xe0)
    dbx: panic: "ThreadAgent::setup_helper"(): Assertion (ta_td_agent) failed - "thread.cc":2674
    I have another problem in debugging an mpi problem in another installation of Sun Studio on Solaris 10 on a Sun machine. The visual debugger is working fine there, however, I need to debug with mpirun
    to decide the number of processors, because by default it loads the application on one processor. Iwill need to do this as well later on the linux machine I am using now, which doesn't even start the debugger on a sequential code so far.
    I appreciate your help a lot.
    Thank you very much in advance.
    Manal

    mhelal wrote:
    Hi
    Thank you for your reply. you said 2 problems,Yes, basically I meant these two:
    1. dbx: warning: unknown location expression code (0xe0)
    2. dbx: panic: "ThreadAgent::setup_helper"(): Assertion (ta_td_agent) failed - "thread.cc":2674
    First one should be fixed in dbx itself, but the second looks like an incompatibility between Fedora's libc and dbx; unless distros in "supported" list upgrade to the same version of libc, dbx can't be changed to match it.
    In other words, I'm sorry to say that you will probably not succeed in using dbx on Fedora 8 for the time being.

  • General and specific questions on the applicability of Sun Studio 11

    Hi. In an e-mail letter from Sun Microsystems I read about Sun Studio 11 to "utilize its record-setting parallelizing compilers." From this message I was attracted by the possibility of adding something like parallel processing, not by changing the processor (hardware), but by adding Sun-Studio-11 software to a Linux operating system. Now I already have a Fortran compiler, the Intel Fortran Compiler for Linux, which is free and can handle Cray-style pointers, a feature hard to find in a free Fortran compiler.
    1a. So for the most basic of questions, without having parallel-processing hardware, just an ordinary processor [a 1-GigaHertz (GHz) Advanced MicroDevices Duron central processing unit, in my case], is it possible to have parallel processing and thereby increase one's computing speed by installing Sun Studio 11 in a Linux operating system?
    1b. If so, by what factor could one expect the speed of computation to increase over not having Sun Studio 11 installed? (If the gain in speed is dependent on the type of computations being performed, I imagine possibly using a Fortran code to perform numerical calculations using and perhaps searching for minima or maxima in a two-or-more-dimensional surface. So please give me an idea of the sort of gain in speed one could expect for these two types of activites, calculations using formulas and searches for minima and maxima among already-computed quantities.)
    1c. Again if so, how could one just by adding software have parallel processing without two or more hardware processors? In other words, what is the basic working principle of the software to make the simultaneous performance of multiple tasks (multitasking or parallel processing) possible?
    2a. Does Sun Studio 11 include a Fortan compiler?
    2b. If so, must one use it to have parallel processing with Sun Studio 11?
    2c. Or will the Intel Fortran Compiler for Linux work with Sun Studio 11 to have a parallel processing capability?
    Concerning hardware requirements I read that Sun Studio 11 requires a minimum of 512 MegaBytes (MB) of memory, presumably Random Access Memory (RAM). My Hewlett-Packard, ZE1110, Pavilion, notebook computer has 256 MB of RAM, but is expandable to a maximum of 512 MB of RAM. So in this respect it is in principle at least technically possible for me to meet the minimum system requirement for Sun Studio 11 with my computer, if I choose to increase its RAM. Somehow accommodating the cost of such a RAM addition, including whether one may have to buy two, matching, 256-MB RAM modules or just presumably one additional 256-RAM module, is another requirement. But before spending money for such an upgrade, one should first thoroughly investigate other matters to determine if other things are going to work and to determine what gain, if any, one could expect in computing speed with Sun Studio 11 and an additional 256 MB of RAM; then decide, based on such data, whether the purchase is personally worth the money or not. That's one motivation behind this posting; another motivation is for me to learn some things.
    Lastly I would like to here thank whoever was thoughtful enough to provide the Sun Download Manager (SDM) 2.0, which allows the pausing and resumption of the 207-MB download studio11-lin-x86.tar.bz2 for the Linux version of the Sun Studio 11! Using a slow, dialup, Internet connection like mine having a maximum speed of 28.8 kilobits/second, this makes it possible to download that file over a number of Internet sessions instead of having to have an uninterrupted, 19-or-more-hour Internet session. Besides the invconvenience of tying up one's telephone line for that long a time, it might be even be difficult to have such an uninterrupted Internet session for that long a time. I have at least started such a download using the SDM 2.0 potentially over multiple Internet sessions. Whether or not I carry it out to completion could depend on whether everything looks good with Sun Studio 11 for my particular situation. Thanks in advance for your help.

    Thanks for both of your postings here. I'm mostly trying to learn something here.
    From Maxim Kartashev: "For example, if one thread (or process, or lwp) frequently performs an I/O operation, then the other thread (process, lwp) can utilize processor resources to perform, say, some computations while first one waits for operation to complete."
    I think I might understand what you meant above. I guess lwp in the above context stands for light-weight process. And I think you may be talking about a potential gain in speed with just one, ordinary processor. I guess you meant that one program, or perhaps group of programs, could perform input/output processes at the same time it is performing calculations because different parts of the processor are being used in these two groups of processes. Then on "while first one waits for operation to complete" I guess you meant that if the input/output operations finish before the computations finish, then thread 1 that was performing the input/output operations will have to wait until the current computations ordered by thread 2 are complete before thread 1 can utilize the computational resources for its own computations; i.e., two threads can't use the same computational resources of an ordinary processor at the same time. How is my thinking so far, Maxim, right, partly right, or all wrong?
    Now if the above thinking of mine is right, then it appears that one could have some gain in speed doing things like you suggest with just one, ordinary processor. And if so, I imagine that the gain could be a maximum of a factor of two for a program that requires spending as much time in input and output as it does in computation; i.e., keeping both the computational and input/output resources working all of the time without the input/output resources waiting on the computational resources or vice versa. How is my thinking here?
    If the above thinking is correct, just for purposes of discussion with just one, ordinary processor, not a dual processor, and a program which does nothing but computations there would be no gain in speed using Sun Studio 11 and a Fortran compiler over not using Sun Studio 11. In other words, to increase the speed of computation one would have to buy a faster computer, buy parallel processing hardware for an existing computer and use parallel-processing software, or somehow figure out how to harness two or more computers to work for you at the same time with instructions from one piece or perhaps set of pieces of code set up for parallel processing using two or more different computers. The latter case would be a computer analogue or "two 'heads' are better than one," not human heads, but computers. How is my thinking here?
    Here I am still assuming that it is possible for one processor to be used to do two different kinds things at once. However, I don't see how one Fortran program could instruct two things to be done at once. This is because I have not seriously studied parallel processing, I suppose. That is I am used to a sequential set of instructions that proceed from top to botton down the lines of code; i.e., one instruction or line of code can't be executed until the line of code before it has been completely executed. That is the computing "world" with which I am familiar. So how about someone here teaching me with an example of parallel-processing Fortran code how parallel processing works, explaining what instruction or group of instructions tells the computer to execute input and computational instructions at the same time?
    Based on the encouraging information from one or more other people I have been able to use the Intel Fortran for Linux 8.1.024, if I remember correctly, in a computer with a 1-GigaHertz (GHz), Advanced MicroDevices (A.M.D.), Duron Processor. So this is at least one case where it is not essential to have an Intel processor to use the Intel Fortran Compiler for Linux 8.1.024.
    Is the Sun Fortran compiler free for personal use? And can it handle Cray-style pointers?

  • Sun Studio (12,1) is unable to find a supported version of the Netbeans IDE

    Hi all,
    We're working on upgrading both the hardware and software on our application currently, and part of this involves upgrading our compiler to Sun Studio 12.1. I downloaded
    SunStudio12u1-SunOS-SPARC-pkgs-ML.tar.bz2
    from the Sun website and we installed it into the following location on our server:
    /opt/compiler/sunstudio12.1
    I successfully compiled all my code using the compiler, however, when I try to launch the debugger by typing ./sunstudio in the 'bin' directory, I get the following error:
    {opt/compiler/sunstudio12.1/bin}./sunstudio
    Sun Studio is unable to find a supported version of the NetBeans IDE.
    Sun Studio requires a NetBeans IDE version 6.5.1 with NetBeans C/C++ module (cnd
    2) enabled.
    Sun Studio looks for a valid NetBeans IDE installation in the following order:
    1) Location specified with --netbeanshome command line option
    2) At /opt/compiler/sunstudio12.1/netbeans
    I have seen references to executing 'prepare_system' on forums while I was trying to investigate this, but when our sys admin folks try to execute the command, it does not work (command not found). They've mentioned that they expected a prepare_system script in the directory where we untarred the downloaded sun studio tarfile, but it is not there:
    drwxrwxr-x 4 59001 staff 1024 Aug 20 2009 .
    drwxr-xr-x 3 yu12 lifecad 1024 Jul 2 09:48 ..
    drwxrwxr-x 4 59001 staff 1024 Aug 17 2009 LEGAL
    -rw-rw-r-- 1 59001 staff 3985 Aug 19 2009 SS12u1_README-pkgs.txt
    -rw-r--r-- 1 59001 staff 5598 Aug 20 2009 SS12u1_README-pkgs_ja.html
    -rw-r--r-- 1 59001 staff 4155 Aug 20 2009 SS12u1_README-pkgs_zh.html
    -rwxrwxr-x 1 59001 staff 517979136 Aug 6 2009 SunStudio12u1-SunOS-SPARC-pkgs.sh
    -rwxrwxr-x 1 59001 staff 11814 Aug 6 2009 install_patches.sh
    drwxrwxr-x 5 59001 staff 96 Aug 17 2009 patches
    I can see a netbeans directory was created as part of the install, but I'm not sure why sun studio thinks netbeans is not available (afraid my knowledge about netbeans is practically non existent):
    {opt/compiler/sunstudio12.1/netbeans}ls -l
    total 6062
    drwxr-x--- 2 root root 512 Apr 5 11:14 bin
    drwxr-x--- 7 root root 512 Apr 5 11:14 cnd2
    -rw-rw-r-- 1 root root 5254 Mar 5 2009 CREDITS_ja.html
    -rw-rw-r-- 1 root root 5175 Mar 5 2009 CREDITS_pt_BR.html
    -rw-rw-r-- 1 root root 4908 Mar 5 2009 CREDITS_zh_CN.html
    -rw-rw-r-- 1 root root 5434 Mar 5 2009 CREDITS.html
    -rw-rw-r-- 1 root root 1717 Mar 5 2009 DISTRIBUTION.txt
    -rw-rw-r-- 1 root root 0 Aug 6 2009 dummy
    drwxr-x--- 2 root root 512 Apr 5 11:14 etc
    drwxr-x--- 7 root root 512 Apr 5 11:14 gsf1
    drwxr-x--- 6 root root 512 Apr 5 11:14 ide10
    -rw-rw-r-- 1 root root 1845 Mar 5 2009 LEGALNOTICE.txt
    -rw-rw-r-- 1 root root 64275 Mar 5 2009 LICENSE.txt
    -rw-rw-r-- 1 root root 37141 Mar 5 2009 moduleCluster.properties
    drwxr-x--- 7 root root 512 Apr 5 11:14 nb6.5
    -rw-rw-r-- 1 root root 15822 Mar 5 2009 netbeans.css
    drwxr-x--- 8 root root 512 Apr 5 11:14 platform9
    -rw-rw-r-- 1 root root 6141 Mar 5 2009 README_ja.html
    -rw-rw-r-- 1 root root 5692 Mar 5 2009 README_pt_BR.html
    -rw-rw-r-- 1 root root 5122 Mar 5 2009 README_zh_CN.html
    -rw-rw-r-- 1 root root 5155 Mar 5 2009 README.html
    -rw-rw-r-- 1 root root 2913280 Mar 5 2009 THIRDPARTYLICENSE.txt
    drwxr-x--- 5 root root 512 Apr 5 11:14 websvccommon1
    Our server details are:
    {opt/compiler}uname -a
    SunOS a03714 5.10 Generic_142900-03 sun4v sparc SUNW,T5440
    Any advice appreciated on how to get the debugger working. Ideally, I'd prefer not to uninstall / reinstall if at all possible as we're about to start system testing our executables, and I think a reinstall would require more unit teting and delays to our project (yikes!). But any input would be appreciated here.
    Thanks,
    Brendan.

    Hi David,
    First off - thanks for the response. I do have some follow up questions if you don't mind though:
    1. When you say the install is corrupted, do you suspect
    - the file I downloaded from the website either was corrupted, or was not the correct file for my platform
    - the procedure used to install the software was incorrect
    - something else
    2. Is there a logfile that the sun studio install creates which would indicate an error during the installation procedure? I'm sure our admins who performed the install would have shouted if an error was logged... but on the offchance that the installation does not 'shout loudly' for some errors, I'd like to see a log of the error. At a minimum, I'd expect it to say why the install failed, and what we need to modify to ensure a successful install next time 'round.
    3. I successfully compiled my code using the C compiler from the install. My unit tests also look good... does this suggest that the install was at least a partial success, and would you suspect that my recompiled executables are reliable, despite the fact that I cannot launch the IDE?
    4. Today, one of our admins telnetted to our unix server - not via exceed by the way, but he did try the following test:
    - set his display env variable (he knew he would not get a display however)
    - executed the sunstudio script
    He did not get the netbeans error, and the process appeared to be running (as I mentioned, without a display) until he killed it. I've asked if they can repeat the test using an exceed session. I thought there may be something on his $PATH that I did not have - unfortunately this was not the case (although, he may have access as 'root' to something that I require to launch the IDE). My question is, would you expect this behaviour if the install was corrupted?
    Let me know what you think.
    Thanks,
    Brendan.

  • Exception not always caught in Sun Studio 12

    Hi,
    We're using Sun Studio 12 (Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25) on a Solaris 10 SPARC machine. In our applications an exception thrown is sometimes not caught in the try/catch statement and the program continues at an outer catch statement (which usually leads to the program exiting). So far I've not been able to reduce the code down to a simple example and I don't yet know what conditions causes this behaviour.
    In general the code has a big try/catch statement in main. Somewhere deep in the code there is a second try/catch statement which protects against a piece of code which we know may throw an exception. This is usually a smart pointer being dereferenced. The act of dereferencing the smart pointer in turn causes an exception to be thrown which is caught internally in a third try/catch inside the dereference code. The exception is successfully caught and some clean up is done. Then the exception is re-thrown by either using a throw; statement or a new throw xmsg("...");. All our exceptions are always of type xmsg which simply takes a string argument.
    When the problem manifests itself the second try/catch is ignored and the re-thrown exception is instead caught in the outer catch statement in main which causes the program to log an error and exit.
    We have lots of code which is structured the same way and the same style of code works in many cases only to fail in some specific case. It's an elusive problem because the problem moves around and it also depends on how the program is compiled. It only seems to happen when compiled in debug mode. If I compile with -xO4 the problem seems to go away.
    The problem also goes away or moves to a different place if the code has changed somewhere between compiles, i.e. some other developer has modified some code, not necessarily in the same are where the problem originally happened.
    One thing we have is a function we call DoThrow (used to suppress a warning on an older compiler) defined like this:
    void DoThrow(const std::string& msg)
      throw xmsg(msg);
    }As an experiment I replaced the call to DoThrow with a straight throw xmsg(...) at a place where the first exception was thrown and the problem went away. I'm not sure if removing the call to DoThrow fixed the problem or if the minor restructuring of the code was enough to move the problem elsewhere.
    For production releases we still use WorkShop 6, update 2 which does not have any problems like this. We really would like to upgrade to Sun Studio 12 because it's a much better compiler over all. We can't upgrade until we feel confident we have a workaround.
    Does anyone have any thoughts on what might be wrong or any ideas on what I can do to narrow down the problem?
    Thanks,
    Krister

    Many thanks. You've given me a few areas to focus on and I'll bring my house in order.
    The only external C++ library we depend on is STLport 5.0.2 which we compile ourselves. It's currently compiled with 5.3 on Solaris 8 and I will recompile it with 5.9 on Solaris 10. All other external libraries are C libraries. Our own code is put in static libraries and linked statically. I've read that exceptions thrown in shared libraries can be problematic.
    Your comment about complex conditional expressions (a ? f() : g()) is interesting. We've been bitten before by compiler bugs affecting those types of expressions. Destructors called twice or destructors called for temporaries never created. We may still have some conditional expressions like that.
    The exception is of type xmsg, defined this way:
    class xmsg
      public:
        xmsg(const char* s) : _msg(s) {}
        xmsg(const std::string& s) : _msg(s) {}
        const std::string& why() const { return _msg; }
      private:
        const std::string _msg;
    };There are three catch blocks involved and all the try/catch statement look like this:
    try
    catch(const xmsg& msg)
    }Here is a stack trace from dbx at the point where the exception is thrown the first time.
      [1] __exdbg_notify_of_throw(0xffbf4ae8, 0xffbf4ad0, 0x959b292c, 0xffff0000, 0x0, 0xfc00), at 0xfb6549b4
      [2] _ex_debug_handshake1(0x0, 0x101cb84, 0x1, 0x14ffc, 0xfb66a67c, 0xfb66ad38), at 0xfb655728
      [3] _ex_throw_body(0xfb66af80, 0x80b2ac, 0xfb66a67c, 0x14d9c, 0x0, 0xfb66af80), at 0xfb655934
      [4] __Crun::ex_throw(0xfb66afd0, 0x1460bf8, 0x7ead20, 0x0, 0x16538, 0x1), at 0xfb6558bc
    =>[5] TransportSource<User>::Activate(this = 0x1624810, r = CLASS, _ARG3 = CLASS), line 39 in "TransportSource.H"
      [6] Source<User>::DoActivate(this = 0x162486c, r = CLASS, e = CLASS), line 272 in "Factory.H"
      [7] BaseFactory::Load(this = 0x16020a8, e = CLASS), line 2799 in "BaseFactory.C"
      [8] GPAuthorizationSource::Load(this = 0x15d2440), line 110 in "GPAuthorization.C"
      [9] ExchangeServer::ExchangeServer(this = 0xffbfa95c, argc = 8, argv = 0xffbfbaec), line 380 in "exchangeServer.C"
      [10] main(argc = 8, argv = 0xffbfbaec), line 1525 in "exchangeServer.C"Here is the code for the Activate function in stack frame 5. The exception thrown is the second one.
        virtual T& Activate(const Reference& r, Exemplar<T>&)
          _transport->In().Write(r);
          DemarshallStream out;
          _transport->Method(Process::Activate, out);
          if(!out.Data())
         throw xmsg("Failed to call Activate on server " + _transport->Name());
          if(!out.GetBool())
         throw xmsg("Server returned error: " + out.GetString());
          const ClassHandle& h = out.GetClassHandle(&_connection);
          // don't need to pass refresh flag here because a call to Activate
          // means the object is being loaded for the first time.
          BaseExemplar* x = _handle.GetFactory().Demarshall(h, out, false,
         &_connection, this);
          BaseTransportSource::DoActivate(out);
          if(!x)
         throw xmsg("Failed to activate ref: " + r.ExternalValue());
          return static_cast<T&>(*x->GetInstance());
        }The exception is caught (frame 7 in the stack trace above) and re-thrown in the below code, at the last throw statement.
    void BaseFactory::Load(BaseExemplar& e)
      SourceMap::iterator p = _sources.find(&e._key->Type());
      if(p == _sources.end())
        throw xmsg("Factory<" + _handle.Name() + ">::Load - no source for: "
          + e._key->ExternalValue());
      AutoPointer<BaseGuard> g(Guard());
      std::list<BaseSource*>::iterator i = p->second.begin();
      while(true)
        try
          (*i)->_currentExemplar = &e;
          BO& x = (*i)->DoActivate(*e._key, e);
          (*i)->_currentExemplar = 0;
          if(!e._instance)
         e._instance = &x;
         Activate(e, ActivatedOld, 0);
          return;
        catch(const xmsg& msg)
          (*i)->_currentExemplar = 0;
          ++i;
          if(i == p->second.end())
         throw;
    }There is a second try/catch one level up (stack frame 8, the call to GPAuthorizationSource::Load). Here's a snippet of that piece of code.
        try
          const Exemplar<User>& user = UserFactory::Instance().CreateExemplar(
         *new UserReference(authorizationTable._login.Value()));
          *user;
        catch(const xmsg& msg)
          Logger::Instance() << LogHeader << MsgClass(MsgClass::Error)
         << "Error PMAutorizationSource: " << msg.why() << EndMsg;
        // ...I put a break-point in the catch block in the above code but I never hit the break point and the exception is caught in an outer try/catch, an error is printed and the program exits.
      try
      catch(const xmsg& msg)
        std::cerr << "ERROR: " << msg.why() << std::endl;
      }I'm sorry I have not yet been able to produce a smaller example that can be compiled and tested in isolation. I know that's important in order to track down the problem. It seems like the smallest change in seemingly unrelated parts of the code makes the problem come or go.

  • Strange C++ error when using newer Sun Studio compiler

    My company has just set up a new build machine for our product. We have gone from
    this version: CC: Sun C++ 5.7 Patch 117830-11 2007/04/04
    to this one: CC: Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25
    we have also upgraded the OS (solaris/sparc). I think the new one has gcc but the old one doesn't (we don't use it).
    and now I am getting this error:
    "/opt/SUNWspro/prod/include/CC/./new", line 32: Error, badextlnk: operator new(unsigned) was declared before with a different language.
    "/opt/SUNWspro/prod/include/CC/./new", line 35: Error, badextlnk: operator delete(void*) was declared before with a different language.
    "/opt/SUNWspro/prod/include/CC/./new", line 37: Error, badextlnk: operator new[](unsigned) was declared before with a different language.
    "/opt/SUNWspro/prod/include/CC/./new", line 40: Error, badextlnk: operator delete[](void*) was declared before with a different language.
    "/opt/SUNWspro/prod/include/CC/./new", line 53: Error, badollnk: Only one of a set of overloaded functions can be extern "C".
    "/opt/SUNWspro/prod/include/CC/./new", line 54: Error, badollnk: Only one of a set of overloaded functions can be extern "C".
    "/opt/SUNWspro/prod/include/CC/./new", line 55: Error, badollnk: Only one of a set of overloaded functions can be extern "C".
    "/opt/SUNWspro/prod/include/CC/./new", line 56: Error, badollnk: Only one of a set of overloaded functions can be extern "C".
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 106: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 169: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 185: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 198: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 202: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 206: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 217: Error, badollnk: Only one of a set of overloaded functions can be extern "C".
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 225: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 239: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 249: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 264: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    "/opt/SUNWspro/prod/include/CC/Cstd/rw/iterator", line 275: Error, temnotexternc: Template declarations cannot have extern "C" linkage.
    I have no idea what could be causing this. I can find one link to it on this forum: http://forums.sun.com/thread.jspa?messageID=9488983 . But the only answer to that query says it is the same as another bug which appears entirely different, not to mention being very old (while talking about an imminent fix), and being related to a different OS and (I think) a different version of sun studio (express vs. normal?).
    Any ideas? Could it be related to having gcc/g++ on the machine?

    Hi,
    I am also facing the same error while upgrading the Sun compiler description as below
    when I am compiling the cxx file on the system with compiler version (CC: Sun C++ 5.9 SunOS_sparc 2007/05/03) , I am facing the following error:-
    /opt/SUNWspro/bin/CC -dy -misalign -xcode=abs64 -xarch=v9 -D__EXTENSIONS__ -Dsun4_R5=1 -I. -Isun4_R5_v -I/home/as185259/ash_iadraid/ash_get_10/IA/PORT/include -I/home/as185259/ash_iadraid/ash_get_10/IA/WV/WV5.3.6-ncr0302/build/include/sun4_R5_v -I/app/oracle/product/10.2.0/client_1/sqllib/public -I/app/oracle/product/10.2.0/client_1/precomp/public -I/opt/informix/include -DSVR4 -O -g p -pta -c MContext.cxx -o sun4_R5_v/MContext.o || \
    (rm -f sun4_R5_v.d; false)CC: Warning: -xarch=v9 is deprecated, use -m64 to create 64-bit programs
    "/home/as185259/ash_iadraid/ash_get_10/IA/WV/WV5.3.6-ncr0302/build/include/sun4_R5_v/ssmalloc.h", line 97: Error: Only one of a set of overloaded functions can be extern "C".
    "/home/as185259/ash_iadraid/ash_get_10/IA/WV/WV5.3.6-ncr0302/build/include/sun4_R5_v/ssmalloc.h", line 99: Error: Only one of a set of overloaded functions can be extern "C".
    "/home/as185259/ash_iadraid/ash_get_10/IA/WV/WV5.3.6-ncr0302/build/include/sun4_R5_v/ssmalloc.h", line 101: Error: Only one of a set of overloaded functions can be extern "C".
    "/home/as185259/ash_iadraid/ash_get_10/IA/WV/WV5.3.6-ncr0302/build/include/sun4_R5_v/ssmalloc.h", line 102: Error: Only one of a set of overloaded functions can be extern "C".
    4 Error(s) detected.
    The same file with the same compilation command is getting compiled with compiler version CC: Sun WorkShop 6 update 2 C+ 5.3 2001/05/15 .
    Can anyone suggest what should be the resolution:-
    The code for the ssmalloc.h file is as under:-
    #ifndef SSMALLOC_H
    #define SSMALLOCH
    #include <stddef.h>
    #if defined(__sparcv9)
    namespace ssmalloc {
    #endif
    #if defined(__cplusplus)
    extern "C" {
    #endif
    The type for the malloc routine depends on
    the compiler and library that you are using.
    #if defined(hpux) || defined(sun4_R5) || defined(__GNUC_) || defined(_OS2_)
    typedef void MALLOC_PTR;
    #else
    typedef char *MALLOC_PTR;
    #endif
    #if defined(_GNUG_)
    typedef size_t MALLOC_SIZE;
    #else
    typedef unsigned MALLOC_SIZE;
    #endif
    #if defined(sun4) && ! defined(_GNUG_)
    # define FREE_RETURNS int
    # define FREE_RETURN return 0
    #else
    # define FREE_RETURNS void
    # define FREE_RETURN return
    #endif
    // User-callable routines.
    // Note: memalign and valloc are broken in that they do not aling
    // memory on documented boundaries, and thus do not behave as described
    // on the "malloc" manual page. They simply call malloc.
    MALLOC_PTR malloc (MALLOC_SIZE size);
    FREE_RETURNS free (MALLOC_PTR data);
    MALLOC_PTR realloc (MALLOC_PTR data, MALLOC_SIZE size);
    MALLOC_PTR calloc (size_t nelem, size_t elsz);
    MALLOC_PTR valloc (unsigned size);
    MALLOC_PTR memalign (unsigned alignment, unsigned size);
    // This memory allocator supports memory allocation inside signal
    // handlers. For correct operation, the following functions must be
    // called upon entering and exiting signal handlers that allocate
    // memory.
    void ssmalloc_enter_signal_level();
    void ssmalloc_exit_signal_level();
    // Set this variable to not 0 (possibly in the debugger) if you want
    // to get malloc to check memory data structures very carefully as it
    // goes. This may be handy if you are trying to detect a memory
    // trasher.
    // It also causes ssmalloc to abort the program instead of returning
    // zero if memory runs out.
    extern int check_memory_very_carefully;
    #if defined(__cplusplus)
    #endif
    #if defined(__sparcv9)
    } // namespace ssmalloc {
    #endif
    #endif / SSMALLOCH */
    The Machine is
    root@ldg1-> uname -a
    SunOS ldg1 5.10 Generic_138888-03 sun4v sparc SUNW,Sun-Blade-T6320
    Thanks
    Vijay

  • Core dump using iostream with Sun Studio 8

    I'm running on Solaris 9 using C++ compiler Sun Studio 8, and encoutered a very strange problem.
    My application failed with a core and here is the stack.
    [1] t_splay(0x3774b470, 0x387a0ec0, 0x389aec60, 0x39e5ef1f, 0x3774b470, 0x1), at 0xfc347930
    [2] t_delete(0x387a0ec0, 0x80, 0x39be9748, 0x20, 0x383ccd20, 0x0), at 0xfc347698
    [3] mallocunlocked(0x80, 0x0, 0x21b08, 0xfc3bc000, 0x10, 0x20), at 0xfc346d40
    [4] malloc(0x80, 0xfbaa7400, 0x1, 0x759c40, 0x0, 0x0), at 0xfc346b74
    [5] operator new(0x80, 0x0, 0xd3a18, 0x759c74, 0x0, 0x8345fc), at 0x760c10
    [6] strstreambuf::overflow(0xf41f6e28, 0x29, 0xf41f6e28, 0x39fe0e88, 0x39fe0e88, 0x8345fc), at 0x75bb1c
    [7] streambuf::xsputn(0xf41f6e28, 0xfee00bc0, 0x1, 0x0, 0x81010100, 0x1), at 0x75ab94
    [8] unsafe_ostream::outstr(0xf41f6e78, 0xfee00bbf, 0x0, 0x0, 0xf41f6e7c, 0xfffffffe), at 0x757bac
    =>[9] unsafe_ostream::operator<<(this = 0xf41f6e78, _s = 0xfee00bbf ")"), line 1211 in "iostream.h"
    [10] ostream::operator<<(this = 0xf41f6e74, _s = 0xfee00bbf ")"), line 1350 in "iostream.h"
    [11] CorInterfaceEntity::ifState(this = 0x1bc3de78, newState = MISMATCH_OF_INSTALLED_AND_EXPECTED, needToSendEvent = false
    Can somebody help me giving a direction of investigation ?
    Is there perhaps known problem with iostream on Sun Studio 8 running on Solaris 9 ?
    Thanks for any tips.
    Yaakov Berkovitch
    [email protected]

    But sorry for my insistence, but do you think that
    purify or/and runtime are not able to detect any
    corruption of the heap ?They can detect some kinds of corruption, such as some uses of an invalid pointer.
    But a wild pointer that changes the value of data that is part of your program cannot be detected by RTC or Purify. Those programs can't know whether that change is intentional.
    >
    BTW, we are not using any volatile declaration, and weIf non-local data is shared among threads, it should be declared volatile. For example, suppose you have
    x = foo;
    ... // code not changing foo
    y = foo;
    If foo is not marked volatile, the compiler is allowed to assume its value hasn't changed, and assign to y the same value assigned to x. If foo was changed by another thread, y will not have the current value of foo. The "volatile" declaration says that the variable's value might change without any obvious reason, and the compiler should generate code to load a fresh value each time it is referenced.
    are using the rwtools library packaged with the
    compiler, and are not using the STD library.OK, you are not running into a std::string synchronization bug.
    >
    Also about the compiler option -xarch=v8, is probably
    not relevant for us because we are running Solaris 9.
    So the relevant compiler is probably -xarch=v9. Do you
    advise us using this option ?I think you misunderstand. The -xarch values refer to the kind of processor your program will run on.
    The -xarch=v8 option generates 32-bit code that will run on all SPARC chips, including the chips found in very old SPARCstations. This option is the default for compilers prior to Sun Studio 9 (which ships this week).
    The -xarch=v8plus option generates 32-bit code that runs only on UltraSPARC chips, found in Ultra workstations. These are the only kinds of workstations shipped by Sun since about 1996. Unless you need to support the ancient SPARCstations, we recommend compiling with -xarch=v8plus, to get smaller and faster code.
    The -xarch=v9 option generates 64-bit code that runs only on UltraSPARC chips, an only on Solaris 7 or later. Unless your program requires a very large address space, you generally don't want to generate 64-bit code. On SPARC, 64-bit code is larger and slower than 32-bit code. (Type "long" and all pointers are 64 bits instead of 32 bits.)
    >
    Also I want to return you two new questions:
    1) I read in another discussion,
    http://forum.sun.com/thread.jsp?forum=5&thread=18124&me
    sage=47854#47854
    that another memory manager can be more efficient in
    multi-threaded environment (libmtmalloc.so), and also
    an alternate threads library (/usr/lib/lwp) that
    reduced CPU usage. Do you advice us using this
    alternate library ?The libmtmalloc library usually has better performance in MT programs than the default version of malloc. It also can result in more memory fragmentation. In that case, the larger working set can sometimes have a large negative effect, more than offsetting the MT efficiency. You have to experiment to see whether it is appropriate for your particlular program. If you are running into heap corruption, the pattern of corruption will probably be different with libmtmalloc than with the default malloc. The differences might provide a clue to what is wrong.
    The alternative "T2" threads library was introduced in Solaris 8 as an option.
    In Solaris 9 it is the default, so you are already using it.
    >
    2) We are using the Rogue Wave library shiped with the
    compiler. Is it an up-to-date version ? Can we assume
    that is a good choice or it will be preferable to move
    to the STD library ?I assume you mean Rogue Wave Tools.h++. As explained in the compiler docs, this version of Tools is obsolete, and has not been supported for many years. We continue to provide it for customers who used it before the introduction of the C++ Standard Library in 1998, and who don't want to change their code. We do not recommend it for use in new code.

Maybe you are looking for