Slashdot Mirror


User: grubba

grubba's activity in the archive.

Stories
0
Comments
10
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 10

  1. Re:more general question on Alternatives to Autoconf? · · Score: 2, Informative

    autoconf has two purposes:

    • Retargeting the installation and configuring options (eg --prefix, --with-*).
    • Detection of the build environment (eg compiler, system calls, etc).

    Converting from a plain Makefile to configure.in+Makefile.in is straightforward if your Makefile already uses variables for binaries and directories.

    The main reason to use autoconf is the second point above; when you write code that uses system calls (eg read(2), write(2)) and not libc calls (eg fread(3C), fwrite(3C)), that differ between operating systems (eg BSD vs SysV vs POSIX), and need to detect which taste you have.

    To answer your questions: autoconf is something I hook in when:

    • the project is starting to get large,
    • when I've been bit by operating system incompatibilities,
    • or if I intend to release the code.
  2. Re:Solution to the Problem on Alternatives to Autoconf? · · Score: 5, Insightful

    So how do you portably detect which taste of system calls you have on the OS without autoconf, and without an explicit database OS <=> feature?

    eg:

    • Is your getservbyname_r OSF/1- or Solaris-style?
    • Does your getspnam_r take 4 or 5 arguments?
    • Does your struct hostent have the field h_addr_list?
    • Are you on a Linux system with a broken <shed.h>?

    All of the above are easily detectable with autoconf.

    I however agree with you that there's absolutely no need for automake.

  3. Re:Pike and Mac OS X on Pike Scripting Language · · Score: 1

    Pike 7.4 seems to compile and link fine on Darwin 6.3 according to Pikefarm.
    It also almost passes the testsuite, except for a 2 second sleep that slept 2.12 seconds (which may be due to load on the test machine).
    I don't know of any reason why it wouldn't work fine on Darwin 1.4.

  4. Re:Pike on Cygwin? on Pike Scripting Language · · Score: 1

    Most modules can be disabled by specifying --without-xxxx to configure. configure --help will list many of the supported flags. Some module specific options may however not be listed.

    rntcl is an abbreviation of Remote NT CL (cl is M$'s compiler). rntcl works by controlling an NT machine through sprsh (Simple Pike Remote SHell) from a Unix machine.

    Example:
    $ src/Pike/nt-tools/init_nt
    Using rc-file /home/grubba/.init_ntrc
    We are not Hubbe.
    NT kali $ uname -a
    Windows_NT kali 4.0 x86
    NT kali $ cd src/Pike/7.5/build/NT/
    NT kali $ ls -lF pike pike.exe
    -rwxr-xr-x 1 grubba grubba 315 Dec 27 12:01 pike*
    -rwxr--r-- 1 grubba grubba 6239657 Dec 27 12:01 pike.exe*
    NT kali $ cat pike
    #!/usr/local/bin/pike
    inherit "/home/grubba/src/Pike/nt-tools/tools/lib.pike";
    int main(int argc, array(string) argv) {
    if (lower_case(getenv("CROSSCOMPILING")||"no") != "no")
    exit(1);
    argv[0]=getenv("NTDRIVE")+fixpath(follow_symlinks( combine_path(getcwd(),argv[0]))+".exe");
    exit(silent_do_cmd(argv));
    }

    The sprsh system makes it possible to compile, link and run binaries on the remote NT system, but still have access to the full set of UNIX commands.

  5. Re:Pike on Cygwin? on Pike Scripting Language · · Score: 1

    True.

    The current status is:
    Successful builds on:

    • AIX/POWER
    • AIX/IA64
    • FreeBSD/IA32
    • HPUX/HPPA
    • IRIX/MIPS
    • Linux/Alpha
    • Linux/IA32
    • Linux/IA64
    • Linux/PPC
    • NetBSD/Sparc
    • Solaris 8/Sparc V8
    • Solaris 9/Sparc V9
    • WIN32/IA32
    • WIN64/IA64

    Failures were noted for the following reasons:

    • AIX: Breakage due to running out of memory on an old machine.
    • Darwin: Thread library has problems with spawning processes from multiple threads at once.
    • FreeBSD: mktime() is offset by 3600 seconds.
    • HPUX: Problem loading dynamic modules when compiled with cc.
    • IRIX: Problem building the GL module when compiling with cc.
    • Linux/IA64: The colortable fails to find all colors sometimes.
    • OSF/1: The Java module doesn't support calling native functions.
    • OSF/1: cc doesn't like the gmp library.
    • Solaris 9: The Java module runs out of memory.
    • WIN32: Problem loading dynamic modules.

    So I wouldn't say that it only works on Linux/IA32...

  6. Re:Pike on Cygwin? on Pike Scripting Language · · Score: 1

    Building Pike on Cygwin is not (yet) supported as can be seen in Pikefarm.

    Currently the only supported way of building Pike on WIN32/WIN64 systems is through rntcl.
    Hmm... It does however seem like nobody has released such a binary yet.

  7. Re:Gartuitous, annoying differences on Pike Scripting Language · · Score: 2, Informative

    The reason is historical. The static keyword was inherited from C at a time when there was a one class/file limitation in the compiler. The interpretation was then similar to the interpretation of static for global symbols in object files.


    NB: It wasn't until late 1996 there was a syntax in Pike for having multiple classes/file.

  8. REAL NETWORKS on IBM Exec Says no Large Web Servers on Linux · · Score: 1

    Apache? Not quite...
    internal-roxen-roxen gives a hint...

  9. 1Mhit/day is no big deal on IBM Exec Says no Large Web Servers on Linux · · Score: 1
    These are some stats (as of 1999-01-25) from one typical front-end (Linux 2.0.36/x86) to a rather large site:
    Version: Roxen Challenger/1.2.34
    Booted on: Sat Nov 28 10:46:31 1998
    Time to boot: 1 sec
    Uptime: 58 days, 10:38:27

    Sent data: 130.26 GB 216.40 Kbit/sec
    Sent headers: 18.92 GB
    Number of requests: 100185573 1190.40/min
    Received data: 31.78 GB
    1190.4*60*24 == 1714176 hits/day

    Note that the above is the average over a ~2 month period (ie peek values are much higher).

    Of course, I wouldn't want to run the above server with Apache or similar. :-)

  10. Nice web server ... on Linux at Vienna Exponet · · Score: 1

    Some version of Roxen 1.2 I assume.
    BTW, see mvc-009f.jpg.