Solaris 11 c compilers ?

Hi,
Could anyone tell me what C compilers are available for Solaris 11 ?
I'm trying to use the C compiler bunded with Sun Studio but it won't work unless i get the system/header pkg installed, stupidly i can't get this pkg as it resides in the support repository that you need a contract to access.
I guess in reality any compiler will need this system / header pkg so i'm pretty stuck :-(
and this is progress.... ?
Mike.

Mike has another thread which I think helps explain his problem:
Unable to install system/header package - 404 error
Basically, he can't install the headers because they conflict with other packages on his system. My best guess, is that somehow a newer release of some packages, perhaps from the support repository, got installed on his system but the publisher is now set to the release repository. This is causing a package version conflict when he tries to install the headers. From this message, I'm guessing he can't install the compilers because he can't install the headers.
The real question becomes "how to get the system back into a shape where he can install the packages he needs". I don't know how practical a reinstall from the release repo would be but that is one option. If there aren't too many problematic packages one might be able to back them out and replace them with the release version (in a separate BE of course). Unfortunately, that could be very messy and error prone. Anybody have any other ideas?

Similar Messages

  • C++14 Standard Support for Solaris Studio

    Hi Steve,
    Currently, does Solaris Studio 12.4 Final Release support C++14 constructs? I saw the Standard C++ website https://isocpp.org/std/status and the C++14 Standard will soon release the final draft later this year.
    But, given that C++14 is going to be a minor change as compared to C++11, which they mentioned C++14 mostly completes C++11 (in FAQ: https://isocpp.org/wiki/faq/cpp14#cpp14-compilers), will the next release add support of C++14 before the next standard, which is slated for around 2017?
    Although at this stage nothing has been confirmed yet, I wonder if the statement in the Standard C++ FAQ would mean that the new C++14 would still be treated as C++11, which would mean that Solaris Studio compilers would handle C++14 codes as under C++11 standard (i.e. the -std=c11 and -std=c++11 flags can be used to compile C++14 codes), though I am not sure.
    Regards,
    Brian

    Compared to C++11, C++14 has two kinds of changes:
    1. "Bug fixes":  Primarily clarification of issues in C++11 that were incomplete or ambiguous, and loosening of rules that were deemed to be unnecessarily strict. There is at least one rule change, where C++11 required instantiation of unused template functions that had an exception-specification, and C++14 does not.
    2. New features:  New syntax, and new contents in the standard library.
    Like most other compilers, Studio 12.4 in C++11 mode has many of the C++14 bug fixes, including the rule change about template functions that I mentioned above. (For one customer's code, the rule change resulted in a nearly 20x speedup in compile time, from days to hours.)
    Studio 12.4 does not have any of the new C++14 features, and the compiler does not have a C++14 mode. The reason is timing; Studio 14 feature freeze predated approval of the C++14 standard. We prefer not to implement proposed new features until they are published in the standard, because features have a habit of changing between their supposedly final form and actual publication. We have been bitten by such changes in the past, and it creates problems for us, and our customers who depend on compiler stability for large projects.
    We expect to implement C++14 in a future release. Oracle policy does not permit me to be more specific.

  • C++ newbie gets linking error

    Hi,
    I am writing my first C++ programs (been a SQL/DB programmer for last 10 years) on Sun Solaris. Here is my source code:
    #include <list>
    #include <string>
    #include <iostream.h>
    using namespace std; // You must use this to include STL!
    int main()
    // Create list instances
    list<int> list1; // Empty list
    size_t n = 10;
    double val = 3.14;
    list<double> list2(n, val); // Create n copies of val
    list<double> list3(list2); // Create a copy of list2
    cout << "Size of list1 " << list1.size() << endl;
    cout << "Size of list2 " << list2.size() << endl;
    cout << "Size of list3 " << list3.size() << endl;
    // We iterate over the elements of list 3 and print its elements
    // Create list iterator
    list<double>::const_iterator i;
    // Print every character in the list
    for (i = list2.begin(); i != list2.end(); ++i)
    cout << *i << ",";
    and getting the following linker error:
    /SUNWspro/9.0/exec/SUNWspro/bin/CC -o test test.cpp
    Undefined first referenced
    symbol in file
    std::bad_alloc::bad_alloc() test.o
    void*operator new(unsigned,void*) test.o
    ld: fatal: Symbol referencing errors. No output written to test
    I have heard of Solaris C++ compilers having problem with the use of templates..... is this the problem here or am I just missing some arguments/libraries?
    Thx in advance!

    In the interest of keeping code examples short and simple, textbook authors do things in their code examples that are not suitable for real-world applications. Apart from "using namespace std", you find global variables and functions with short names, and no attention paid to error detection or recovery. (They also use more explanatory comments in the code than a real-world program should have.)
    That's OK when you are illustrating particular language points. You want to highlight the point, and not have a lot of distractions. But in my view, not enough authors go on to explain good programming practice, and show realistic examples.
    For the case in point, the Standard Library declares thousands of names. They are in namespace std to help avoid collisions with user-defined names. Once you put "using namespace std" into your code, you import all of those names into the global namespace, creating opportunities not only for compiler complaints due to name collisions, but for subtle errors involving binding symbols to the standard library that you expected to refer to your own definitions.
    I never write "using namespace std" in real code. I sometimes use it when creating tiny test cases for bug reports. But as you saw in my earlier comments, the difference in the sample program between a dangerous programming practice and a much better programming practice was one line of code!

  • Avoiding struct member padding in C

    Hello,
    The following is a very simple structure, the hand calculated size of which is 6.
    On solaris we know that members are padded to word, byte boundaries for better performance.
    Hence the sizeof(phone) is 8.
    struct phone
    unsigned int telno;
    unsigned short int code;
    In gcc I found a compiler flag called -fpack-struct that avoids the padding bytes in the compiler itself. Is there any such thing with the solaris C compilers.
    Using 'pragma pack' is not feasible as the actual intent is to use in a bigger program, that has many such structs and manually going to each struct and changing them is not feasible.
    Any compilation facility would be very helpful.
    Any pointers that you feel relevant can make a big difference.
    Thanking in advance for the help

    A couple of things. Unless your structures are unique enough so that different packing is required for each structure, you can use the pack pragma since it holds for the entire file. In other words, a single pack pragma at the beginning of a file effects all the structures from that point on. So, you don't necessarily have to put a different pragma on each structure definition.
    Second, you can use the -xmemalign compiler option to alert you when a mis-aligned load or store takes place. So, placing a single pack pragma in each file and compiling with -xmemalign will allow you to track down structures that might need special handling.
    You can read about the -xmemalign option here
    http://docs.sun.com/source/816-2454/cc_ops.app.html#32726
    There does not appear to be a direct replacement for the gcc -fpack-struct compiler flag.

  • OCCI Compilers/Linkers For Solaris

    I'm developing on Solaris 5.8. I'm attempting to compile/link my C++ application using GNU g++ with no success. On link, I get many undefines referencing objects of the OCCI library.
    The OCCI library appears to be built using the Sun C++ compiler. I have no problem when building and testing C++ examples that are compiled and linked with Sun C++ compiler/linker.
    Is there a version of OCCI created from a GNU build to be used with GNU compiler/linker?
    Is there a workaround to building C++ OCCI applications with GNU compiler or must one use Sun's compiler/linker?
    Thanks in advance for feedback,
    Dave

    You need to use Sun Workshop compiler only. Please see the installation guide for more details on supported compilers.

  • How to fix aSun Studio 9 bug running on a Solaris 10 ?

    Hi all
    I have Sun Studio 9 installed on a Sun Solaris 10 and when I try to run the debug tools I receive this Issue
    (dbx) cd /users/****/ISMD_V10_integration/MMI/IHM/SCHEMA/bin
    (dbx) debug /users/***/ISMD_V10_integration/MMI/IHM/SCHEMA/bin/dbtool.Solaris
    Reading dbtool.Solaris
    Reading ld.so.1
    dbx: internal error: signal SIGSEGV (no mapping at the fault address)
    dbx's coredump will appear in /tmpSo I tried to install this Patch [1186876|http://sunsolve.sun.com/search/document.do?assetkey=1-21-118676] .
    This is what I received
    # patchadd 118676-02
    Validating patches...
    Loading patches installed on the system...
    Done!
    Loading patches requested to install.
    Cannot open pkginfo file /users/spiteri/118676-02/SUNWxcu4t/pkginfo
    Done!
    Checking patches that you specified for installation.
    Done!
    The following requested patches will not be installed because
    they have been made obsolete by other patches already
    installed on the system or by patches you have specified for installation.
               0 All packages from patch 118676-02 are patched by higher revision patches.
    No patches to install.More over when I checked if the patch exist I have this
    # showrev -p | grep 118676
    Patch: 118676-03 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWsprot, SUNWxcu4tThen I checked the DBX version
    # dbx
    For information about new features see `help changes'
    To remove this message, put `dbxenv suppress_startup_message 7.3' in your .dbxrc
    (dbx) version                                                               
    Machine hardware:   sun4u
    OS version:         5.10
    Processor type:     sparc
    Hardware:           SUNW,Sun-Fire-280R
    The following components are installed on your system:
    Sun Studio 9
            Sun Studio 9 C Compiler
            Sun Studio 9 C++ Compiler
            Sun Studio 9 Tools.h++ 7.1
            Sun Studio 9 C++ Standard 64-bit Class Library
            Sun Studio 9 Garbage Collector
            Sun Studio 9 Fortran 95
            Sun Studio 9 Debugging Tools (including dbx)
            Sun Studio 9 Debugger GUI
            Sun Studio 9 Performance Tools (including collect, ...)
            Sun Studio 9 X-Designer
            Sun Studio 9 VIM editor
            Sun Studio 9 XEmacs editor
            Sun Studio 9 Native Connector Tool
            Sun Studio 9 LockLint
            Sun Studio 9 Building Software (including dmake)
            Sun Studio 9 Documentation Set
    version of "/opt/SUNWspro/bin/../prod/bin/../../bin/cc": Sun C 5.6 2004/07/15
    version of "/opt/SUNWspro/bin/../prod/bin/../../bin/CC": Sun C++ 5.6 2004/07/15
    version of "/opt/SUNWspro/bin/../prod/bin/../../bin/f90": Sun Fortran 95 8.0 2004/07/15
    version of "/opt/SUNWspro/bin/../prod/bin/../../bin/dbx": Sun Dbx Debugger 7.3 2004/07/15
    version of "/opt/SUNWspro/bin/../prod/bin/../../bin/analyzer": Sun Performance Analyzer 7.3 2004/07/15
    version of "/opt/SUNWspro/bin/../prod/bin/../../bin/dmake": Sun Distributed Make 7.5 2004/07/15And to conclude I tried this
    pstack core | c++filt
    core 'core' of 15779:   /opt/SUNWspro/bin/../prod/bin/sparcv9/dbx -g sync,stdio -c dbxenv supp
    ffffffff7e8d3894 _lwp_kill (6, 0, ffffffff7e8b5dd4, ffffffffffffffff, ffffffff7e9ec000, 0) + 8
    ffffffff7e84a5ec abort (1, 1b8, 0, 1a1b20, 0, 0) + 118
    00000001000b4204 ???????? (1005fd, 100400, a, 100400, 10060b000, 100512e30)
    ffffffff7e8d2798 __sighndlr (a, ffffffff7fffb7d0, ffffffff7fffb4f0, 1000b3f30, 0, 9) + c
    ffffffff7e8c6a04 call_user_handler (ffffffff7e700200, ffffffff7e700200, ffffffff7fffb4f0, 8, 0, 0) + 3e0
    ffffffff7db19b30 Pgetauxval (1012eae48, 7e3, ffffffff7f736c60, ffffffff7f61c5bc, 6f723c636861723e, 7e3) + 38
    ffffffff7db0b12c Pbrandname (1012eae48, ffffffff7fffbfc0, 400, 0, ffffffff7f736c60, 821) + 8
    ffffffff7db185a0 ps_pbrandname (1012eae48, ffffffff7fffbfc0, 400, 1001afee0, ffffffff7d806000, 1) + c
    ffffffff7d701bfc _rd_reset32 (7e0, ffffffff7d806000, ffffffff7d806000, 100691860, ffffffff7d806000, 1) + 488
    ffffffff7d700df0 rd_reset (1011f0540, 0, 1052ac, ffffffff7e8c88f4, 1, 0) + a8
    ffffffff7d700eb8 rd_new (1012eae48, ffffffff7cf00160, 1025a6b40, 0, ffffffff7d806000, ffffffff7d806000) + a8
    00000001003146e0 void RtldAgent::open(Pcs*,const ps_prochandle*) (101789570, 10062a180, 1012eae48, 100558, 1, ffffffff7d700e10) + 68
    00000001001acbec ???????? (1012aec40, 0, 100691cf0, 10053dd33, 10053d000, ffffffff7fffc6e0)
    00000001001addd4 Proc*ProcMgr::start(Target*,bool,bool,bool) (100512e30, 0, 100627a50, 0, 1012aec40, 10053e18e) + 92c
    0000000100171bb8 int do_run(Interp*,bool,Level_e) (100400, 10053b000, 100400, 100512e30, 1, 100400) + 19c
    00000001002abf28 ???????? (10056b477, 1025a7890, 10062b638, 0, 100642750, 10068ec70)
    00000001002aac18 int pdksh_execute(Interp*,op*,int) (10062b5f0, 100643740, 0, 10062b5f0, 103084180, 101339a10) + 1c0
    000000010029746c int pdksh_shell(Interp*,Source*) (10062b5f0, 102703bd0, 3, 100569df9, 100569e00, 1000b3c10) + 4c0
    0000000100296eac int pdksh_command(Interp*,const char*) (ffffffffffffffff, 0, 1, 1, 10062b5f0, 10066bb40) + 88
    00000001001523e0 void MyServantDbx::ksh_cmd(int,unsigned,const char*) (1006604e0, 0, 0, 1025a7714, 10052a, 10060c3f0) + 98
    00000001002d82e4 bool Dispatcher::dispatch(ProtoReceiver*,MsgRcv*) (1002c1b4c, 1006604e0, ffffffff7fffd278, 1002c1b4c, 100000, 0) + 100
    00000001002d4968 void Messenger::handle_message_help(AuthStyle,MsgRcv&) (1006604e0, 0, ffffffff7fffd278, 10056f358, 10056f000, 1002c8498) + a4
    00000001002d46dc void Messenger::handle_message(AuthStyle) (1006604e0, 0, 0, ffffffff7fffd278, 10052b0d0, 100000) + dc
    00000001002c87ac void Servant::cb_message(int,unsigned short,void*) (b, 10052b0d0, 1006604e0, 1003e3000, 1003e3, 100000) + 8c
    00000001002c3ed4 void CBInfo::dispatch(int,unsigned short) (100625bc0, 10056f, 1003e1687, b, 100400, 1) + ac
    00000001002c4304 void Notifier::invoke(int,unsigned short,CbData*) (10065f0b0, b, 1, 100625bc0, 1002c8721, 1002c3e28) + 18
    00000001002c4b88 void NotifierDirect::dispatch_help(int,unsigned short,CBInfo*,bool*) (10065f0b0, b, 100400, 100625bc0, ffffffff7fffda2f, 1000000000000) + c4
    00000001002c51ac bool NotifierPoll::dispatch(bool*) (10065f0b0, ffffffff7fffda2f, ffffffff7fffd630, 18, 1003e1d7c, ffffffff7fffd770) + 27c
    00000001002c4d0c void NotifierDirect::loop(bool*) (10065f0b0, ffffffff7fffda2f, 1003e1, 10056eeb8, 100000, 1003e1b89) + 9c
    000000010014fd0c ???????? (10062b5f0, ffffffff7fffdb1c, 100400, 10052a5b3, 100512e30, 10052a)
    000000010029e874 ???????? (10062b5f0, 100400, 10056a69d, 0, 10066bb40, 1)
    000000010029c888 int yylex(Interp*,int) (10062b5f0, 9, 0, 0, 10062b830, ffffffff7fffdc5c) + 220
    000000010029a3fc int yyparse(Interp*) (10062b5f0, 100400, ffffffff7fffddd8, 0, 0, 1) + 18
    000000010029c5c4 op*compile(Interp*,Source*) (10062b5f0, 10066bb40, 64, 100506000, 10062b798, 10066bbc8) + 28
    00000001002972a8 int pdksh_shell(Interp*,Source*) (10062b5f0, 10066bb40, 100400, 100569df9, 100569e00, 1000b3c10) + 2fc
    00000001000b817c void main_cmd_loop(Interp*) (10062b5f0, 100400, 100507c50, 1005e52e8, 100555400, 100507) + a8
    00000001000b91ac main (100400, 100506, 100507c50, 10062b5f0, 100512e30, 1) + b8c
    00000001000b1e3c _start (0, 0, 0, 0, 0, 0) + 17cSo can someone help me please ??

    You are seeing 6477975, which is fixed in dbx patch 117564-07 (which is for sparc) and 117565-07 (for x86).
    However, if you are already on Solaris 10, I'd recommend to upgrade to Sun Studio 12, which is free, has many improvements and works much better with Solaris 10. If you, for any reason, can't upgrade compilers to Studio 12, you can still use Sun Studio 12 IDE plus debugger and compilers from Studio 9. It is easy to install several versions of Sun Studio on a machine, you just need to give different base directories to the installer.

  • Announcing availability of  x86 hosted cross compiler for SPARC/Solaris

    We are pleased to announce the release for GCC For Sun Systems 4.2.0 cross compilers!
    This is a Solaris/x86 hosted compiler with target code generation for
    SPARC/Solaris systems. If you develop on your OpenSolaris, or Solaris
    x86 laptop or desktop, you can now start compiling your sources for
    SPARC systems. Almost all features available in the
    native SPARC GCC For Sun Systems 4.2.0 compiler are available
    for use in the cross compiler. Please refer to the mini cross compiler howto
    page for additional details on install and usage, and gotchas in cross
    development environment.
    Please continue to provide us your feedback and issues, which helps
    us make the product better.
    Thanks
    GCCFSS team

    Can GCCFSS also cross compile from in reverse - from SPARC to x86/x64?
    Thank you

  • How can I use the "gcc compiler and emacs editor" in Solaris 8 for Intel?

    I installed Solaris 8 for Intel to my desktop computer.
    After the installation, I found I couldn't use the companion software (the software CD included in the Multilinugal Media Kit for Solaris 8) - especially the emacs editor and gcc compilers.
    I certainly installed the companion software to my computer. And I can identify that those softwares are
    really installed to my system. In order to check out whether I installed them or not, I went to the "System Administrator" and opened the "Solaris Product Registry", in which I identified that all the files in
    the companion software were succesfully installed in my computer.
    However, when I open terminal or console box and tries to use those
    software, the system responds that "there is no emacs or gcc."
    Why I cannot use those things?
    Did I install the companion software wrong?
    I really don't understand why I can't use them.
    For your reference, I saw the directories "/usr/bin" and "usr/ccs/bin"
    too.
    In /usr/bin I typed
    #as
    and no such command.
    In /usr/ccs/bin
    #as
    and also no such command
    was what I had as a response.
    If I installed the companion software CD correctly and if they are installed somewhere in my computer,
    where I can find them and how I can use those softwares?
    Lastly, whenever I try to connect to my ISP via telnet mode, I see this
    message.
    "Try to connect ...
    connected to ***.***.***.*** (IP address of my ISP)
    Closed by foreign hosts."
    Is there any one who knows why this happens?
    Thanks for reading my question.

    gcc and emacs install in /opt/sfw. You should change your path statement to include /opt/sfw/bin and should obtain the FAQ from sunfreeware.com. The FAQ answers all your questions.
    I have installed gcc and gtk and am using both at this time.
    [email protected]

  • Relocation Error In Solaris - Symbol 0FI__rtbi_fv not found

    Hi!,
    I get the following error, when i try to load a library using JNI, (jdk 1.3.0_02) in Solaris 2.6 :
    It cribs about symbol __0FI__rtbi_fv not found.
    I used nm on the .so and got the following output -
    [123762] | 0| 0|NOTY |GLOB |0 |UNDEF |__0FI__rtbi_fv
    Kindly help me in overcoming this problem. Its bit urgent.
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /disk1/anuj/Sinu/usrtool/obj/libusrtool.so:
    ld.so.1: /disk1/sriram/java1.3/bin/../bin/sparc/native_threads/java:
    fatal: relocation error: file /disk1/anuj/Sinu/usrtool/obj/libusrtool.so:
    symbol __0FI__rtbi_fv: referenced symbol not found
         at java.lang.ClassLoader$NativeLibrary.load(Native Method)
         at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1382)
         at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1306)
         at java.lang.Runtime.loadLibrary0(Runtime.java:749)
         at java.lang.Runtime.loadLibrary(Runtime.java:737)
    regards
    Sriram

    It is not in the java documentation because it is not a java problem.
    When you write JNI code (or any other code for that matter) you probably should look at the documentation for the compilers and other tools that you are using for recommendations for how to use these third party tools.
    What would have been surprizing to me, is if your C++ compiler manual did not recommend linking with the standard C++ library when you use code contained in the library. Which was the problem here.

  • 64-bit compilation problem on Solaris/Intel: 7th argument not initialized

    I have a problem when compiling a program on a 64-bit Solaris Intel server. The problem is that when calling a function, if the 7th or next arguments are long arguments and I pass uncasted small integers values to it, the first 32-bit of my values are uninitialized.
    I have isolated the problem in the following source code.
    #include <stdio.h>
    #include <strings.h>
    void fnc1(a,b,c,d,e,f,g,h)
    long a,b,c,d,e,f,g,h;
    printf("%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld\n", a,b,c,d,e,f,g,h);
    void main()
    fnc1(0x10101010deadbeef,0x20202020deadbeef,
         0x30303030deadbeef,0x40404040deadbeef,
         0x50505050deadbeef,0x60606060deadbeef,
         0x70707070deadbeef,0x80808080deadbeef);
    fnc1(1,2,3,4,5,6,7,8);
    }I compile it using the following command:
    cc src1.c -g $* -m64 -o prog1.exeWhen I run the resulting .exe, I get the following result:
    1157442768875667183,2314885534015405807,3472328299155144431,4629771064294883055,5787213829434621679,6944656594574360303,8102099359714098927,-9187201948855714065
    1,2,3,4,5,6,8102099355978170375,-9187201952591642616The problem is that the first 32 bits of my 7th and 8th arguments are not initialized when the function is called.
    I know that in the following cases, I do not have the problem:
    - if I cast the arguments;
    - on other platforms (AIX, SunOs/Sparc, HPUX) or if I compile in 32-bit;
    - if I use optimization (-xO1 to -xO5) ;
    - if I prototype my function at the beginning of my source (void fnc1(long a,long b,long c,long d,long e,long f,long g,long h););
    I have over 1,000,000 lines of existing code to support. I am afraid using optimization would have other impacts and for now, I cast the arguments as problems are reported. Would there be a better way to handle this? By using a compiler switch?
    Thanks in advance.

    Tom.Truscott wrote:
    clamage45 wrote:
    But if you are passing to an ellipsis, you either cast actual arguments to the type the function expects, or the function extracts the default promoted type. Such code always works ...Yes, and developers should attempt to accomplish just that. Alas this is very difficult to ensure, particularly given the lack of a run-time type checking mechanism.In theory, proper use of the ellipsis function would be documented, and programmers would read and follow the documentation. In practice, some programmers don't read the instructions, or forget them, or someone ill-advisedly changes the way the function works so that existing calls stop working. Variable-argument functions are a fragile mechanism. (I program almost exclusively in C++, which has combinations of features such that variable-argument functions are rarely, if ever, needed.)
    Can one even assume that the value of the NULL macro is correct? Never, because the C standard allows a variety of definitions for NULL, and implementations vary. Passing NULL to an ellipsis is a recipe for failure. Don't do it.
    >
    Suppose you have function FI with an ellipsis that expects to get int arguments, and another FL that expects to get long arguments. When you port the code to a 64-bit environment, function FL fails. If you use the -signext option, function FI will fail.Ah, but for us FL never fails, since the compilers always widen the arguments. I fail to see the circumstance in which widening would cause FI to fail, could you please give a more specific example?
    void FI(int count, ...)
        va_list va;
        va_start(va, count);
        int t;
        while( --count >= 0) {
           t = va_arg(va, int);
           do_something(t);
    }Function FI expects to extract 32-bit int arguments. If compiled with -signext, the calling function will pass 64-bit arguments. Perhaps the -signext option also causes the 32-bit extraction to be changed to a 64-bit extraction. I have no personal experience with the option, and I'm not in a position where I can experiment right now.

  • Forte on solaris 2.5

    Hi everyone,
    I'm curious if anyone is running forte with Solaris 2.5. Any problems?
    Any performance differences?
    Thanks in advance,
    John
    John Jamison
    Engineering Manager
    Sage Solutions, Inc.
    [email protected]
    (415) 392-7243 x508
    fax: (415) 392-4030
    http://www.sagesoln.com/sage.html

    Ordinarily, the same source files and makefiles that work with C++ 5.0 on Solaris 2.6 should work with C++ 5.3 on Solaris 8.
    You didn't say what you did to "adapt the makefile" when changing compilers and OS versions. If the compiler was installed in the default /opt location on each system, we don't think any makefile change would be required. (You might want to make changes for performance or program organization reasons, but we don't think any changes are required just to repeat a working program build.)
    What happens if you use the original files that worked with C++ 5.0 on Solaris 2.6?
    Are C++ 5.0 and C++ 5.3 are both installed in the same /opt directory? That isn't allowed, and will lead to strange behavior.
    Are you continuing a build using the new compiler and OS in a directory containing old binary files or template cache? When changing OS and compilers, it is safest, but not strictly necessary, to rebuild all your binary files. At a minimum, you must delete the old template cache.
    Are you still using C++ 5.0 in the build process? If so, you must isolate the use of C++ 5.0 and 5.3. The compilers cannot share a template cache, so you must run compiles in different locations.
    Anything beyond these hints will require more support and analysis than we could provide in the Forum. You will probably need to generate a .i file from the compilation and have a support engineer look at it. If you have contract with Sun, please follow the service channel.
    - Rose

  • Solaris Studio 12.4 ccfe signal 11 with boost::unordered_set in C  11 mode

    Using Solaris Studio 12.4 on Solaris 10 update 10 x86, the following program crashes ccfe:
    #include <boost/unordered_set.hpp>
    #include <string>
    int main(int, char **)
        boost::unordered_set<std::string> strSet;
        std::string str("test");
        strSet.insert(str);
        return 0;
    Assuming the code is saved to main.cc, build it in C++11 mode using:
    CC -v -std=c++11 -m64 -I/usr/local/include/boost-1_54 main.cc
    The output is:
    ### CC: Note: NLSPATH = /opt/solarisstudio12.4/bin/../lib/locale/%L/LC_MESSAGES/%N.cat:/opt/solarisstudio12.4/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat
    ###     command line files and options (expanded):
    ### -v -std=c++11 -m64 -I/usr/local/include/boost-1_54 main.cc
    /opt/solarisstudio12.4/lib/compilers/ccfe -xarch=amd64 -std=c++11 -D__SunOS_5_10 -D__SUNPRO_CC=0x5130 -D__unix -D__SVR4 -D__sun -D__SunOS "-D__builtin_expect(e,x)=e" -D__x86_64 -D__x86_64__ -D__amd64 -D__amd64__ -D_LP64 -D__LP64__ -D__BUILTIN_VA_STRUCT -Dunix -Dsun -D__SUN_PREFETCH -D__SUNPRO_CC_COMPAT='G' -include /opt/solarisstudio12.4/lib/compilers/include/CC/gnu/builtins.h -include /opt/solarisstudio12.4/lib/compilers/include/CC/gnu/builtins-def.h -I/usr/local/include/boost-1_54 -I-xbuiltin -I/opt/solarisstudio12.4/lib/compilers/include/CC/gnu -I/opt/solarisstudio12.4/lib/compilers/CC-gcc/include/c++/4.8.2/ -I/opt/solarisstudio12.4/lib/compilers/CC-gcc/include/c++/4.8.2//backward -I/opt/solarisstudio12.4/lib/compilers/CC-gcc/include/c++/4.8.2/i386-sun-solaris2.10/amd64/ -I/opt/solarisstudio12.4/lib/compilers/include/cc -I/usr/include -I/opt/solarisstudio12.4/lib/compilers/CC-gcc/lib/gcc/i386-sun-solaris2.10/4.8.2/include// -ptf /tmp/ccfe.1422033660.29374.03.%1.%2 -ptx /opt/solarisstudio12.4/bin/CC -ptk "-v -std=c++11 -m64 -I/usr/local/include/boost-1_54 " -compat=g -xdebuginfo=%none -xdbggen=dwarf+usedonly+incl -xF=%none -xbuiltin=%none -xldscope=global -xivdep=loop -O0 -xarrayloc main.cc -o /tmp/ccfe.1422033660.29374.01.ir 2> /tmp/ccfe.1422033660.29374.02.err
    /opt/solarisstudio12.4/lib/compilers/stdlibfilt -stderr < /tmp/ccfe.1422033660.29374.02.err
    >> Signal 11:
        while processing main.cc at line 0.
    rm /tmp/ccfe.1422033660.29374.02.err
    rm /tmp/ccfe.1422033660.29374.01.ir
    I know Boost 1.54 is not the most recent version, but the only changes to unordered_set.hpp between 1.54 and the current master branch in Boost's Git repository are Visual Studio 2013 workarounds, so I strongly suspect the same problem would occur with Solaris Studio 12.4 and more recent versions of Boost.
    This problem can be avoided by using std::unordered_set instead of boost::unordered_set.  However, since the compiler actually suffers a SEGV rather than giving a nice error message I thought I'd report this in case it's a sign of a problem in the compiler that might occur under other circumstances too.

    Thanks for the help.  Yes, sorry, I should have made clear that this is after trying to use Boost in C++11 mode.  I agree that the problem doesn't occur when using Solaris Studio in C++11 mode but Boost configured not to use any C++11 features.
    I made quite a few edits to the Boost code, including the ones Steve posted in this thread.  The edit that causes this problem to occur is the one to boost/config/compiler/sunpro_cc.hpp that removes all the BOOST_NO_CXX11_* macros.
    It sounds like I should just hold off trying to use Boost in C++11 mode until the next version of Solaris Studio is out.
    The pstack from the ccfe core dump is:
    core 'core.1503' of 1503:       /opt/solarisstudio12.4/lib/compilers/ccfe -xarch=amd64 -std=c++11 -D__
    ffff0000 ???????? (8041218, 8, fcf58e0, 0)
    082b7713 __1cPtemp_name_substKsubstitute6MrknQfull_syntax_name__1_ (8041260, 8041180) + 163
    082be63d __1cKexpr_substKvisit_name6MpnJname_expr__v_ (80413c0, ad65da8, 8041348, 8275d73) + fd
    082bc775 __1cKexpr_substKsubstitute6MpknEexpr__p1_ (80413c0, f2cab18, 80413a8) + 35
    082b858b __1cPtemp_name_substQsubst_single_arg6MnPtemplate_actual__k1_ (80415d0, 8041b10, f2cab18, 103, 8041570, 0) + 2fb
    082b8e10 __1cPtemp_name_substUsubstitute_temp_args6MrknbBtemplate_actuals_collection_pknXtemplate_parameter_list__1_ (8041890, 8041b10) + 150
    082ba050 __1cPtemp_name_substPvisit_temp_args6MrknbJsyntax_name_with_template_arguments__v_ (8041b10, fc9dd80, 8041ac0, 8041964) + 30
    082ba2c8 __1cPtemp_name_substFvisit6MrknQsyntax_name_impl4eInSsyntax_name_sort_t____v_ (8041b10, fc9dd80, fcf5610, 0) + 18
    082b76d1 __1cPtemp_name_substKsubstitute6MrknQfull_syntax_name__1_ (8041bf0, 8041b10) + 121
    082b526b __1cPtemp_type_substUvisit_name_dependent6MpnEtype_pnTname_dependent_type__v_ (8041eb0, f2e1aa4, f2e1a58, f2e21f0) + 5b
    082b3930 __1cPtemp_type_substTsubstitute_ret_type6MpnJfunc_type__pnEtype__ (8041eb0, f2e2178, 8041d08, 8041d60) + 30
    082b3c2c __1cPtemp_type_substKvisit_func6MpnEtype_pnJfunc_type__v_ (8041eb0, f2e21a0, f2e2178, f2e21f0) + 25c
    082ba941 __1cPtemp_type_substTexpand_in_func_type6MpnJfunc_type__2_ (8041eb0) + 31
    0816b754 __1cIfunc_symRnew_template_spec6kMrknbBtemplate_actuals_collection_rknIposition__pnDsym__ (f2e21f0) + c4
    082c941b __1cQtemplate_matcherIgen_func6M_pnIfunc_sym__ (8042050, ad62d58, ad65960, 0) + 59b
    0828af3f ???????? (80420f4, ad65940, 80421a0, 0, ad62c50, 0)
    0828b2c9 __1cNoverload_call6FpnJcall_expr_rknJsym_array_4brknbBtemplate_actuals_collection_nEtypeKtype_class_b_2_ (8042198, ad65940, 804219c, 80421a0, 0, ad62c50) + 99
    08204c38 ???????? (ad65940)
    082086ff __1cLtypify_call6FpnJcall_expr_I_pnEexpr__ (ad65940, 4, 0, fd33148) + 9bf
    081e36a5 __1cXtypify_dispatch_visitorKvisit_call6MpnJcall_expr__v_ (8042530, ad65940, 0, 0) + 15
    081e4529 __1cGtypify6FpnEexpr_I_1_ (ad65940, 4, 0, 0) + c9
    082b1e0a __1cJexpr_stmtOpass_thru_expr6MpnEexprHvisitor__v_ (ad659a0, 80425b0, 0, 83bb23e) + 1a
    081e3cd1 __1cXtypify_dispatch_visitorPvisit_statement6MpnOstatement_expr__v_ (8042660, ad62b28, 8042608, 83bbbe9) + 71
    081e4529 __1cGtypify6FpnEexpr_I_1_ (ad62b28, 0, 8759ec0, fc9b740) + c9
    08266956 __1cWstore_inline_func_body6FpnIfunc_sym_pnFscope_bb_pnEexpr__ (fd2fc80, fc9b740, 1, 1) + 426
    082700c8 __1cSinline_bookkeepingOprocess_inline6MpnIfunc_sym_pnJcall_expr_pnEexpr__6_ (8d61508) + 268
    08270542 __1cSinline_bookkeepingNexpand_inline6MpnJcall_expr_pnEexpr__4_ (8d61508, ad5ecf8, 87594a8, 0) + f2
    081e10e3 ???????? (ad5ecf8, 80005, 8043208, 85a44ab)
    081d673e __1cWbind2_dispatch_visitorKvisit_call6MpnJcall_expr__v_ (8043220, ad5ecf8, fd1e6b8, fcb9a40) + 9e
    081d7662 __1cHbind2erKbind2_body6FpnEexpr_I_2_ (ad5ecf8, 80005, 8043288, 0) + a2
    082a94e7 ???????? (ad5ecf8, 0, 0, 0)
    082aaaf3 __1cRstmt_bind_visitorKvisit_expr6MpnJexpr_stmt__v_ (8043350, ad5ed58, 80432f8, 804337c) + 93
    082a8f2f __1cRstmt_bind_visitorOstmt_list_bind6MpnJstatement__2_ (8043350, ad5ed58, 2211, 7fefefef) + 8f
    082b06b5 __1cRstmt_bind_visitorPvisit_statement6MpnOstatement_expr__v_ (8043350) + b5
    082a9294 __1cJstmt_bind6FpnOstatement_expr_b_v_ (ad5bef0) + b4
    081df9c6 ???????? (ad5bef0, 0, 8043428, 8272a37)
    081d6e18 __1cWbind2_dispatch_visitorPvisit_statement6MpnOstatement_expr__v_ (8043420, ad5bef0, 8043448, 8043494) + 98
    081d7662 __1cHbind2erKbind2_body6FpnEexpr_I_2_ (ad5bef0, 0, 8043488, 81710d5) + a2
    082726f0 __1cSinline_bookkeepingQfinish_expansion6MrnbDfunction_definition_interface_pnEexpr__4_ (8d61508, fd2b46c, ad5bef0, 0) + 160
    081e10f9 ???????? (ad4b210, 80005, 8043528, 82759da)
    081d673e __1cWbind2_dispatch_visitorKvisit_call6MpnJcall_expr__v_ (8043520, ad4b210, 0, fcb9a40) + 9e
    081d7662 __1cHbind2erKbind2_body6FpnEexpr_I_2_ (ad4b210, 80005, 8043578, ad55cc0) + a2
    082a94e7 ???????? (ad4b210, 0, 0, 0)
    082aaaf3 __1cRstmt_bind_visitorKvisit_expr6MpnJexpr_stmt__v_ (8043650, ad4b270, fd1e668, 874cef8) + 93
    082a8f2f __1cRstmt_bind_visitorOstmt_list_bind6MpnJstatement__2_ (8043650, ad4a7b0, 1, 7fefefef) + 8f
    082b06b5 __1cRstmt_bind_visitorPvisit_statement6MpnOstatement_expr__v_ (8043650) + b5
    082a9294 __1cJstmt_bind6FpnOstatement_expr_b_v_ (ad4a520) + b4
    081d6e18 __1cWbind2_dispatch_visitorPvisit_statement6MpnOstatement_expr__v_ (8043720, ad4a520, 8043748, 8043794) + 98
    081d7662 __1cHbind2erKbind2_body6FpnEexpr_I_2_ (ad4a520, 0, 8043788, 81710d5) + a2
    082726f0 __1cSinline_bookkeepingQfinish_expansion6MrnbDfunction_definition_interface_pnEexpr__4_ (8d61508, fc7b144, ad4a520, 0) + 160
    081e10f9 ???????? (ad035e8, 80005, fd1e368, 85a4400)
    081d673e __1cWbind2_dispatch_visitorKvisit_call6MpnJcall_expr__v_ (8043820, ad035e8, acffdb8, fcb9a40) + 9e
    081d7662 __1cHbind2erKbind2_body6FpnEexpr_I_2_ (ad035e8, 80005, 8043878, 0) + a2
    082a94e7 ???????? (ad035e8, 0, 0, 0)
    082aaaf3 __1cRstmt_bind_visitorKvisit_expr6MpnJexpr_stmt__v_ (80439c0, ad03648, ad03668, 8759ec0) + 93
    082a8f2f __1cRstmt_bind_visitorOstmt_list_bind6MpnJstatement__2_ (80439c0, acf9468, 0, 82d7323) + 8f
    082afb6b __1cRstmt_bind_visitorWvisit_function_variant6MpnNfunction_stmt_b_v_ (80439c0, ad04358, 1, 8043a30) + 46b
    082afe10 __1cRstmt_bind_visitorOvisit_function6MpnNfunction_stmt__v_ (80439c0, ad04358, ad04378, 8759ec0) + 40
    082a916f __1cUstmt_bind_and_expand6FpnJstatement__1_ (ad04358, 3, fc55f4b, 80443c4) + 11f
    08257545 __1cMfunc_contextJpostamble6MrnbDfunction_definition_interface_pnNfunction_stmt__v_ (871cc98) + d5
    082e879d __1cTimmediate_func_body6FpnIfunc_sym__v_ (fbd3840, fbd3390, 8044dd0, 821b71f) + 3fd
    08266428 __1cMparse_inline6FrnbDfunction_definition_interface__v_ (fbd385c, fbd38cc, 8044eb0, 95a38d4) + 188
    084db8c8 __1cLemit_inline6FpnIsym_list__v_ (fca5328, fca5328) + 2d8
    084d88f1 __1cQcompilation_unitFclean6M_b_ (8759310) + a1
    084dd507 __1cIfinalgen6F_v_ (8c3ffa8, 8759178, 8046eb8, 815db68, 1, 8c41eb8) + 67
    082f533b __1cGanalys6Fb_v_ (1, 8c41eb8, 8046eb8, 815d5d7) + db
    0815db68 __1cHtmcplus6Fri0bpnHoptions__nHsym_set__ (8046f00, 8046ef8, 8046efc, 1, 8c4ced8, 86417b1) + 2be8
    082e5943 main     (34, 8047360, 8047434) + 283
    08153f22 _start   (34, 8047514, 804753e, 804754b, 8047556, 8047565) + 72

  • Solaris x86 or Solaris 8

    What is the latest version of solaris on intel called? Is it generic
    across intel boards? Are there some pitfalls to look out for (i.e.
    only runs on 400 MHz or less, only a handfull of graphic cards, etc.)
    What is the best C/C++ compiler? Does it support Visual Workshop?
    How about Motif? What version? We were using Motif 1.2.4 on X11R5
    from ICS, is this OK? Any heads up would be helpful. Thanks in advance.

    Solaris 8 is currently available at
    http://www.sun.com/software/solaris/binaries/index.html
    Not sure what you mean by "generic across intel boards" - it's the
    same kernel, but drivers will differ depending on your H/W config -
    see the HArdware Compatibility list:
    http://soldc.sun.com/support/drivers/hcl/index.html
    There are freeware e.g. GNU compilers - go to sunfreeware.com
    For serious commercial development, the Sun Workshop tools are
    available - Workshop 5 is shipping now and you can get a WS6 early access at the access1.sun.com website.
    CDE seems to have taken over from Motif. For details on X11R6 features etc, follow the first link below:
    - www.sun.com/solaris
    - www.sun.com/intel (For Solaris on the Intel Platform)
    - www.sunfreeware.com (take a look at the "Other Useful Sites")
    - www.egroups.com (do a search on Solaris, many questions already answered)
    - Newsgroups (alt.solaris.x86, comp.unix.solaris)
    - www.webring.org/cgi-bin/webring?ring=solarisunix;list
    - www.SolarisCentral.org
    - metalab.unc.edu/pub/packages/solaris/i86pc/
    - http://solarisguide.com
    - dan.carlsbad.ca.us/faqs/s86faq.html
    - solarisguide.com
    - http://fishbutt.fiver.net
    - http://www.sunhelp.org/

  • Migration from Sun solaris 8 to Solaris 10

    Hi,
    We are migrating from Solaris 8 to Solaris 10 with the compiler migration also earlier we are using Sun Studio 6 and now it is Sun Studio 11.
    When we are compiling the code on Solaris 10 which has been running on the Solaris 8, we are facing some error. So could you help me on this
    "ResourceManager.h", line 98: Warning (Anachronism): Type names qualified by template parameters require "typename".
    "ConnectionMgr.h", line 62: Where: While specializing "ResourceManager<T>".
    "ConnectionMgr.h", line 62: Where: Specialized in non-template code.
    "ResourceManager.h", line 100: Warning (Anachronism): Type names qualified by template parameters require "typename".
    "ConnectionMgr.h", line 62: Where: While specializing "ResourceManager<T>".
    "ConnectionMgr.h", line 62: Where: Specialized in non-template code.
    2 Warning(s) detected.
    make[1]: *** [obj/ConnectionMgr.o] Error 2
    Not sure of the warning , am not able to see these error on the compilation on Sun Studio 6.Below is the bit of the header file code, where the error is occurring.
    98 typedef map<ResourceID, ResElement *>::iterator ResMapIterator;
    100 typedef list<ResElement *>::iterator ResListIterator;
    We are using a /opt/SUNWspro/bin/CC compiler and the verison is CC: Sun C++ 5.8
    Please help me out about the issue

    Since you are jumping several compiler releases and two Solaris releases, you should migrate in two steps.
    1. Get your application working with Sun Studio 11 on Solaris 8.
    2. You can now run that application on Solaris 10, or you can rebuild it on Solaris 10 and then run it.
    An application built on Solaris 8 will run on Solaris 9 and 10.
    An application built on Solaris 10 cannot be run on Solaris 8 or 9.
    We promise upward binary compatibility, allowing an old binary to be used with a newer compiler or on a newer Solaris. But we can't promise source code compatibility because we don't want to have to duplicate old bugs in old compilers.
    C++ 5.8 in Sun Studio 11 detects errors that older compilers might have missed. The rules about where to use "typename" are one example.
    I would not expect the warning about typename to be generated by either of the source code lines that you show, but I can't really tell without seeing a compilable example.
    You need to use typename when you use a type that depends on a template parameter. Example:
    template <class T> class C1 {
    public:
        typedef T Type;
    template <class T> class C2 {
    public:
        typename T::Type a;
    C2< C1<int> > c2i;If in C2 you do not specify typename, the compiler does not know whether T::Type is intended to be the name of a type. If it is not a type, the code is always invalid. The C++ rule is that if an an identifier is not known to be a type, it is not a type. You use typename to tell the compiler that T::Type is supposed to be the name of a type.

  • Solaris 10 compile samba4 error

    Hi all
    First, sorry for my poor English.
    I am trying to compile Samba 4 on Solaris 10 ( Sunfire v250 machine)
    Here are list of things I did:
    +) got errors about option "-mt" of gcc so I wrote a short shell script to replace CC ( remove option "-mt")
    +) then I set environment varibles: YACC=binson, LEX=flex, MAKE=gmake
    +) I also set CFLAGS,LDFLAGS (LDFLAGS is set to get strsep function, not present in Solaris)
    +)Now I got errors:
    GCC: bin/subsystem/*.o : No such file or directory
    "*" means a lots of file.
    Have you ever compiled Samba4 on Solaris 10, please help me!
    Thank in advance.

    Did you try to compile with default options? ie., without env variables YACC, LEX, LDFLAGS, etc.,
    Also did you try to compile with Sun Studio compilers? In case if you do not have the suite installed, you can get it for free from: http://developers.sun.com/prodtech/cc/downloads/index.jsp.
    Sometimes Sun Studio provides more diagnostic error messages than GCC.

Maybe you are looking for

  • How to save session state for a text item

    hi @averyone, i designed in interactive report with one apex_item.text field, let's name it "count" normally the report has more then one pages. the report should work like a kind of a shopcart. the user enters some data into "count" and moves on to

  • Why do i keep getting error message u43mid207?

    I'm trying to update CS5, and keep getting error message u43mid207.  I'm trying to open raw files made with a Nikon d800 camera and photoshop raw needed to be updated.  My firewall is turned off.  I'm not sure how to fix this.

  • System Resource Management

    I am trying to do display a graphic message something for a certain amount of time(eg:5 minutes). I do it this way int timediff = 0; Date d1 = new Date(); long timeSwitched = d1.getTime(); while(timediff!=5*60*1000) Date d2 = new Date(); long nowTime

  • Internet cuts out opening new tab

    Hi every time I open a new tab in Firefox the internet cuts out for a minute or so, any ideas why?

  • Recordset output from multiple queries to single table

    Hi I am trying to find a way to build a dynamic table where the columns appear to need to come from to different queries or from a union query but am confused.My table would look like this and if there is month data then there will be Year to Date da