pike.git / src / README

version» Context lines:

pike.git/src/README:1:   This is what you need to do to install Pike:      1) Run ./configure, this is a sh script that will generate machine.h and    Makefile from machine.h.in and Makefile.in.       Some options for ./configure are:    --prefix=/foo/bar if you want to install Pike in /foo/bar,    default is /usr/local.    --without-gdbm compile without gdbm support    --without-gmp compile without gmp support -  --without-debug compile without runtime debugging -  --without-threads compile without threads support +  --without-rtldebug compile without runtime debugging +  --without-cdebug compile without debug symbols (-g) +  --without-debug compile without rtldbug and cdebug +  --without-threads compile without threads support (See below)    --without-zlib compile without gzip compression libary support    --without-dynamic-modules compile statically, no dynamic loading used.    (makes binary larger)    --without-mysql compile without mysql support    --with-profiling enables profiling pike code but slows    down interpreter a little -  +  --with-poll use poll instead of select +  --with-dmalloc compile with memory tracking, makes pike +  very slow, use for debugging only. +  --without-copt compile without -O2 +  --without-bignums disable support for large integers +  --with-security enable internal object security system       You might also want to set the following environment variables:    CFLAGS Put extra flags for your C compiler here.    CPPFLAGS Put extra flags for your C preprocessor here    (such as -I/usr/gnu/include)    LDFLAGS Put extra flags to your linker here, such as -L/usr/gnu/lib    and -R/usr/gnu/lib       Use the above flags to make sure the configure script finds the    gdbm and gmp libraries and include files if you need or want those
pike.git/src/README:41:    as it should (might be a good idea) This will take a little time    and use quite a lot of memory, because the testprogram is quite    large. If everything works out fine no extra messages are written.      5) If you want to install Pike, write 'make install'      6) Optionally do 'make html_docs' to create a directory called docs which    will contain the Pike documentation in html. This directory can then    be copied to anywhere you want.    - What to do when it doesn't work: - 1) Try again. + IF IT DOESN'T WORK:    - 2) Your sh might be too buggy to run ./configure. (This is the case on A/UX) +  o Try again. +  +  o Your sh might be too buggy to run ./configure. (This is the case on A/UX)    Try using bash, zsh or possibly ksh. To use bash, first run /bin/sh and    type:    $ CONFIG_SHELL=full_path_for_bash    $ export CONFIG_SHELL    $ $CONFIG_SHELL ./configure    - 3) ./configure relies heavily on sed, if you have several sed in your path +  o ./configure relies heavily on sed, if you have several sed in your path    try another sed. (preferably gnu sed)    - 4) configure might have done something wrong, check machine.h and report +  o configure might have done something wrong, check machine.h and report    any errors back to me.    - 5) Your gmp/gdbm libraries might not be working or incorrectly +  o Your gmp/gdbm libraries might not be working or incorrectly    installed, start over by running configure with the approperiate    --without-xxx arguments. Also note that threads might give problems    with I/O and signals. If so you need to run configure --without-threads.    - 6) Try a different compiler, malloc, compiler-compiler and/or make. +  o Try a different compiler, malloc, compiler-compiler and/or make.    (if you have any other)    - 7) On old Linux Slackware machines (older than slackware 3.0), Pike sometimes -  fails to find -lm, this is because of a bug in /usr/lib/libm.sa -  (or possibly libg.a) in slackware. -  Compile with 'make EXTRALIBS="-lc -lm"' to get around this bug. +     -  Threads support on linux works on some releaes, you might need to add -  an _ to line 36 in /usr/include/sched.h (change _P to __P). +     - 8) + THREADS SUPPORT +  + Getting threads support might be hairy on some platforms, most platforms + have threads support but quite a few have problems running external + processes. (through create_process) By default thread support is disabled + on platforms where threading is known not to work 100% properly. +  + IRIX: starting many processes causes an error causes a resource +  error which sometimes causes a complete hang and 100% cpu +  usage. +  + FreeBSD 3.x: Symptoms are similar to IRIX, but the problem has +  something to do with signal handling. (And as you may know, +  process handling uses signals on UNIX...) +  + Linux: Not all linux variations have 100% working threads, in +  fact most libc5 systems do not work very well threads. +  Threads support is enabled by default on Linux, but I +  recommend running 'make verify' after compilation. This +  will (hopefully) tell you if your threads are not working. +  +  + BUGS +    If you find a bug in the interpreter, the first thing to do is to make sure   the interpreter is compiled with PIKE_DEBUG defined. If not recompile with PIKE_DEBUG   and see if you get another error. When you've done this, please report the   bug to hubbe@hubbe.net and include as much as you can muster of the   following:       o The version of the driver. (Try pike --version or look in src/version.c)    o What kind of system hardware/software you use (OS, compiler, etc.)    o the piece of code that crashes or bugs.    (preferably in a very small pike-script with the bug isolated)    Please send a complete running example of something that makes the    interpreter bug.    o a description of what it is that bugs and when.    o if you know how then also give me a backtrace and dump of vital variables    at the point of crash.    o or, if you found the error and corrected it, just send me the bugfix along    with a description of what you did and why.       /Fredrik Hubinette