-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

All,

I've never built tcnative before, but I'm no stranger to the standard
UNIX source package build process. I'm having a bit of difficulty
building this.

I'm starting with the bin/tomcat-native.tar.gz that comes with Tomcat
5.5.26 which ends up being tcnative 1.1.12. The README file in that
package says to "see native/BUILDING" about building the native part of
the package. The path is actually jni/native/BUILDING. Just thought I'd
point that out.

A ./configure with no arguments can't find apr, so I had to tell it
where to find it (I'm using Gentoo Linux which has its own idea about
things, so I'm happy to track these things down). Next, I run:

./configure --with-apr=/usr/bin/apr-1-config

...and this is where things fall apart for me. Here's the output of
configure (apologies for any bad line wrapping):

$ ./configure --with-apr=/usr/bin/apr-1-config
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for working mkdir -p... yes
Tomcat Native Version: 1.1.12
checking for chosen layout... tcnative
checking for APR... yes
  setting CC to "i686-pc-linux-gnu-gcc"
  setting CPP to "i686-pc-linux-gnu-gcc -E"
checking for a BSD-compatible install... /usr/bin/install -c
checking for JDK location (please wait)...
/home/chris/.gentoo/java-config-2/current-user-vm from environment
checking Java platform... checking Java platform...
checking for sablevm... NONE
  adding "-I/home/chris/.gentoo/java-config-2/current-user-vm/include"
to TCNATIVE_PRIV_INCLUDES
checking os_type directory...  linux
  adding
"-I/home/chris/.gentoo/java-config-2/current-user-vm/include/linux" to
TCNATIVE_PRIV_INCLUDES
checking for gcc... i686-pc-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-linux-gnu-gcc accepts -g... yes
checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for OpenSSL library... using openssl from /usr/lib and /usr/include
checking OpenSSL library version... ok
checking for OpenSSL DSA support... yes
  setting TCNATIVE_LDFLAGS to "-lssl -lcrypto"
  adding "-DHAVE_OPENSSL" to CFLAGS
  setting TCNATIVE_LIBS to ""
  setting TCNATIVE_LIBS to " /usr/lib/libapr-1.la -luuid -lrt -lcrypt
- -lpthread -ldl"
./configure: line 4315: APR_BUILD_DIR: command not found
./configure: line 4316: APR_INCLUDES: command not found
./configure: line 4317: APR_LIBS: command not found
./configure: line 4318: APR_LIB_TARGET: command not found
./configure: line 4319: APR_SO_EXT: command not found
./configure: line 4320: BASH: command not found
./configure: line 4321: BASH_ARGC: command not found
./configure: line 4322: BASH_ARGV: command not found
./configure: line 4323: BASH_LINENO: command not found
./configure: line 4324: BASH_SOURCE: command not found
./configure: line 4325: BASH_VERSINFO: command not found
./configure: line 4326: BASH_VERSION: command not found
...

This is followed by hundreds of lines of "line xyz: [whatever]: command
not found". Not everything looks like an environment variable or make
variable:

...
./configure: line 4445: _: command not found
./configure: line 4446: abs_builddir: command not found
./configure: line 4447: abs_srcdir: command not found
./configure: line 4448: ac_abs_confdir: command not found
./configure: line 4449: ac_arg: command not found
./configure: line 4450: ac_aux_dir: command not found
./configure: line 4451: ac_build_alias: command not found
./configure: line 4452: ac_c_werror_flag: command not found
...

Then, in the middle of the complaints about unrecognized commands, I see:
...
./configure: line 4611: get_version: command not found
Usage: host [-aCdlriTwv] [-c class] [-N ndots] [-t type] [-W time]
            [-R number] [-m flag] hostname [server]
       -a is equivalent to -v -t ANY
       -c specifies query class for non-IN data
       -C compares SOA records on authoritative nameservers
       -d is equivalent to -v
       -l lists all hosts in a domain, using AXFR
       -i IP6.INT reverse lookups
       -N changes the number of dots allowed before root lookup is done
       -r disables recursive processing
       -R specifies number of retries for UDP packets
       -s a SERVFAIL response should stop query
       -t specifies the query type
       -T enables TCP/IP mode
       -v enables verbose output
       -w specifies to wait forever for a reply
       -W specifies how long to wait for a reply
       -4 use IPv4 query transport only
       -6 use IPv6 query transport only
       -m set memory debugging flag (trace|record|usage)
./configure: line 4613: host_alias: command not found
...

Then I see this:

...
./configure: line 4672: x_libraries: command not found
configure: creating ./config.status
config.status: creating tcnative.pc
config.status: creating Makefile
config.status: executing default commands
./configure: line 5371: APR_BUILD_DIR: command not found
...

and lots more "command not found" and usage information for the 'host'
command.

Since I saw the "creating Makefile" line, I took a chance and just ran
make, which appears to result in a series of static and shared libraries:

- -rw-r--r-- 1 chris users 1080268 May 18 10:31 .libs/libtcnative-1.a
- -rwxr-xr-x 1 chris users  761938 May 18 10:31
.libs/libtcnative-1.so.0.1.12

(plus all the symlinks, etc.)

Note that the version number looks wrong (file name says 0.1.12 and I
had expected 1.1.12).

So, technically, I suppose I didn't have any trouble building tcnative.
On the other hand, a reasonable person would have expected the output of
configure to mean that the configure had failed. Is all that output
really necessary?

I realize I'm using a /super/ old version of tcnative, as the oldest one
shown on http://tomcat.apache.org/native-doc/ is 1.1.13. Any reason not
to upgrade to the most recent version?

Thanks,
- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkoRdHgACgkQ9CaO5/Lv0PA+dACfR6KbgfQRtRMHBPDqxyFG58Ck
hRQAn1au62vI6rcxInCpR37wNFL/gUMY
=85Cs
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to