Sun Studio 10 Released!

Sun Studio compilers and tools are now available on 64-bit AMD Opteron and SPARC Solaris 10 platforms. With this release, Sun Studio 10 software extends its development environment to the AMD64 architecture and delivers reliable, scalable and high performance applications for the Solaris 10 Operating System. � http://www.sun.com/software/products/studio/index.html

Actually, the implementation of -xpagesize and its friends will not be available on x86 until the next release. Sorry for the confusion.

Similar Messages

  • What Function/Features you want to have in next Sun Studio release?

    Hello,
    My name is Ngoc Nguyen, from Sun Studio product team. We just shipped Sun Studio 12 ML release (for C, C++, Fortran compiler) past few weeks. We start working on the next release. This is the right time for the community to tell us what feature you want to change or add into next release.
    HOW?
    Please use the following instruction. It seems long at start, but both you and Sun will get benefit from it on the long run. i.e: By this way, All of your suggestion/request will be logged into our worldwide database system and is assigned an Request for Enhancement (*RFE*) ID. Later You can view the progress of your suggestion/request by using this RFE ID.
    - Go to http://bugreport.sun.com/bugreport/
    Check the box at the bottom of the page
    Click on "Start a new Report"
    - Select the following
    Type = Request for Enhancement
    Product/Category = C/C++/Fortran Compilers and Tools - Misc
    Subcategory = C/C++/Fortran Compilers and Tools - Misc
    Release = Other
    Operating System = <your choice>
    - Click on "Continue"
    - On the next screen, you only need to fill out the required fields indicated by *.
    - The "Synopsis" field should be start with "VOC" word. VOC stands for "Voice of Customer". i.e: "VOC: I want to increase performance on xxxxx component".
    - The "Justification" field is important too. general statement like "It is important for us" may not look attractive.
    - After all, click on "Submit"
    This input collection process will last 10 days and will be ended on Wed Oct/31st.
    Looking forward to hear from you.
    Best Regards,
    Ngoc Nguyen
    IMPORTANT: Please don't post your suggestion/request on this forum thread because nobody will help you to log your suggestion into Sun System. Please use the method I outlined above.

    Hello,
    My name is Ngoc Nguyen, from Sun Studio product team. We just shipped Sun Studio 12 ML release (for C, C++, Fortran compiler) past few weeks. We start working on the next release. This is the right time for the community to tell us what feature you want to change or add into next release.
    HOW?
    Please use the following instruction. It seems long at start, but both you and Sun will get benefit from it on the long run. i.e: By this way, All of your suggestion/request will be logged into our worldwide database system and is assigned an Request for Enhancement (*RFE*) ID. Later You can view the progress of your suggestion/request by using this RFE ID.
    - Go to http://bugreport.sun.com/bugreport/
    Check the box at the bottom of the page
    Click on "Start a new Report"
    - Select the following
    Type = Request for Enhancement
    Product/Category = C/C++/Fortran Compilers and Tools - Misc
    Subcategory = C/C++/Fortran Compilers and Tools - Misc
    Release = Other
    Operating System = <your choice>
    - Click on "Continue"
    - On the next screen, you only need to fill out the required fields indicated by *.
    - The "Synopsis" field should be start with "VOC" word. VOC stands for "Voice of Customer". i.e: "VOC: I want to increase performance on xxxxx component".
    - The "Justification" field is important too. general statement like "It is important for us" may not look attractive.
    - After all, click on "Submit"
    This input collection process will last 10 days and will be ended on Wed Oct/31st.
    Looking forward to hear from you.
    Best Regards,
    Ngoc Nguyen
    IMPORTANT: Please don't post your suggestion/request on this forum thread because nobody will help you to log your suggestion into Sun System. Please use the method I outlined above.

  • Recommendation for new features in next Sun Studio releases

    Hello,
    I have started using the Sun Studio Express recently and as a feedback to your opening to receive proposals to new features in the next releases of the Sun Studio collection I would want to point some aspects of interest to the programmers in writing good software for embedded systems and not only.
    First of all, with regards to the subject of great interest to me in this moment, multicore/multiprocessor parallel programming, I would appreciate the following :
    - if the compiler would be extended with new directives to allow the programmer to measure the load of each core and/or processor that is available to him.
    - if the compiler would be extended with directives to allow the programmer to get the core ID on which a specific section of code is executed. As en example consider o multithreaded application and in the associated function for each thread read the core ID and function of this value perform specific actions.
    - if the compiler would be extended with directives to allow the programmer to get the ID of the processor in the system - supposing a specific system has many multicore processors. (I don't know if this is possible).
    - if the compiler would be extended with directives to allow the programmer to specify the core and/or processor on which it wants to be executed a specific process,thread,function,(maybe instruction).
    With these macros I think a lot of things can be exercised, one that I think in this moment is the posibility for the programmer to implement his own algorithm of load balancing for the cores and processors of his system.
    Another point I would recommend would be that the watch window in the Sun Studio IDE to permit the selection of the format in which the data to be displayed.As an example if I have a U32 variable to be able to select in the watch window the integer ,hexadecimal or binary format in which I would want to be displayed.
    Another useful thins that I sought at other IDEs would be a popup window or something similar to select how to see the source code: as a .c file , as an assembler code , or as a mixture of C and assemble.
    That's all for the moment, if I see something else I would post another message.
    Thank you,
    Steve.

    steveg wrote:
    First of all, with regards to the subject of great interest to me in this moment, multicore/multiprocessor parallel programming, I would appreciate the following :
    - if the compiler would be extended with new directives to allow the programmer to measure the load of each core and/or processor that is available to him.
    - if the compiler would be extended with directives to allow the programmer to get the core ID on which a specific section of code is executed. As en example consider o multithreaded application and in the associated function for each thread read the core ID and function of this value perform specific actions.
    - if the compiler would be extended with directives to allow the programmer to get the ID of the processor in the system - supposing a specific system has many multicore processors. (I don't know if this is possible).
    - if the compiler would be extended with directives to allow the programmer to specify the core and/or processor on which it wants to be executed a specific process,thread,function,(maybe instruction).
    With these macros I think a lot of things can be exercised, one that I think in this moment is the posibility for the programmer to implement his own algorithm of load balancing for the cores and processors of his system.
    These are OS functions, not compiler's. Solaris has a wide selection of ways and tools to assign processes and threads to cpus; processor_bind(2) is a function you can call and pbind(1M) is a tool you can use on a running app. There are more, just google for it.
    Another point I would recommend would be that the watch window in the Sun Studio IDE to permit the selection of the format in which the data to be displayed.As an example if I have a U32 variable to be able to select in the watch window the integer ,hexadecimal or binary format in which I would want to be displayed.
    Good point. I'll check if there already is an RFE (Request For Enhancement) filed and file one if it's not. Thanks for letting us know!
    Another useful thins that I sought at other IDEs would be a popup window or something similar to select how to see the source code: as a .c file , as an assembler code , or as a mixture of C and assemble.
    But there is disassembly window already. See screenshot here: http://developers.sun.ru/images/stories/sunstudio/images/sun_studio_dbx.png

  • Sun Studio 11 do not parse make output and create link to file?

    Hi,
    Running Sun Studio 11 and can only get file links in the output window when I run a make command that uses CC -g (debug option). We have integrated other tools into our make system (flexlint, cppUnit..) and even though we make sure that the syntax is exactly the same as the compiler output and matches regular expression under tools->options->building->make settings->error expression, it doesn't work. Why do you have to debug compile to get sun studio to create a file link in the output window? Doesn't sun studio just parse the text from the make command?
    example of flexlint output for which no link is created:
    "/vobs/project/oss/fm/fm4/fm-fmalib/fmbal/fmaaulib/src/FMA_List.cc", line 440: Error 84: sizeof object is zero or object is undefined'�
    example of make debug output for which we do get a link:
    "/vobs/project/oss/fm/fm4/fm-fmalib/fmbal/SunOS5.10/inc/FMA_alarm_record.hh", line 1310: Warning (Anachronism):Info "static" is not allowed and is being ignored.
    Regards,
    Ola

    I'd second Maxim's suggestion: try NetBeans 5.5 with C/C++ Development Pack. The official release of NetBeans C/C++ Development Pack 5.5 has happened a few days ago. You can download it from
    http://www.netbeans.info/downloads/all.php?b_id=2284
    Some of the changes between the beta3 build and FCS are:
    * Significant performance improvements in the code parser resulting in faster results in the Class View and Code Completion
    * Programs now run in an external terminal (system dependent) by default. This allows better input control
    * Significant performance improvement in the debugging module
    * Significant functionality improvement in the debugging module
    * New project type "C/C++ Project From Existing Code" which simplifies creating a project from existing code
    * Macro support in code completion
    * Hyperlink navigation for macro usages and #include directives
    * Reformat code
    * Code folding
    * Code completion
    All these features will appear in next Sun Studio release, so you can
    consider NetBeans C/C++ Development Pack 5.5 as a preview of new
    Sun Studio IDE.

  • After installing Sun Studio 11, libfsu.a in Sun Forte  6 is removed.

    I have Sun compilers 5.0 and 6.2 on my Sun Solaris 8 Ultra Sparc machine. After installing Sun Studio 11, some library files (e.g., libfsu.a in Sun Forte 6) from the old compilers were removed. What is wrong with my installation?
    Note that I install the different versions of compilers in separate directories.

    After the 1st failed installation of Sun studio 11,
    did you making sure that Sun studio 11 is not exist
    on your system before re-install Sun studio 11? The
    rule is you can have different Sun studio releases
    on the same system, but you can not have the
    multiple copy of the same release on the same
    system, even though they are in a totally separate
    directory. If Sun Studio 11 exist after 1st fail
    installation, you need to un-install it first before
    you re-start 2nd installation attemp.
    Installation of Sun Studio 11 should not remove files
    from older releases, but we know the case it did mess
    up package of the older release before.
    -NgocNo, after 1st install failed due to insufficient disk space, I did not uninstall Studio 11. After I deleted some user files to free up disk space, I run the install again, specified the same directory for installation, and just select Sun Performance Libraries. The installation seems to finished successfully. Perhaps this is one scenario where old versions can get messed up.

  • Migrating Solaris with out migrating Sun Studio

    HI ,
    Currently we are using sun studio 8 on solaris 8 to compile our application(C++).
    We are planning to migrate Solaris 8 to solaris 10. Will there be any problems, If we use sun studio 8 on sun solaris 10.
    Thanks and Regards,
    Venkat

    Mr.Bond wrote:
    HI ,
    Currently we are using sun studio 8 on solaris 8 to compile our application(C++).
    We are planning to migrate Solaris 8 to solaris 10. Will there be any problems, If we use sun studio 8 on sun solaris 10.Technically speaking, this combination is supported. However, it is rather old, it predates Solaris 10 and having all latest patches installed is a must (see http://developers.sun.com/sunstudio/downloads/patches/ss8_patches.html for list of patches available).
    If your final goal is to upgrade both OS and compiler, then switching to Solaris 10 and staying with Sun Studio 8 is a good idea; this way you minimize differences. After dealing with OS differences, you will be able to upgrade to Studio 12 update 1 (most recent release) more smoothly. Latest Sun Studio release is preferable because
    - its compiler better conform to the standard,
    - they generate better code,
    - whole suite works better on Solaris 10 since it was developed and tested on Solaris 10,
    - IDE is a huge improvement compared to Sun Studio 8.
    However, if you choose to stay with Sun Studio 8 (remember, end of support life is just one year away), I'd recommend purchasing support contract so that if you happen to run into a problem, it is solved with Sun Studio 8 patch, not in the next Sun Studio release (13?), which will be unacceptable for you.

  • Cannot install new Sun Studio July release

    Hello Everybody,
    when I try to execute the Sunstudio--.sh the following error occurs:
    Please wait while Sun Studio is unpacked into this directory.
    tail: �+651� kann nicht zum Lesen ge�ffnet werden: No such file or directory
    bzcat: /tmp/ssregister.1631/sunstudio.tar.bz2 is not a bzip2 file.
    tar: Das sieht nicht wie ein �tar�-Archiv aus.
    tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.
    StudioExpress-linux-x86-2008-07-24-ii.sh: line 591: exit: Sun Studio instllation failed.: numeric argument required
    I tried to unpack the copied tarfile myself but got same error. Thus, it seems as if the tarfile is damaged. Does anyone get the same error? Or does anyone have a solution yet?

    Well, I downloaded the *.sh quite often by now, even using the SunDownloader. Nevertheless I get (after following the hint from your link) this:
    Please wait while Sun Studio is unpacked into this directory.
    bzcat: Compressed file ends unexpectedly;
         perhaps it is corrupted? Possible reason follows.
    bzcat: Success
         Input file = /tmp/ssregister.8729/sunstudio.tar.bz2, output file = (stdout)
    It is possible that the compressed file(s) have become corrupted.
    You can use the -tvv option to test integrity of such files.
    You can use the `bzip2recover' program to attempt to recover
    data from undamaged sections of corrupted files.
    The -tvv flag did not work, but the bzip2recover revealed this:
    bzip2recover 1.0.4: extracts blocks from damaged .bz2 files.
    bzip2recover: searching for block boundaries ...
    block 1 runs from 80 to 448 (incomplete)
    bzip2recover: sorry, I couldn't find any block boundaries.
    Is the file really corrupt? Am I the only one experiencing this kind of problem?
    Does anyone have a clue?
    Edited by: corranchetano on Aug 1, 2008 1:33 PM

  • Suggestion wanted for next release Sun Studio installer?

    My name is Ngoc Nguyen, tech lead of Sun Studio Support Group. We are in the process looking for design/modifying our installer per customer's feedbacks or requests. We really want to make it become your most favorite installer.
    Please give me all of your ideas, suggestions, requirements that you like the installer should have. We will consider any feedbacks.
    Or If you already filed a CR (Changed Request) before and you feel strongly that we should implement it, please give me the CR number.
    We really want to hear from you.
    Best Regards,
    Ngoc Nguyen
    Sun Studio Support Team

    I think new installer should provide an option to install the product as if it is extracted from a tar file:
    - no packages are installed
    - no changes in registry
    - no root privileges are needed
    - the product is completely installed under one directory,
    so it is easy to uninstall this version - just remove one directory.
    This installation is a very convenient way to try a new version without affecting any existing installation.
    Thanks,
    Nik

  • 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.

  • 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 C++ v5.3 adding complex gives errors

    If anyone can privide info on the following issue I would greatly appreciate it.. I have a simple test app that does not compile. This is with Sun Studion C++ v5.3 (I think then called Sun Workshop Pro) on a Solaris 5.8 machine.
    #include <complex>
    using namespace std;
    int main()
      complex<int> a(1, 2);
      complex<int> b(3, 4);
      complex<int> c;
      c = a + b;
      cout << "Answer: " << c << endl;
      return 0;
    }When compiling I get the following error:
    /opt/SUNWspro/WS6U2/include/CC/Cstd/complex Line 1006: Error The operation "std::complex<int> += const std::complex<int> is illegal
    sol_cpx.cc Line 10 Where: While instantiating std::complex<int>+ ( const std::complex<int>, const std::complex<int> )
    sol_cpx.cc Line 10 Where: Instantiated from non-template code
    Are there any compiler flags to handle this or is there an update I can get to fix this? Any help would be much appreciated since I'm clueless. Thank you!

    complex<int> is not supported. The only specializations of type complex are float, double, and long double.
    The suggestion to try stlport won't work with C++ 5.3.
    We began supplying stlport with C++ 5.4.
    C++ 5.3 has been declared End Of Life, and only limited support is available for it. You can download a copy of the current release, Sun Studio 10, and try it free for 60 days.
    http://www.sun.com/software/products/studio/index.xml

  • Sun Studio Compilers for Linux: Problems with undefined variables using CC

    I am experiencing the following errors below while trying to compile C++ programs using Sun C++ from the latest release of Sun Studio Compilers for Linux Alpha, on Red Hat Enterprise Linux 4 with kernel 2.6.9-34.EL and Ubuntu Breezy Badger 5.10 with kernel 2.6.12-10-686. I get the same exact errors on both OS's and on two different machines.
    root@ubuntu:/home/jc/cs225/Machine Problems/cs225/mp1/cs225_mp1# make
    CC -c -g string.cpp
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/iosfwd", line 74: Error: mbstate_t is not defined.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/iosfwd", line 75: Error: mbstate_t is not defined.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 191: Error: "," expected instead of "state_type".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 194: Error: Use ";" to terminate declarations.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 261: Error: "," expected instead of "get_state".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 265: Error: Use ";" to terminate declarations.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 299: Error: "," expected instead of "state_type".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 302: Error: Use ";" to terminate declarations.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 410: Error: "," expected instead of "get_state".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 414: Error: Use ";" to terminate declarations.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 506: Error: The function "strstr" must have a prototype.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 523: Error: The function "strcspn" must have a prototype.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 529: Error: The function "strspn" must have a prototype.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/rwlocale", line 125: Error: mbstate_t is not defined.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/rwlocale", line 125: Error: Template parameter std::stateT requires a type argument.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/rwlocale", line 130: Error: mbstate_t is not defined.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/rwlocale", line 130: Error: Template parameter std::stateT requires a type argument.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/limits", line 214: Error: Template declarations cannot have extern "C" linkage.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/limits", line 221: Error: Template declarations cannot have extern "C" linkage.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/limits", line 277: Error: Template declarations cannot have extern "C" linkage.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/limits", line 335: Error: Template declarations cannot have extern "C" linkage.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/limits", line 392: Error: Template declarations cannot have extern "C" linkage.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/limits", line 443: Error: Template declarations cannot have extern "C" linkage.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/limits", line 504: Error: Template declarations cannot have extern "C" linkage.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/limits", line 558: Error: Template declarations cannot have extern "C" linkage.
    Compilation aborted, too many Error messages.
    make: *** [string.o] Error 1
    Except on ubuntu, it has one more error
    "/usr/include/wctype.h", line 47: Error: A declaration was expected instead of "}".
    and what is on line 47 is below
    __END_NAMESPACE_C99
    When I comment this line out, that particular error does not show up but still the other errors above still show up.
    From the testing I did, it appears to have these problems for most of the C++ programs I have written, especially the ones that involve object oriented programming. All programs that I wrote do not have these problems with g++ or Sun CC for Solaris. It does however work fine only for small fraction of the programs I have written. I dont quite understand why it works in some cases and others it doesnt, but I know for sure, that it should be working for all cases when Sun CC from Sun Studio 10 on Solaris 10 for X86 has no problems compiling the same programs.

    I tried workaround number 2 from the 3 choices that were listed by horsh. That fixes the mathcalls.h problem but still I have the following errors.
    jcurran2@ubuntu:~/cs225/Machine Problems/cs225/mp1/cs225_mp1$ make
    CC -c -g string.cpp
    "/usr/include/wctype.h", line 47: Error: A declaration was expected instead of "}".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/iosfwd", line 74: Error: mbstate_t is not defined.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/iosfwd", line 75: Error: mbstate_t is not defined.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 191: Error: "," expected instead of "state_type".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 194: Error: Use ";" to terminate declarations.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 261: Error: "," expected instead of "get_state".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 265: Error: Use ";" to terminate declarations.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 299: Error: "," expected instead of "state_type".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 302: Error: Use ";" to terminate declarations.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 410: Error: "," expected instead of "get_state".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 414: Error: Use ";" to terminate declarations.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 506: Error: The function "strstr" must have a prototype.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 523: Error: The function "strcspn" must have a prototype.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/traits", line 529: Error: The function "strspn" must have a prototype.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/rwlocale", line 125: Error: mbstate_t is not defined.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/rwlocale", line 125: Error: Template parameter std::stateT requires a type argument.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/rwlocale", line 130: Error: mbstate_t is not defined.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/rwlocale", line 130: Error: Template parameter std::stateT requires a type argument.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/codecvt", line 55: Error: mbstate_t is not defined.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/codecvt", line 55: Error: Template parameter std::stateT requires a type argument.
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/codecvt", line 61: Error: "," expected instead of "state_type".
    "/opt/sun/LinuxCompilers/sunstudiomars/prod/include/CC/Cstd/rw/codecvt", line 63: Error: Use ";" to terminate declarations.
    Error: Cannot continue processing because of prior errors.
    Compilation aborted.
    make: *** [string.o] Error 1
    jcurran2@ubuntu:~/cs225/Machine Problems/cs225/mp1/cs225_mp1$
    Can someone please respond? There is more to the problem. Perhaps
    there are more glibc headers that have problems. In addition, if Sun wants to port the Sun Studio Compilers for linux to be stable on all linux distributions I suggest using VM ware and installing several linux distrobutions as virtual machines and testing this software on each virtual machine to see the problems that occur on each distribution. That way you might be able to uncover more problems to find a solution that will work best for portability on all linux distributions.

  • Compilation error while building boost 1_44_0 on Solaris (Sun Studio 10)

    Hi All, I am trying to build boost version 1_44_0 on Solaris.The Solaris box has Sun Studio 10 installed.
    The compiler details are
    bash-2.05$ CC -V
    CC: Sun C++ 5.7 2005/01/07
    I am using the following command to build boost libraries
    *bash-2.05$ bjam --build-dir=/export/home/dfdev/Boost_1_44_0/boost_1_44_0/tmp/build-boost toolset=sun stage*
    But i get the below compilation errors, not even one of the projects build
    sun.compile.c++ /export/home/dfdev/Boost_1_44_0/boost_1_44_0/tmp/build-boost/boo
    st/bin.v2/libs/iostreams/build/sun/release/stdlib-sun-stlport/threading-multi/fi
    le_descriptor.o
    Notice: The Early Access serial number will expire in -7 days.
    In order to purchase the product, visit http://www.sun.com/forte/buy.html
    or contact your Forte Tools reseller.
    "libs/iostreams/src/file_descriptor.cpp", line 352: Error: Could not find boost:
    :shared_ptr<boost::iostreams::detail::file_descriptor_impl>::shared_ptr(boost::i
    ostreams::detail::file_descriptor_impl*) to initialize pimpl_.
    "libs/iostreams/src/file_descriptor.cpp", line 355: Error: Could not find boost:
    :shared_ptr<boost::iostreams::detail::file_descriptor_impl>::shared_ptr(boost::i
    ostreams::detail::file_descriptor_impl*) to initialize pimpl_.
    "libs/iostreams/src/file_descriptor.cpp", line 360: Error: Could not find boost:
    :shared_ptr<boost::iostreams::detail::file_descriptor_impl>::shared_ptr(boost::i
    ostreams::detail::file_descriptor_impl*) to initialize pimpl_.
    "libs/iostreams/src/file_descriptor.cpp", line 380: Error: Could not find boost:
    :shared_ptr<boost::iostreams::detail::file_descriptor_impl>::shared_ptr(boost::i
    ostreams::detail::file_descriptor_impl*) to initialize pimpl_.
    "libs/iostreams/src/file_descriptor.cpp", line 385: Error: Could not find boost:
    :shared_ptr<boost::iostreams::detail::file_descriptor_impl>::shared_ptr(boost::i
    ostreams::detail::file_descriptor_impl*) to initialize pimpl_.
    "libs/iostreams/src/file_descriptor.cpp", line 393: Error: Using static_cast to
    convert from boost::iostreams::file_descriptor_flags to boost::iostreams::detail
    ::file_descriptor_impl::flags not allowed.
    6 Error(s) detected.
    "CC" -library=stlport4 -xO4 -mt -erroff=%none -KPIC -DBOOST_ALL_NO_LIB=1 -DB
    OOST_IOSTREAMS_DYN_LINK=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG -I"." -c -o
    "/export/home/dfdev/Boost_1_44_0/boost_1_44_0/tmp/build-boost/boost/bin.v2/libs/
    iostreams/build/sun/release/stdlib-sun-stlport/threading-multi/file_descriptor.o
    " "libs/iostreams/src/file_descriptor.cpp"
    ...failed sun.compile.c++ /export/home/dfdev/Boost_1_44_0/boost_1_44_0/tmp/build
    -boost/boost/bin.v2/libs/iostreams/build/sun/release/stdlib-sun-stlport/threadin
    g-multi/file_descriptor.o...
    sun.compile.c++ /export/home/dfdev/Boost_1_44_0/boost_1_44_0/tmp/build-boost/boo
    st/bin.v2/libs/iostreams/build/sun/release/stdlib-sun-stlport/threading-multi/ma
    pped_file.o
    Notice: The Early Access serial number will expire in -7 days.
    In order to purchase the product, visit http://www.sun.com/forte/buy.html
    or contact your Forte Tools reseller.
    "./boost/type_traits/is_array.hpp", line 41: Error: Multiple declaration for boo
    st::is_array.
    "./boost/type_traits/is_array.hpp", line 42: Error: Multiple declaration for boo
    st::is_array.
    "./boost/type_traits/is_array.hpp", line 43: Error: Multiple declaration for boo
    st::is_array.
    "./boost/type_traits/is_array.hpp", line 44: Error: Multiple declaration for boo
    st::is_array.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 95: Error: The type
    of specialized argument boost::mpl::aux::F<boost::mpl::aux::P1> is dependent on
    another argument.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 95: Error: Partial s
    pecialization parameter Tag is not used in the arguments.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 112: Error: Partial
    specialization parameter F is not used in the arguments.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 172: Error: The type
    of specialized argument boost::mpl::aux::F<boost::mpl::aux::P1, boost::mpl::aux
    ::P2> is dependent on another argument.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 172: Error: Partial
    specialization parameter Tag is not used in the arguments.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 189: Error: Partial
    specialization parameter F is not used in the arguments.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 254: Error: The type
    of specialized argument boost::mpl::aux::F<boost::mpl::aux::P1, boost::mpl::aux
    ::P2, boost::mpl::aux::P3> is dependent on another argument.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 254: Error: Partial
    specialization parameter Tag is not used in the arguments.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 271: Error: Partial
    specialization parameter F is not used in the arguments.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 339: Error: The type
    of specialized argument boost::mpl::aux::F<boost::mpl::aux::P1, boost::mpl::aux
    ::P2, boost::mpl::aux::P3, boost::mpl::aux::P4> is dependent on another argument
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 339: Error: Partial
    specialization parameter Tag is not used in the arguments.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 357: Error: Partial
    specialization parameter F is not used in the arguments.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 427: Error: The type
    of specialized argument boost::mpl::aux::F<boost::mpl::aux::P1, boost::mpl::aux
    ::P2, boost::mpl::aux::P3, boost::mpl::aux::P4, boost::mpl::aux::P5> is dependen
    t on another argument.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 427: Error: Partial
    specialization parameter Tag is not used in the arguments.
    "./boost/mpl/aux_/preprocessed/plain/full_lambda.hpp", line 445: Error: Partial
    specialization parameter F is not used in the arguments.
    "libs/iostreams/src/mapped_file.cpp", line 441: Error: Could not find boost::sha
    red_ptr<boost::iostreams::detail::mapped_file_impl>::shared_ptr(boost::iostreams
    ::detail::mapped_file_impl*) to initialize pimpl_.
    20 Error(s) detected.
    Am i missing something? I will appreciate your input's.
    Regards,
    solarisneo

    C++ 5.7 will not give good results building Boost.
    Support for boost began with C++ 5.9 (Sun Studio 12), but you will get better results using the current release, Sun Studio 12 update 1, and better still with the upcoming release, Oracle Solaris Studio 12.2.

  • Sun Studio 12 support for Solaris 10 3/05

    The Sun Studio 12 http://developers.sun.com/sunstudio/features/sysreq.jsp page mentions Solaris 9 and 10 1/06 are supported. Will Sun Studio 12 support Solaris 10 3/05 in the future?
    Why is Solaris 10 3/05 not supported or at least a patch provided to allow Sun Studio 12 to support 3.05?

    I have done a poor job of explaining. The Sun Studio 12 Release Notes do specify Solaris 10 1/06. Read them. Why would Sun specify that release unless Solaris 10 3/05 was not supported? See http://developers.sun.com/sunstudio/support/support_matrix.jsp and http://developers.sun.com/sunstudio/documentation/ss12/release_notes.html#SystemReqs
    Sun has gone to the trouble to list Solaris OS 9 and 10 1/06. It is not a matter of applying patches to become 10 1/06 from 3/05. It requires an upgrade.

  • How to change Makefile file name in sun studio for linux 11?

    Greetings,
    For historical reasons, our makefiles are called Make.bld
    Sun Studio refuses to accept these as makefiles.
    It'd be a big pain to modify our entire build system to take makefile as the name.
    Is there a way to instruct sun studio to accept a different filename for makefiles ?
    Thanks,
    Bill

    There is no supported way of getting the Sun Studio IDE (or NetBeans) to recognize
    Make.bld as a Makefile. However, the solution Nik pointed out with a .nbattrs file will
    work.
    Here is a complete file which, if copied to each directory containing a Make.bld file
    will work. However, if the directory already contains a .nbattrs file you should edit
    the existing one and add the <fileobject>...</fileobject> lines rather than overwriting
    the entire file.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE attributes PUBLIC "-//NetBeans//DTD DefaultAttributes 1.0//EN"
    " http://www.netbeans.org/dtds/attributes-1_0.dtd">
    <attributes version="1.0">
    <fileobject name="Make.bld">
    <attr name="MAKEFILE_TYPE" stringvalue="foo"/>
    </fileobject>
    </attributes>
    Note: I split the DOCTYPE line myself. It should be a single line in the file (although
    its probably OK if split, I didn't verify that so I'll suggest a single line).
    I should warn you that the next release of the Sun Studio IDE will no longer use
    .nbattrs files and you'll need a different solution. A preliminary version of the next
    release is currently available by downloading Sun Studio Express 3. The IDE is
    significantly better than the current one! You also get a lot of the same features
    by downloading NetBeans 5.5 with the C/C++ Development Pack.
    Gordon

Maybe you are looking for

  • CONVERT_OTFSPOOLJOB_2_PDF is not working with more than 200 pages

    HI all, i am trying to print out Inspection Results (OTFs generated by QGA3 Transaction) via the CONVERT_OTFSPOOLJOB_2_PDF funtion module. But if the Inspection Results have more than 200 pages the FM only creates a PDF without content. The PDF is th

  • Cache lookup failed

    Dear Experts, I am stuck on the error :*' ERROR [HY000] ERROR: fmgr_info: function 0: cache lookup failed'* while calling a stored procedure(SP). The function in the SP run successfully but while calling the same SP from call function then it is exec

  • Public class implements interface

    I am taking my first crack at interfaces: I have superclass A which is a parent of class B, which implements interface C. I need to use class B to make 3 variable instances within class A. I think I will use interface C to make calculations based on

  • SQL DATE format in SLT???

    Hello, Is it possible to create a field of type SQL_DATE in SLT and fill in in the RULE ASSIGMENT? Thanks, Amir

  • Problem In IDX5

    Hi Experts, There is an error Message in IDX5 when i double click on IDOC Number. File to IDOC scenario, If  we double click on IDOC number it will be connecting to ECC system, but it is showing the error message on the status bar "Error for the remo