Ticket #62 (closed defect)

Opened 8 years ago

Last modified 8 years ago

wxGTK doesn't build in debug under Solaris 7 or 8 with CC5.0

Reported by: anonymous Owned by: vadz
Priority: normal Milestone:
Component: wxGTK Version:
Keywords: Cc: vadz, jiri
Blocked By: Patch: no
Blocking:

Description

I am having a bit of a problem building wxGTK with CC 5.0. The same problem happens on Solaris 2.7 and 2.8.

Machine:

SunOS carmen 5.8 Generic sun4u sparc SUNW,Ultra-2

Compiler: Solaris CC v5.0
Glib version: 1.2.8
GTK version: 1.2.8
wxGTK version: 2.2.2


Glib configure:

./configure --prefix=/home/jiri/bin/sol/usr/locald --enable-debug=yes --enable-mem-check --enable-mem-profile

GTK+ configure:

./configure --prefix=/home/jiri/bin/sol/usr/locald --enable-debug=yes --enable-mem-check --enable-mem-profile

wxGTK configure:
./configure --prefix=/home/jiri/bin/sol/usr/locald --with-x --with-gtk --enable-

debug --enable-debug-flag --enable-debug-info --enable-mem-tracing

Compile error (see last line):

CC -c -DWXGTK -DWXDEBUG -D_REENTRANT -g -I. -I./include -I./include -I./src/zlib -I./src/png -I./src/jpeg -I./src/tiff -I/home/jiri/bin/sol/usr/locald/lib/glib/include -I/home/jiri/bin/sol/usr/locald/include -I/sopt/X11/X11R6/include "-DwxINSTALL_PREFIX=\"/home/jiri/bin/sol/usr/locald\"" -KPIC -o app.o ./src/gtk/app.cpp

"./include/wx/memory.h", line 70: Warning (Anachronism): The prior declaration for operator new(unsigned) has an exception specification.
"./include/wx/memory.h", line 74: Warning (Anachronism): The prior declaration for operator delete(void*) has an exception specification.
"./include/wx/list.h", line 481: Warning: String literal converted to char* in formal argument fileName in call to operator new(unsigned, char*, int).
"./include/wx/list.h", line 501: Warning: String literal converted to char* in formal argument fileName in call to operator new(unsigned, char*, int).
"./include/wx/module.h", line 24: Warning: String literal converted to char* in formal argument fileName in call to operator new(unsigned, char*, int).
"./include/wx/window.h", line 61: Warning: String literal converted to char* in formal argument fileName in call to operator new(unsigned, char*, int).
"./include/wx/app.h", line 202: Warning: String literal converted to char* in formal argument fileName in call to operator new(unsigned, char*, int).
"./src/gtk/app.cpp", line 99: Warning (Anachronism): Formal argument function of type extern "C" int(*)(void*) in call to gtk_idle_add_priority(int, extern "C" int(*)(void*), void*) is being passed int(*)(void*).
"./src/gtk/app.cpp", line 182: Warning (Anachronism): Formal argument function of type extern "C" int(*)(void*) in call to gtk_idle_add_priority(int, extern "C" int(*)(void*), void*) is being passed int(*)(void*).
"./src/gtk/app.cpp", line 199: Warning (Anachronism): Formal argument function of type extern "C" int(*)(void*) in call to gtk_timeout_add(unsigned, extern "C" int(*)(void*), void*) is being passed int(*)(void*).
"./src/gtk/app.cpp", line 250: Warning: String literal converted to char* in formal argument fileName in call to static wxObject::operator new(unsigned, char*, int).
"./src/gtk/app.cpp", line 263: Warning (Anachronism): Formal argument function of type extern "C" int(*)(void*) in call to gtk_idle_add_priority(int, extern "C" int(*)(void*), void*) is being passed int(*)(void*).
"./src/gtk/app.cpp", line 492: Error: Could not find a match for operator new[](unsigned, const char[18], int).

thanks.

Jiri Mracek
jiri@…


Change History

Changed 8 years ago by jiri

Please nuke this bug. This is most likely CC 5.0 issue.

After applying a number of CC 5.0 patches, wxGTK builds both in opt and debug. Builds on 2.7 and 2.8 machines.

I built following combinations:
Glib/Gtk + wxGTK


optimized + optimized
optimized + debug
debug + debug

Resulting executables built on 2.7 run on 2.7 and 2.8, executables built on 2.8 run on 2.8 and 2.7.

jiri.

Changed 8 years ago by vadz

a quick fix is to not use mem tracing, of course

as for the real fix, we'd have to get CC 5.0 somewhere to test it

as it's not a serious problem (use dmalloc instead) this isn't likely to happen any time soon

Note: See TracTickets for help on using tickets.