#824 v4.5 wxt_gui.cpp problems with Sun Studio 12.1

closed-accepted
nobody
None
5
2010-02-03
2009-12-16
Anonymous
No

I am attempting to build the latest development version (12/16/09) of gnuplot using Sun Studio 12.1, and wxGTK-2.8.10 (with patches applied from http://trac.wxwidgets.org/ticket/10660\). During the make process, I get errors during the compilation of wxterminal/wxt_gui.cpp that look like the same kinds of errors I got when trying to build wxGTK before adding the patches. I see that someone came up with a patch for gnuplot 4.2.6 that addressed these issues (Bug Tracker ID: 2883574). Has someone come up with an analogous patch for v4.5? The source for wxt_gui.cpp seems to have removed references to the _T( ) macro, so I'm not sure why I'm still seeing conflicts [/opt/sunstudio12.1/prod/include/CC/Cstd/./memory line 107, etc.].

Don

Discussion

1 2 3 > >> (Page 1 of 3)
  • Ethan Merritt
    Ethan Merritt
    2009-12-17

    I am confused.
    The patch intended to fix building with Sun Studio was applied to 4.4 and 4.5, but not to 4.2. But you are saying that 4.2.6 works and 4.5 does not? I think you will need to provide the complete error messages. The one you quote above refers only to a system include file, not to a gnuplot source file.

     

  • Anonymous
    2009-12-17

    make errors with wxt_gui.cpp

     

  • Anonymous
    2009-12-17

    I only references v4.2.6 because it seemed like someone had similar issues with wxt_gui.cpp and Sun Studio with that version and found a patch that worked for ID: 2883574. I have not tried v4.2.6 + patch to see if it works because we need the functionality of v4.5 for our task. While the errors are in system include files, if you look at the line referenced in the error message, it has the _T( ) macro, which indicated to me that it was another wxt vs. Sun Studio issue.

     

  • Anonymous
    2009-12-17

    I've attached a text file with the make errors.

     
  • Ethan Merritt
    Ethan Merritt
    2009-12-17

    There are no _T() macros remaining in the gnuplot source code to either version 4.4 or 4.5.

    Can you persuade the Sun compiler to produce more informative output? Even in the full listing you attached, there are no line references to indicate the problem site in the actual gnuplot source code. Until, that is, it starts complaining about the "mouse.h" header file and the lack of a definition for _Bool. That seems to indicate the problem may be with the definition of TBOOLEAN, but I can't tell whether this is also the cause of the earlier error messages. Also, I would have thought that a problem with booleans would have produced error messages in many gnuplot files, not just wxt_gui. I'm afraid that without more informative error messages, I don't know where to look for the problem.

     

  • Anonymous
    2010-01-02

    wxt_gui.cpp make errors with --verbose=all flag passed to CC

     

  • Anonymous
    2010-01-02

    I uploaded the output of make with the --verbose=all flag passed to the Sun compiler. As you mention below, the errors seem to be centered around the lack of a _Bool definition.

     
  • Ethan Merritt
    Ethan Merritt
    2010-01-03

    The relevant lines seem to be these, from syscfg.h:
    #if HAVE_STDBOOL_H
    # include <stdbool.h>
    #else
    # if ! HAVE__BOOL
    # ifdef __cplusplus
    typedef bool _Bool;
    # else
    typedef unsigned char _Bool;
    # endif
    # endif
    # define bool _Bool
    # define false 0
    # define true 1
    # define __bool_true_false_are_defined 1
    #endif

    They are supposed to guarantee that _Bool is defined, but for some reason this is failing on your machine. You would have to look deeper into the output of the configure script to determine, for example, if HAVE_STDBOOL_H was set during configuration, and you would have to look in your system's stdbool.h header to see if it indeed contains a definition for _Bool.

    It is possible that everything will work correctly if you replace the definition of TBOOLEAN on line 443 in syscfg.h:
    /* #define TBOOLEAN bool */
    #define TBOOLEAN unsigned char

     

  • Anonymous
    2010-01-05

    make errors after syscfg.h mod

     

  • Anonymous
    2010-01-05

    system stdbool.h

     
    Attachments
1 2 3 > >> (Page 1 of 3)