Forum OpenACS Development: Re: Error installing tcl 8.4x (how to solve)

Collapse
Posted by Tom Jackson on

I always write a file called my-configure so I can remember what I did. For tDOM, I use this:

#!/bin/bash

../configure --enable-threads \
        --enable-shared \
        --enable-dtd \
        --enable-ns \
        --disable-unknown \
        --disable-tdomalloc \
        --with-tcl=/web/nsd45/lib \
        --with-aolserver=/web/nsd45

From the unix subdirectory.

For some reason configure is in the parent directory but you have to run it from the unix directory. But the build appears to be 64 bit:

/web/nsd45/lib/tdom0.8.1 $ file libtdom0.8.1.so
libtdom0.8.1.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped

So maybe it picks up the 64bit from Tcl? Here is my tcl my-configure:

#!/bin/bash

./configure --prefix=/web/nsd45 \
  --enable-64bit \
  --enable-threads \
  --enable-shared

This is also run from the unix directory, but configure is in the unix directory in this case.

AOLserver has this my-configure:

#!/bin/bash

./configure --prefix=/web/nsd45 \
  --with-tcl=/web/nsd45/lib \
  --enable-threads \
  --enable-shared \
  --enable-debug \
  --enable-symbols

And my nsd is 64bit:

/web/nsd45/bin $ file nsd
nsd: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
Collapse
Posted by Gustaf Neumann on
To remember how a tcl component was configured: Check out e.g. tdom/unix/config.log it contains at the top the last configure command.

To address the "maybe": check out /web/nsd45/lib/tclConfig.sh which contains most likely the 64bit flags.

Collapse
Posted by Tom Jackson on
Yes tdom/unix/config.log does contain the last command line, but it isn't general. Tcl puts it in config.status, not in config.log I also copy the file around when I update to a new version, so a separate file helps me find what I did last.

I compiled Tcl with --enable-64bit as shown above. In AOLserver I don't see any 64bit flags (tcl cc is gcc -pipe) and config.log doesn't seem to do any checking, but the arch is x86_64. Whatever the reason, I didn't need to put the --enable-64bit option when doing configure for tDOM or AOLserver.