Hi,
I tried to compile staden from scratch and have hit a
problem:
src # make -f Makefile.thirdparty
[...]
gzip -cd libpng-1.2.7.tar.gz | tar xf -
ln -s libpng-1.2.7 libpng
touch libpng-1.2.7/.unpacked
(cd libpng-1.2.7; make -f scripts/makefile.gcc clean)
make[1]: Entering directory
`/usr/local/staden-src-1-6-0/src/libpng-1.2.7'
rm -f *.o libpng.a pngtest pngout.png
make[1]: Leaving directory
`/usr/local/staden-src-1-6-0/src/libpng-1.2.7'
cd libpng-1.2.7; \
make -f scripts/makefile.gcc
ZLIBINC=../zlib-1.2.2 ZLIBLIB=../zlib-1.2.2
make[1]: Entering directory
`/usr/local/staden-src-1-6-0/src/libpng-1.2.7'
gcc -I../zlib-1.2.2 -Wall -O2 -c -o png.o png.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngerror.o pngerror.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngget.o pngget.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngmem.o pngmem.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngpread.o pngpread.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngread.o pngread.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngrio.o pngrio.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngrtran.o pngrtran.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngrutil.o pngrutil.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngset.o pngset.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngtrans.o pngtrans.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngwio.o pngwio.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngwrite.o pngwrite.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngwtran.o pngwtran.c
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngwutil.o pngwutil.c
ar rcs libpng.a png.o pngerror.o pngget.o pngmem.o
pngpread.o pngread.o pngrio.o pngrtran.o pngrutil.o
pngset.o pngtrans.o pngwio.o pngwrite.o pngwtran.o
pngwutil.o
ranlib libpng.a
gcc -I../zlib-1.2.2 -Wall -O2 -c -o pngtest.o pngtest.c
gcc -o pngtest pngtest.o -L. -L../zlib-1.2.2 -lpng -lz
-lm -s
make[1]: Leaving directory
`/usr/local/staden-src-1-6-0/src/libpng-1.2.7'
touch libpng-1.2.7/.built-
cp -R libpng-1.2.7/libpng12.so* lib/-binaries
cp: cannot stat `libpng-1.2.7/libpng12.so*': No such
file or directory
make: *** [lib/-binaries/.png] Error 1
src#
Please note I have the static library instead of
dynamic one.
Logged In: YES
user_id=154581
Originator: NO
The missing machine type in "cp -R libpng-1.2.7/libpng12.so* lib/-binaries" (/-binaries ?) suggests that you haven't set your MACHINE environment variable. This is done by staden.login or staden.profile, so try setting STADENROOT and sourcing the appropriate login setup for your shell first. The Makefile.thirdparty uses this to work out which makefile stub to use for libpng as I recall.
Logged In: NO
Hi James,
thank you for your answer. It is a pitty the Makefile requires the headers and libs to be installed locally. Could that be made a bit more robust to pick up also headers from /usr/include and libs from /usr/lib at least, if not also from /usr/local prefix?
$ make 2>&1 | tee make.out
cd src; make all
make[1]: Entering directory `/home/mmokrejs/bioinformatics/software/staden/staden-src-1-7-0/src'
Makefile:75: warning: overriding commands for target `clean'
mk/global.mk:256: warning: ignoring old commands for target `clean'
Makefile:90: warning: overriding commands for target `depend'
mk/global.mk:515: warning: ignoring old commands for target `depend'
Makefile:144: warning: overriding commands for target `distsrc'
mk/global.mk:494: warning: ignoring old commands for target `distsrc'
cd Misc && make -w all
make[2]: Entering directory `/home/mmokrejs/bioinformatics/software/staden/staden-src-1-7-0/src/Misc'
touch linux-binaries/.dir
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/crash.o -c crash.c
linux-binaries/crash.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/date.o -c date.c
linux-binaries/date.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/filenames.o -c filenames.c
linux-binaries/filenames.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/files.o -c files.c
linux-binaries/files.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/find.o -c find.c
linux-binaries/find.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/shell.o -c shell.c
linux-binaries/shell.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/strings.o -c strings.c
linux-binaries/strings.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/usleep.o -c usleep.c
linux-binaries/usleep.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/error.o -c error.c
linux-binaries/error.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/xerror.o -c xerror.c
linux-binaries/xerror.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/xalloc.o -c xalloc.c
linux-binaries/xalloc.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/vlen.o -c vlen.c
linux-binaries/vlen.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/FtoC.o -c FtoC.c
linux-binaries/FtoC.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/getfile.o -c getfile.c
linux-binaries/getfile.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/bitmap.o -c bitmap.c
linux-binaries/bitmap.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/array.o -c array.c
linux-binaries/array.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/locks.o -c locks.c
linux-binaries/locks.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/array_arith.o -c array_arith.c
linux-binaries/array_arith.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/parse_db.o -c parse_db.c
linux-binaries/parse_db.o
gcc -g -DUSE_NON_CONST -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -o linux-binaries/dstring.o -c dstring.c
linux-binaries/dstring.o
touch ../lib/linux-binaries/.dir
cc -L../lib/linux-binaries -shared -o ../lib/linux-binaries/libmisc.so linux-binaries/crash.o linux-binaries/date.o linux-binaries/filenames.o linux-binaries/files.o linux-binaries/find.o linux-binaries/shell.o linux-binaries/strings.o linux-binaries/usleep.o linux-binaries/error.o linux-binaries/xerror.o linux-binaries/xalloc.o linux-binaries/vlen.o linux-binaries/FtoC.o linux-binaries/getfile.o linux-binaries/bitmap.o linux-binaries/array.o linux-binaries/locks.o linux-binaries/array_arith.o linux-binaries/parse_db.o linux-binaries/dstring.o -lm
make[2]: Leaving directory `/home/mmokrejs/bioinformatics/software/staden/staden-src-1-7-0/src/Misc'
cd io_lib && make -w all
make[2]: Entering directory `/home/mmokrejs/bioinformatics/software/staden/staden-src-1-7-0/src/io_lib'
Makefile:172: warning: overriding commands for target `distsrc'
../mk/global.mk:494: warning: ignoring old commands for target `distsrc'
Makefile:202: warning: overriding commands for target `depend'
../mk/global.mk:515: warning: ignoring old commands for target `depend'
cd include; \ for i in abi alf ctf exp_file plain read scf sff utils ztr; \ do \ ln -s ../$i/*.h .;\ done
touch include/.links
make[2]: [read/linux-binaries/.dir] Error 1 (ignored)
touch read/linux-binaries/.dir
make[2]: [utils/linux-binaries/.dir] Error 1 (ignored)
touch utils/linux-binaries/.dir
make[2]: [abi/linux-binaries/.dir] Error 1 (ignored)
touch abi/linux-binaries/.dir
make[2]: [alf/linux-binaries/.dir] Error 1 (ignored)
touch alf/linux-binaries/.dir
make[2]: [ctf/linux-binaries/.dir] Error 1 (ignored)
touch ctf/linux-binaries/.dir
make[2]: [exp_file/linux-binaries/.dir] Error 1 (ignored)
touch exp_file/linux-binaries/.dir
make[2]: [plain/linux-binaries/.dir] Error 1 (ignored)
touch plain/linux-binaries/.dir
make[2]: [progs/linux-binaries/.dir] Error 1 (ignored)
touch progs/linux-binaries/.dir
make[2]: [scf/linux-binaries/.dir] Error 1 (ignored)
touch scf/linux-binaries/.dir
make[2]: [ztr/linux-binaries/.dir] Error 1 (ignored)
touch ztr/linux-binaries/.dir
touch sff/linux-binaries/.dir
make[2]: [read/linux-binaries/Read.o] Error 1 (ignored)
gcc -g -DUSE_NON_CONST -DIOLIB_SCF -DIOLIB_EXP -DIOLIB_PLN -DIOLIB_ABI -DIOLIB_ALF -DIOLIB_CTF -DIOLIB_ZTR -DIOLIB_SFF -Iinclude -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -I../zlib -DHAVE_LIBCURL -o read/linux-binaries/Read.o -c read/linux-binaries/../Read.c
read/linux-binaries/Read.o
make[2]: [read/linux-binaries/translate.o] Error 1 (ignored)
gcc -g -DUSE_NON_CONST -DIOLIB_SCF -DIOLIB_EXP -DIOLIB_PLN -DIOLIB_ABI -DIOLIB_ALF -DIOLIB_CTF -DIOLIB_ZTR -DIOLIB_SFF -Iinclude -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -I../zlib -DHAVE_LIBCURL -o read/linux-binaries/translate.o -c read/linux-binaries/../translate.c
read/linux-binaries/translate.o
make[2]: [read/linux-binaries/scf_extras.o] Error 1 (ignored)
gcc -g -DUSE_NON_CONST -DIOLIB_SCF -DIOLIB_EXP -DIOLIB_PLN -DIOLIB_ABI -DIOLIB_ALF -DIOLIB_CTF -DIOLIB_ZTR -DIOLIB_SFF -Iinclude -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -I../zlib -DHAVE_LIBCURL -o read/linux-binaries/scf_extras.o -c read/linux-binaries/../scf_extras.c
read/linux-binaries/scf_extras.o
make[2]: [utils/linux-binaries/find.o] Error 1 (ignored)
gcc -g -DUSE_NON_CONST -DIOLIB_SCF -DIOLIB_EXP -DIOLIB_PLN -DIOLIB_ABI -DIOLIB_ALF -DIOLIB_CTF -DIOLIB_ZTR -DIOLIB_SFF -Iinclude -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -I../zlib -DHAVE_LIBCURL -o utils/linux-binaries/find.o -c utils/linux-binaries/../find.c
utils/linux-binaries/find.o
make[2]: [utils/linux-binaries/mach-io.o] Error 1 (ignored)
gcc -g -DUSE_NON_CONST -DIOLIB_SCF -DIOLIB_EXP -DIOLIB_PLN -DIOLIB_ABI -DIOLIB_ALF -DIOLIB_CTF -DIOLIB_ZTR -DIOLIB_SFF -Iinclude -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -I../zlib -DHAVE_LIBCURL -o utils/linux-binaries/mach-io.o -c utils/linux-binaries/../mach-io.c
utils/linux-binaries/mach-io.o
make[2]: [utils/linux-binaries/traceType.o] Error 1 (ignored)
gcc -g -DUSE_NON_CONST -DIOLIB_SCF -DIOLIB_EXP -DIOLIB_PLN -DIOLIB_ABI -DIOLIB_ALF -DIOLIB_CTF -DIOLIB_ZTR -DIOLIB_SFF -Iinclude -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -I../zlib -DHAVE_LIBCURL -o utils/linux-binaries/traceType.o -c utils/linux-binaries/../traceType.c
utils/linux-binaries/traceType.o
make[2]: [utils/linux-binaries/read_alloc.o] Error 1 (ignored)
gcc -g -DUSE_NON_CONST -DIOLIB_SCF -DIOLIB_EXP -DIOLIB_PLN -DIOLIB_ABI -DIOLIB_ALF -DIOLIB_CTF -DIOLIB_ZTR -DIOLIB_SFF -Iinclude -I. -I../Misc -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wformat -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -fpic -I../zlib -DHAVE_LIBCURL -o utils/linux-binaries/read_alloc.o -c utils/linux-binaries/../read_alloc.c
utils/linux-binaries/read_alloc.o
make[2]: *** No rule to make target `../zlib/zlib.h', needed by `utils/linux-binaries/compress.o'. Stop.
make[2]: Leaving directory `/home/mmokrejs/bioinformatics/software/staden/staden-src-1-7-0/src/io_lib'
make[1]: *** [io_lib] Error 2
For inspiration why people rather use binary package see http://bugs.gentoo.org/show_bug.cgi?id=120446 ;-)
staden-src-1-7-0.patch
Hi James,
I am trying to compile staden-1.7.0 from scratch on my linux box. My intent is to rip-out the necessity to compile under the staden tree all the third-party libs.
I believe there are some old values forgotten in the Makefiles:
I see existing ./src/tk8.4.0/generic/tkInt.h but src/Makefile refers to tk8.4.6.
There is a missing file doc/manual/init_tar.1.texi called by doc/manual/manpages-t.texi:
m4:manpages-t.texi:79: cannot open `init_tar.1.texi': No such file or directory
The staden.login and staden.profile set STADENROOT_1_6 variable. Shouldn't that be changed for 1.7 version?
I will attach a patch for all my changes. In the end I did manage to get it compiled from sources using system-wide installed 3rd party libs. However, stash is dumping core on my system, maybe because I have Tcl/Tk 8.4.0 or because of io_lib-1.11.6.1?
Note to others who would like to jump in here are some useful commands:
$ SRCROOT=`pwd` STADENROOT=/usr/local/staden MACHINE=linux make clean
$ SRCROOT=`pwd` STADENROOT=/usr/local/staden MACHINE=linux make depend
$ SRCROOT=`pwd` STADENROOT=/usr/local/staden MACHINE=linux make
File Added: staden-src-1-7-0.patch