Package: ctsim
Version: 4.5.2-1.1
Usertags: ftbfs-gcc-4.3
Tags: patch

Your package fails to build with GCC 4.3.  Version 4.3 has not been
released yet but I'm building with a snapshot in order to find errors
and give people an advance warning.  I don' think this is really new
about 4.3, but it seems 4.3 exposes a problem that has been there
before.  When you use #pragma interface (as you do), you really need
to use #pragma implementation too.

However, the GCC people think that #pragma should usually not be used
at all, so I suggest you use the #pragma interface.  If it really
failed on FC4, maybe its's worth investigating why?

Background about this bug:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31407


> Automatic build of ctsim_4.5.2-1.1 on em64t by sbuild/amd64 0.53
...
> g++  -g -O2 -O2 -DNDEBUG -fomit-frame-pointer -Wall -I/usr/include/ctn 
> -I../include -I/usr/lib/wx/include/gtk-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ 
> -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES  -L/usr/lib/ctn -L/usr/local/lib 
> -L../libctgraphics -L/usr/X11R6/lib -L/usr/X11R6/lib64 -L../libctsupport 
> -L../libctsim -o ctsimtext  ctsimtext.o if1.o if2.o ifinfo.o ifexport.o 
> phm2if.o phm2pj.o pj2if.o pjinfo.o pjrec.o nographics.o phm2helix.o 
> pjHinterp.o linogram.o -lreadline -lncurses -lctsim  -lreadline -lncurses 
> -lctgraphics   -lGL -lGLU -pthread -lwx_gtk-2.4 -lwx_gtk_gl-2.4 -L/usr/lib 
> -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi -lXext 
> -lX11 -lm -L/usr/lib -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl 
> -pthread -lwx_gtk-2.4 -lctsupport  -lpng -lz -lfftw3 -lctn -lm 
> if2.o: In function `Timer':
> ../include/timer.h:52: undefined reference to `vtable for Timer'
> if2.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> if2.o: In function `if2_main(int, char* const*)':
> /build/tbm/ctsim-4.5.2/tools/if2.cpp:300: undefined reference to 
> `Timer::timerEnd()'
> if2.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> phm2if.o: In function `Timer':
> ../include/timer.h:52: undefined reference to `vtable for Timer'
> phm2if.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> phm2if.o: In function `phm2if_main(int, char* const*)':
> /build/tbm/ctsim-4.5.2/tools/phm2if.cpp:350: undefined reference to 
> `Timer::timerEnd()'
> phm2if.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> phm2pj.o: In function `Timer':
> ../include/timer.h:52: undefined reference to `vtable for Timer'
> phm2pj.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> phm2pj.o: In function `phm2pj_main(int, char* const*)':
> /build/tbm/ctsim-4.5.2/tools/phm2pj.cpp:380: undefined reference to 
> `Timer::timerEnd()'
> phm2pj.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> pj2if.o: In function `Timer':
> ../include/timer.h:52: undefined reference to `vtable for Timer'
> pj2if.o: In function `pj2if_main(int, char* const*)':
> /build/tbm/ctsim-4.5.2/tools/pj2if.cpp:133: undefined reference to 
> `Timer::timerEnd()'
> pjrec.o: In function `Timer':
> ../include/timer.h:52: undefined reference to `vtable for Timer'
> pjrec.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> pjrec.o: In function `pjrec_main(int, char* const*)':
> /build/tbm/ctsim-4.5.2/tools/pjrec.cpp:356: undefined reference to 
> `Timer::timerEnd()'
> pjrec.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> phm2helix.o: In function `Timer':
> ../include/timer.h:52: undefined reference to `vtable for Timer'
> phm2helix.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> phm2helix.o: In function `phm2helix_main(int, char* const*)':
> /build/tbm/ctsim-4.5.2/tools/phm2helix.cpp:320: undefined reference to 
> `Timer::timerEnd()'
> phm2helix.o: In function `~Timer':
> ../include/timer.h:55: undefined reference to `vtable for Timer'
> collect2: ld returned 1 exit status
> make[3]: *** [ctsimtext] Error 1


--- ./tools/timer.h~    2007-04-01 12:27:43.000000000 +0000
+++ ./tools/timer.h     2007-04-01 12:27:49.000000000 +0000
@@ -1,6 +1,7 @@
 #ifndef _TIMER_H
 #define _TIMER_H
 
+#pragma implementation "timer.h"
 #pragma interface "timer.h"
 
 #include <cstdlib>
--- ./include/timer.h~  2007-04-01 12:24:58.000000000 +0000
+++ ./include/timer.h   2007-04-01 12:27:24.000000000 +0000
@@ -30,6 +30,7 @@
 
 // pragma line required for Fedora 4 and wxWin 2.4.2 
 #if defined(__GNUG__) && !defined(__APPLE__)
+    #pragma implementation "timer.h"
     #pragma interface "timer.h"
 #endif
 

-- 
Martin Michlmayr
http://www.cyrius.com/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to