----------------------------------------------------------------
BEFORE YOU POST, search the faq at <http://java.apache.org/faq/>
WHEN YOU POST, include all relevant version numbers, log files,
and configuration files.  Don't make us guess your problem!!!
----------------------------------------------------------------

O.K. I now know what went wrong. Building a jserv DSO
requires GNU ld version 2.9x.x. I had gcc/ld version
2.8.1 on my solaris. I spent a fair bit of time
on this.

I went back to the readme, install files to see if
I missed reading something that states this
requirement. No, I didn't missing anything that was
documented. The requirement states that "(GCC version
2.7.2 is fine) or the EGCS C compiler".

What happens is that, when you run configure, it spits
out a lot of information on the stdout. If the GNU ld
version is anything less that 2.9.1, it outputs a
message saying something to the effect "building DSO
needs a more recent version of ld. Since you don't
have it, shared object setting is turned off." Mind
you, things scroll by faster. If you don't save this
output to a file, you won't realize that there was a
problem. The tail end of the configuration output
indicates that everything was generated/configured
O.K.

Thinking the configuration was fine, you now proceed
with with make and make install. You now have
mod_jserv.so file in libexec directory. Everything
looks good and smooth sailing. But, I didn't realize
that the make process simply created a .a file and
copied it to the libexec folder as a .so file. Only
when jserv failed work as expected, I started digging
the logs that I had captured. From these logs it was
clear that .a was copied as .so. I took me sometime
to trace it back to the configuration processes.

Granted, I should have noticed the few lines that
scrolled by fast during the configuration processes
indicating the problem. I do think that the configure
script should have told me that I asked for DSO and
that couldn't be done because of an older 'ld'
present on the system. It should have also told me
my options were to upgrade my GNU ld, or use the
solaris (vendor) ld or generate a non-DSO version of
jserv and aborted the configuration process.

It was also plain wrong to simply copy a .a file
as a .so file.

According to an earlier poster, a guestimated 100,000
users have successfully downloaded and build jserv.
It is not the software's fault if I am having
trouble doing it. Right? ;-)
--jk

(Don't get me wrong, I am thrilled about using jserv.
I know I am getting it all for free, all the great
work by great people. I don't mind having glitches
like these. I know they get ironed out quickly with
the community participation.)

> > I hope I am not the only one having this strange
> > problem. Please read on and let me know if you
> have
> > any ideas. Thanks. (I am resending this hoping
> that
> > someone will have an answer.)
> > --jk
> > 
> > > 
> > > I am trying to build jserv 1.1.2 on a solaris
> box.
> > > The mod_jserv.so file generated by the make file
> > > is not a valid .so file. Doing the 'file'
> command
> > > on this gives me the following:
> > > 
> > > mod_jserv.so: current ar archive, not a dynamic
> > >    executable or shared object
> > > 
> > > Because of this, this module fails to load in
> > > Apache.
> > > 
> > > Configuration information:
> > > ---------------------------
> > > uname -a gives the following:
> > > SunOS xxxxx 5.6 Generic_105181-19 sun4u sparc
> > > SUNW,Ultra-5_10
> > > 
> > > GNU ld version 2.8.1. (Not sure if this has
> anything
> > > to do with this problem)
> > > 
> > > Apache is configured for full DSO support and
> all
> > > of its modules look O.K.
> > > 
> > > Here is how I am running 'configure' for jserv:
> > > 
> > > ../configure \
> > > --prefix=$HOME/local/jserv \
> > > --with-apxs=$HOME/local/apache/bin/apxs \
> > > --with-jdk-home=$JAVA_HOME \
> > > --with-java=$JAVA_HOME/bin/java \
> > > --with-javac=$JAVA_HOME/bin/javac \
> > > --with-javadoc=$JAVA_HOME/bin/javadoc \
> > > --with-jar=$JAVA_HOME/bin/jar \
> > > --enable-debugging \
> > > --enable-shared \
> > > --enable-EAPI \
> > > --with-JSDK=$HOME/jsdk/lib/jsdk.jar
> > > 
> > > What am I doing wrong or missing here? How do I
> > > generate a valid shared object?
> > > 
> > > Thanks
> > > --jk


__________________________________________________
Do You Yahoo!?
Get Yahoo! Mail - Free email you can access from anywhere!
http://mail.yahoo.com/


--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://java.apache.org/main/mail.html>
Problems?:           [EMAIL PROTECTED]

Reply via email to