15 thoughts on “Downloads

  1. Hi,
    I have had some problems in compiling the code under fedora 19: _atoi undefined in sw/sim_lib/cray_logger.h
    I have seen that replacing ModuleNameFormatter with the following appears to let the compilation end …

    static string ModuleNameFormatter(const char *aModuleName, size_t aInstance, size_t aBase) {
    stringstream Str;
    Str << aModuleName << std::setbase(aBase)<< aInstance<<std::setbase(0);
    return Str.str();

    it should be equivalent to the existing code, at least from what I can grasp from the logs.

    However, there appears to be a more serious bug, as once I start the system and try to logon on the station I get the following:


    [the terminals still work, but I cannot proceed]


    • Luca!

      Thanks for trying the code out on Fedora. The missing _atoi, especially in ModuleNameFormatter should not make the system do this. It’s almost as if the main CPU (or rather the OS on it) crashed right after boot. I haven’t seen that problem before. Can you say which version you’ve tried? If it wasn’t 0.91, can you try that?

      You can also try turning on tracing for the main CPU. To do that, change this:

      to this:

      in xmp_sim.cfg. This should generate an instruction trace on the mainframe CPU which is usually a bad idea, but in your case the crash happens right after boot, so it shouldn’t create gigabytes of logs. If you can send that to me, maybe I’ll find something in it that sheds some light on the problem.

      Andras Tantos

      • Oddly enough, I see no change in the log files when I set
        DefaultLogLevel All
        for the main cpu.

        0.91 used to work, but it does not anymore and it got struck in exactly the same way.

        I guess that either compiler or boost is to blame, then (and actually, even removing all
        optimization does not seem to improve the situation at all) .
        I do have the following version of gcc
        gcc version 4.8.1 20130603 (Red Hat 4.8.1-1) (GCC)
        and the system version of boost is 1.53.

        I am now trying to compile with an older version of gcc (the tricky bit is to find a machine which has not been updated but is recent enough) to see what happens.

        In any case, thanks

  2. Hello,

    i have the same prob under Ubuntu 13.04.
    If I try to compile I have this error:

    The version I’m using is 0.92


    • Hello,

      I fixed the problem, creating my version of itoa, using this code. I hope this covers all the option:

      • Same problem here, copying this code as static member into CLogger_c (not sure if this is a good place) made it compile. Googling for it, it seems like itoa is not a standard function and is not supported by all compilers, and it’s use is discouraged. Grepping through all files in /usr/include confirms the absence, so it’s probably not possible to add some define and make GCC support it. The fix was not present in the 0.92 source.

    • The simulator might be trying to launch a new xterm process that doesn’t exist. Does your Rasbery Pi have X running? (I don’t own one, so I can’t try.)

      Here’s how you can debug the problem: whenever the simulator tries to read from or write to a console, it tests if there’s something attached to the associated port. If there is nothing, it will print:


      If it is also configured to start a console automatically, it will try to launch the terminal emulator and in fact print out the command line it’s executing. So you’ll see something like this:

      Starting console application: wy50_con localhost 20003 -h 40 -e wy50 -l 20003.log

      On windows, that’s all that’s needed, since the emulator will start in a new console. Under Linux, the simulator will prepend this with the magic incantation to start the process in a new console. All this is set up in the configuration file, in sections, like this one:

      The ‘NewTerminalCommand’ option is only used by the Linux version and tells the simulator how to spawn a new console. The ‘ConsoleCommand’ is the command line that’s needed to start a new terminal emulator and attach it to the appropriate port. {cmd} above gets replaced by the value for ‘ConsoleCommand’. {host} and {port} gets replaced by the appropriate values for the listening socket.

      I hope this helps,

  3. Hi,

    Thanks you for your explanation. On Ubuntu 12.04, there is no error, the simulator runs perfectly but on Raspberry there is no consoles…
    I would like to know how to configure the simulator not to start the consoles automatically. I will launch the differents console manually.

    • Hi!

      Simply remove (or comment out) the NewTerminalCommand and ConsoleCommand lines from the config files (there are several, remove all of them). If you run the simulator that way, it will print the following:

      please connect terminal to localhost:20003

      and wait for a connection on the port it prompts. Note: you might have to fiddle with the code to open the port on your Ethernet interface as opposed to localhost.

  4. ubuntu 14.04 LTS and gcc 6.3.0 I get the following errors.

    /usr/include/boost/multiprecision/cpp_int.hpp:177:4: error: right operand of shift expression ‘(1u <= than the precision of the left operand [-fpermissive]
    BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits – 1));
    /usr/include/boost/multiprecision/cpp_int.hpp:417:4: error: right operand of shift expression ‘(1u <= than the precision of the left operand [-fpermissive]
    BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits – 1));
    /usr/include/boost/multiprecision/cpp_int.hpp:568:4: error: right operand of shift expression ‘(1u <= than the precision of the left operand [-fpermissive]
    BOOST_STATIC_CONSTANT(limb_type, sign_bit_mask = 1u << (limb_bits – 1));
    make[1]: *** [../_obj/linux_release/cray_float.o] Error 1
    make[1]: Leaving directory `/home/skippy/Cray1/sim2.0/sw/sim_lib'
    make: *** [sim_lib] Error 2

    • Strange, especially since it’s coming from inside boost and it didn’t show up on my machines. At any rate, I don’t think multiprecision is actually used, so try commenting out line 4 in cray_float.cpp:


      It should get rid of this error.

Leave a Reply

Your email address will not be published. Required fields are marked *