Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo
I've had a couple of issues building this on SuSE 11.1 (x86_64). Hopefully this information will be useful to others, but for the remaining problem I'd appreciate any advice.
The supplied linux-x86_64.mk file won't work, I had to make the following changes:
F77 = gfortran
F77DEPS = -lgfortran
XBIN = /usr/X11R6/lib64
SuSE's tk-devel package doesn't have tkCanvas.h, the absence of which prevents staden from building. I'm sure this is a SuSE problem. I solved it by taking tkCanvas.h from the source distribution of tk 8.5.6.
The function pipe2() in src/io_lib/utils/compress.c clashes with a function of the same name in unistd.h. To solve this, I renamed all instances of the function to pipe2x() in src/io_lib/include/compress.h, src/io_lib/utils/compress.c and src/io_lib/utils/compress.h.
The libz build caused linking problems later down the line, so I modified libz's Makefile, adding -fPIC to the CFLAGS definition:
CFLAGS=-O3 -DUSE_MMAP -fPIC
During the last part of the build, the documentation fails to completely build as a file is missing:
make: Entering directory `/home/liam/staden-src-1-7-0/doc/manual'
m4 -Uunix -D_unix -D_tex < manual.texi > manual_unix.texinfo
m4:manpages-t.texi:79: cannot open `init_tar.1.texi': No such file or directory
make: *** [manual_unix.texinfo] Error 1
This problem I haven't solved yet. Does anyone know where to find this file?
If the build process could be amended to allow the native versions of Tcl/Tk, libpng, libz etc to be used I'd be very grateful. I've tried to unpick it all so that the already installed ones aren't used but haven't been able to do so. As staden requires LD_LIBRARY_PATH to be set (IMHO something that should only be used for debugging new libraries), this can cause problems for other binaries which pick up staden's libraries.
Anyway, I'm not complaining! The developers' efforts are much appreciated.
Just a follow up, having done some more work with Staden. I managed to complete the build by omitting the docs and course targets. However then I found that the 'make distunix' process failed miserably, and although I think all the binaries built, they don't end all end up in the distrib directory.
I had to download the binary 1.7.1b distribution (which doesn't work for me - lib dependency hell) and use it as a template for building the destination directories by hand.
But in the end, one of the main tools our users wish to use, gap4, still doesn't work, none of the menus respond to the mouse. libiwidgets doesn't build, and gap4 complains about this, so I suppose that's the problem. My efforts to build it according to the README.build instructions have failed :-(
I think there's a bug where if some of the directories don't already exist then it all goes to hell in a hand basket. Specifically there seems to be 1 or 2 places where I do cp file directory, which creates a new file named directory instead a new file *in* the directory.
If I could spend the time getting this streamlined then I'd probably be more inclined to create more regular releases. My apologies for this. First and foremost though I need to fix whatever incompatibility I have with newer versions of Tk. That's one of the main reasons I cannot just trust whatever the system has installed. Until then it's going to suffer as a nightmare to build unfortunately.