If you have trouble compiling SciGraphica, please read these FAQs and answers first. Version 0.02 Conrad Steenberg 7/2/2001 1.0 I can't compile SciGraphica, it seems really hard. A: Look around for binary packages for your distribution. We have posted binaries on http://sourceforge.net/projects/scigraphica/ for a number of different Linux distributions. It is also part of the Mandrake contrib section from version 8.0, with packages compiled by Mandrake staff. If you do decide to compile the package and you need help, please send us the file config.log created by running the configure command. 1.1 What packages do I need for _optimal_ usage/compilation of Scigraphica? A: gtk-1.2.8. including development packages, same goes for the rest of the packages listed. gtk+extra-0.99.12. (Optional) gnome-libs-1.2.8. python-1.5.2. It is unknown whether 2.0 works or not. By all accounts 2.0 should work fine. python-numpy, also called Numeric or Numeric Python, version 1.11 is known to work. Please send reports on success/failure with other versions. libreadline>=4.0. There is a bug in older versions that allows the user to press Ctrl-C, and kill the terminal. On SuSe this is supplied by the bash package. libtermcap, as required by libreadline. Including the -devel version of the package! 1.2 I can't compile Scigraphica. Configure ran fine, but I'm getting the following errors: Entering directory /home/user/tst/sg-0.6/zvt' gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I./.. -I../intl -I../intl -I/usr/local/include -I/usr/lib/glib/include -I/usr/X11R6/include -DGNOMESBINDIR=\""/usr/local/sbin"\" -g -O2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/lib/glib/include -I/usr/X11R6/include -DWITH_GNOME -c subshell.c subshell.c: In function ^Receive_fd': subshell.c:230: storage size of ^Recvfd' isn't known subshell.c:232: _RECVFD' undeclared (first use in this function) subshell.c:232: (Each undeclared identifier is reported only once subshell.c:232: for each function it appears in.) make[2]: *** [subshell.o] Error 1 A: You need to install all the packages listed under 1.1. Really, we mean that. Leaving out one of them is not an option. Especially leaving out gtk, gtk+extra, python or numeric python will make the compile fail. Seriously though, we know the configure process should pick up that one of these are not installed, it is especially flakey w.r.t. numeric python. If you have a better test for numeric python, PLEASE help us out. 1.3 My version of numeric python is installed under a different directory than the rest of my python installation. How can I make the compile process pick this up? A: Try setting the PYTHONPATH variable to your personal installation directory (the one named site-packages). E.g. for bash et al.: export PYTHONPATH=/home/user/lib/site-packages This is still untested at this stage. 1.4 How do I report compilation failures? A: Post your questions to the scigraphica-devel mailing list, including the output from make, as well as your config.log. This will enable us to get as much information as possible and get to the bottom of the matter quickly. The mailing list address is: scigraphica-devel@lists.sourceforge.net You don't have to be subscribed to the list to post messages. But it might be worthwile doing so if you have to compile SciGraphica yourself. 1.5 I've compiled a binary for my distribution. Where can I upload it so everybody can use it and save some time? A: You're a great person, we love you. Really. If there were more of you the world would be a better place. More practically, send us a message on the scigraphica-devel list, and we will gladly put the file up on the sourceforge project download page. Or you can upload the binary to ftp://upload.sourceforge.net/incoming and tell us the filename. Please include a concise description of your configuration that we can use as a release note. And do realise that we will direct any questions that we feel is caused by your binary to you. Or we may remove the binary from the download area. This sounds nasty and evil, but you would also like to know that the binaries you download are without problems, wouldn't you? Call it our quality control prerogative. 1.6 On SuSE, configuration fails with messages like: python/libpint.a(python_term.o): In function reate_child': /usr/src/sg-0.6.1/src/python/python_term.c:543: undefined reference to rl_reset_terminal' /usr/src/sg-0.6.1/src/python/python_term.c:544: undefined reference to rl_initialize' /usr/src/sg-0.6.1/src/python/python_term.c:545: undefined reference to rl_filename_completion_desired' /usr/src/sg-0.6.1/src/python/python_term.c:573: undefined reference to readline' /usr/src/sg-0.6.1/src/python/python_term.c:576: undefined reference to add_history' collect2: ld returned 1 exit status A: It seems that in SuSE 7, libtermcap is in a location that the linker is not set up to search. In the config.log file produced by configure, you will see a failure of the form: configure:2062: checking for tgoto in -ltermcap configure:2081: gcc -o conftest -g -O2 conftest.c -ltermcap 1>&5 /usr/i486-suse-linux/bin/ld: cannot find -ltermcap collect2: ld returned 1 exit status configure: failed program was: #line 2070 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char tgoto(); int main() { tgoto() ; return 0; } configure:2102: checking for readline in -lreadline configure:2121: gcc -o conftest -g -O2 conftest.c -lreadline 1>&5 /usr/lib/libreadline.so: undefined reference to `tgetnum' /usr/lib/libreadline.so: undefined reference to `tgoto' /usr/lib/libreadline.so: undefined reference to `tgetflag' etc... Put the location (/usr/lib/termcap) of your libtermcap.* files in /etc/ld.so.conf. 1.7 Q: On SuSe, the compile fails with e.g. /usr/i486-suse-linux/bin/ld: cannot find -ldb How do I correct this? A: Make sure you have the db-devel package installed 1.8 Q: On SuSe, the compile fails with e.g. /home/mark/temp/sg-0.7.0/src/python/python_term.c:547: undefined reference to rl_reset_terminal' /home/mark/temp/sg-0.7.0/src/python/python_term.c:548: undefined reference to rl_initialize' /home/mark/temp/sg-0.7.0/src/python/python_term.c:549: undefined reference to rl_filename_completion_desired '/home/mark/temp/sg-0.7.0/src/python/python_term.c:550: undefined reference to rl_insert' A: Make sure you have the termcap and bash development packages installed on your system. The rl_* symbols above are from the readline library which is part of the bash2.04 package 1.x Why does the FAQ end here? A: Because you haven't sent us your Qs and As yet! 2. Compilation on SuSe 7.x A reader on the scigraphica list wrote this about installation on SuSE 7.x: OK, here's what I had to do to get sga 0.7.0 to compile on a pine-fresh SuSE 7.1 box: How to compile SciGraphica 0.7.0 on SuSE 7.1 ============================================ These instructions may also work on 7.0 and 7.2. Then again they may not. They shouldn't be too far off anyway. If there are newer versions of packages give them a try but there may be problems with python I believe. Download: --------- sg-0.7.0 gtk+extra-0.99.15 Numeric-17.3.0 Distutils-1.0.1 Install from SuSE along with any dependencies they ask for (yast sections given in brackets): ------------------- (xdev)gtk-1.2.8 (xdev)gtk-devel-1.2.8 (a)termcap-2.0.8 (d)db-devel-3.1.17 (d)python-2.0 (d)python-devel-2.0 (d)pyhton-imaging-2.0 (d)libxml-1.8.10 (d)libxml-devel-1.8.10 (gra)imlib-1.9.8 (gra)imlib-devel-1.9.8 GNOME stuff if you want. Do: --- $ ln -s /usr/lib/libtermcap.so.2.0.8 /usr/lib/libtermcap.so to get the termcap libs working properly. Configure, make, install: ------------------------- gtk+extra Distutils Numeric sg Rejoice: -------- For Frinky looked upon the face of scigraphica and saw that it was good. Well, it at least compiled ;0). (Attribution removed by request of the author :-)