The building process fails to complete due to a missing header file, complex.h, see output appended below. The inclusion of complex.h occurs in types.h and log.c
Am I missing an external package? I'm only aware of a standard complex.h header file under the standard C++ library that since was depreciated with the introduction of gcc-3.x.
With many thanks in advance,
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DPACKAGE_DATA_DIR=\""/usr/pkg/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/pkg/share/locale"\" -DORBIT2=1 -pthread -I/usr/pkg/include/libgnomeui-2.0 -I/usr/pkg/include/libgnome-2.0 -I/usr/pkg/include/libgnomecanvas-2.0 -I/usr/pkg/include/gtk-2.0 -I/usr/pkg/include/libart-2.0 -I/usr/pkg/include/gconf/2 -I/usr/pkg/include/libbonoboui-2.0 -I/usr/pkg/include/glib/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/orbit-2.0 -I/usr/pkg/include/libbonobo-2.0 -I/usr/pkg/include/gnome-vfs-2.0 -I/usr/pkg/lib/gnome-vfs-2.0/include -I/usr/pkg/include/bonobo-activation-2.0 -I/usr/pkg/include/pango-1.0 -I/usr/pkg/include -I/usr/pkg/include/freetype2 -I/usr/pkg/lib/gtk-2.0/include -I/usr/pkg/include/atk-1.0 -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 -I/usr/pkg/include/libxml2 -I/usr/pkg/include/libgnomeprint-2.2 -I/usr/pkg/include/libart-2.0 -I/usr/pkg/include/glib/glib-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/libxml2 -I/usr/pkg/include/pango-1.0 -I/usr/pkg/include/libxml2 -g -O2 -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.c; \
then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi
In file included from global.h:27,
types.h:6:21: complex.h: No such file or directory
In file included from global.h:27,
types.h:20: error: parse error before "complex"
types.h:20: warning: no semicolon at end of struct or union
types.h:27: error: parse error before '}' token
types.h:27: warning: data definition has no type or storage class
types.h:29: error: parse error before '*' token
types.h:29: warning: data definition has no type or storage class
types.h:58: error: parse error before "chart_pt"
types.h:58: warning: no semicolon at end of struct or union
types.h:59: warning: data definition has no type or storage class
gmake: *** [main.o] Error 1
I have that file in /usr/include. I also checked where it came from, and in my Slackware distribution it is included in the glibc-2.3.2 package. (This seems to be in accordance with C99)
You are doing nothing more than the customary
I cannot make up from your query which version of glib you are using (or which distribution or compiler), but I suspect this to be a library installation problem.
many thanks for your prompt reply.
Find below my system information:
The older versions of gcc had a complex.h file in the /usr/include/g++ directory which has been renamed to complex - note the missing .h extension.
There is no complex.h anywhere else on my system. I'm surprised to see it missing if it is indeed part of C99. complex.h is marked broken for gcc-3.3 and hence this may be the reason why it isn't included in NetBSD.
Can you email me the complex.h header and the glibc library that you're currently using? Alternatively, if there is such a thing as a RPM, the RPM will be fine too.
Ok, I've got it. Just found and downloaded the current glibc development version. Will see what I can do to get things working...
Ok, Berndt. Let me know if you experience any problem. There are plenty of RPMs for the libc's...
I found that this seems to be a FreeBSD problem:
I thought everyone was using the standard GNU libraries. I'd appreciate knowing the source / version of the libs if you can get it to work, and I'll add a test for complex.h to the configure script.
Ok, its working now after applying a lot of hackery. I've isolated the missing complex number routines used by linsmith and copied them into the src directory, modified the corresponding Makefile.am and rebuild the Makefile.in in order to create a Makefile with these new files. I had to modify these files to suit, but this wasn't much of a problem.
Linsmith built cleanly and installed without any further problems. I've tested linsmith following the online tutorial and obtained the same result.
There is just one more thing I've yet to figure out. Linsmith shows the G1 circle but fails to display the actual smith chart, smith4.png, that resides in /usr/local/share/pixmap/linsmith. Any suggestions on this one? However it looks very promising.
I'm using glibc-2.3.3 library.
the smithchart finally showed-up after using anyone of the zoom functions. It appears to be, that the view isn't repainted after displaying the intro image. Not sure why, but its getting late now, 2:45am, and this will have to wait until later today to be investigated.
... You did move the cursor over the chart area, didn't you? That's the event that shows the chart the first time.
I really should warn users of that 'feature'... Either that or add a timer to make it appear solo.
yes I did. The chart isn't coming up when moving the mouse over the chart area after the intro. Only after using the zoom function.
Only explanation I have for that is that the window manager (which one?) you're using doesn't send the signal when the mouse enters the chart area. I'm using IceWM here.
it must send a signal alright since it displaces the intro splash screen when moving the mouse over it.
I'm using kdm for KDE-3.2.2 that otherwise seems to be working fine.
It's not a big issue since the work around is easy. For now I will be looking into solving the lack of support for complex number routines for platforms such as *BSD and possibly others.
I haven't come across this problem before as many applications that use complex numbers also facilitate external packages such as the fftw3 library etc.
Log in to post a comment.