What does "...mod_status.so: symbol __floatdisf: referenced symbol not found..." mean?

I currently have this question open on here:  http://www.experts-exchange.com/Web/Web_Servers/Apache/Q_21076413.html

I try to start Apache and I get this Error:

# ./apachectl start
Syntax error on line 255 of /global/lunadg/d01/app/apache2/2.0.50/conf/httpd.conf:
Cannot load /global/lunadg/d01/app/apache2/2.0.50/modules/mod_status.so into server: ld.so.1: /global/lunadg/d01/app/apache2/2.0.50/bin/httpd: fatal: relocation error: file /global/lunadg/d01/app/apache2/2.0.50/modules/mod_status.so: symbol __floatdisf: referenced symbol not found

When I remark this line in the httpd.conf file, the apache starts up.
LoadModule status_module modules/mod_status.so

I need some help on how to diagnose this error.


# uname -a
SunOS hostname 5.8 Generic_117350-02 sun4u sparc SUNW,Ultra-4

Thanks,
Troy


Thanks,
Troy
tdsimpsoAsked:
Who is Participating?
 
yuzhConnect With a Mentor Commented:
I have not used gcc3.4.1 to build a webserver myself. The last time I built a web server was 5 months
ago, using GUN gcc3.3.2 + zlib +_ libgcc + glib + openssl + libtool + libiconv +autoconf + automake +
flex + boson, then add MySQL, php ....etc.

You need to set PATH and LD_LIBRARY_PATH to use all the tools & libs in the packages.
then export PATH LD_LIBRARY_PATH

then run configure.

BTW, apache-2.0.50 binary package with ssl support is available in :
http://sunfreeware.com/

If you don't like the default installation, have a look at:
http://www.experts-exchange.com/Operating_Systems/Solaris/Q_21070104.html

0
 
tdsimpsoAuthor Commented:
I read a lot of these post but I don't really know what to do about it know.  Could you advise and help along to diagnose this?

I believe I need to statically link the libgcc.so.a.  How do I do that?

Thanks,
Troy
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
tdsimpsoAuthor Commented:
In the following configure command, what does "--enable-rule=SHARED_CORE" mean?

 ./configure \
 "--with-layout=Web" \
 "--enable-module=rewrite" \
 "--enable-module=ssl" \
 "--enable-module=proxy" \
 "--enable-shared=max" \
 "--enable-rule=SHARED_CORE"

0
 
tdsimpsoAuthor Commented:
Would I set

LDFLAGS="-G"?

Hmmm.  I a little bit confused.

Troy
0
 
jkrCommented:
Hmm, can you recompile Apache with Sun's C compiler?
0
 
tdsimpsoAuthor Commented:
I don't have Sun's C compiler.  
I am using gcc.

I changed LDFLAGS to:

luna@hostname>echo $LDFLAGS
/global/lunadg/d01/usr/gcc-3.4.1/lib/gcc/sparc-sun-solaris2.8/3.4.1/libgcc.a

Now I am getting this during the make process:

*** Warning: Linking the shared library mod_so.la against the
*** static library /global/lunadg/d01/usr/gcc-3.4.1/lib/gcc/sparc-sun-solaris2.8/3.4.1/libgcc.a is not portable!
ar: /global/lunadg/d01/usr/gcc-3.4.1/lib/gcc/sparc-sun-solaris2.8/3.4.1/libgcc.a is in archive format - embedded archives are not allowed
ar: /global/lunadg/d01/usr/gcc-3.4.1/lib/gcc/sparc-sun-solaris2.8/3.4.1/libgcc.a is in archive format - embedded archives are not allowed
make[3]: Leaving directory `/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/mappers'
make[2]: Leaving directory `/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/mappers'
make[1]: Leaving directory `/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules'
Making all in support
make[1]: Entering directory `/global/lunadg/d01/app/apache2/src/httpd-2.0.50/support'
make[2]: Entering directory `/global/lunadg/d01/app/apache2/src/httpd-2.0.50/support'
/global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr/libtool --silent --mode=compile /global/lunadg/d01/usr/gcc-3.4.1/bin/gcc  -g -O2 -pthreads    -DSOLARIS2=8 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -DAP_HAVE_DESIGNATED_INITIALIZER   -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr/include -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr-util/include -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr-util/xml/expat/lib -I. -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/os/unix -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/server/mpm/worker -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/http -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/filters -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/proxy -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/include -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/generators -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/server -I/global/lunadg/d01/app/openssl/0.9.7d/include/openssl -I/global/lunadg/d01/app/openssl/0.9.7d/include -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/dav/main -prefer-non-pic -static -c htpasswd.c && touch htpasswd.lo
/global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr/libtool --silent --mode=link /global/lunadg/d01/usr/gcc-3.4.1/bin/gcc  -g -O2 -pthreads    -DSOLARIS2=8 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -DAP_HAVE_DESIGNATED_INITIALIZER   -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr/include -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr-util/include -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr-util/xml/expat/lib -I. -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/os/unix -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/server/mpm/worker -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/http -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/filters -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/proxy -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/include -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/generators -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/server -I/global/lunadg/d01/app/openssl/0.9.7d/include/openssl -I/global/lunadg/d01/app/openssl/0.9.7d/include -I/global/lunadg/d01/app/apache2/src/httpd-2.0.50/modules/dav/main -export-dynamic -L/global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr-util/xml/expat/lib -L/global/lunadg/d01/app/openssl/0.9.7d/lib -R/global/lunadg/d01/app/openssl/0.9.7d/lib  /global/lunadg/d01/usr/gcc-3.4.1/lib/gcc/sparc-sun-solaris2.8/3.4.1/libgcc.a -o htpasswd  htpasswd.lo   -lssl -lcrypto /global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/pcre/libpcre.la /global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr-util/libaprutil-0.la /global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr-util/xml/expat/lib/libexpat.la -liconv /global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr/libapr-0.la -lsendfile -lrt -lm -lsocket -lnsl -lresolv -lpthread -ldl
ld: elf error: file /global/lunadg/d01/app/apache2/src/httpd-2.0.50/srclib/apr-util/.libs/libaprutil-0.a: elf_begin: Format error: archive fmag
ld: fatal: File processing errors. No output written to htpasswd
collect2: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/global/lunadg/d01/app/apache2/src/httpd-2.0.50/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/global/lunadg/d01/app/apache2/src/httpd-2.0.50/support'
make: *** [all-recursive] Error 1


Any ideas?
0
 
tdsimpsoAuthor Commented:
Oh, I found this:

http://archive.apache.org/gnats/10038

It says:

"...
There are a few possible solutions to this:
1) Rebuild gcc to use the gnu assembler from the gnu utils package.
2) Rebuild gcc to pass the proper implicit paths to the Solaris linker, specifically the path to libgcc.a
3) (Quick Workaround) Simply add the following output to your LDFLAGS variable before running configure:
`gcc -print-libgcc-file-name`
..."

This appears to be the same problem I am having, I just don't know how to go about fixing it.   :-(

Any ideas?

Troy
0
 
tdsimpsoAuthor Commented:
Oh, and I did number three and I got the error listed above.

export LDFLAGS=/global/lunadg/d01/usr/gcc-3.4.1/lib/gcc/sparc-sun-solaris2.8/3.4.1/libgcc.a

Troy
0
 
tdsimpsoAuthor Commented:
Here is something I found that might be helpful, but I can't make much sense of it.  Can any of you?

http://www.mail-archive.com/dev@httpd.apache.org/msg14563.html
0
 
tdsimpsoAuthor Commented:
0
 
ahoffmannConnect With a Mentor Commented:
set a propper LD_LIBRARY_PATH before starting httpd
it needs to contain a path to libgcc.a or libgcc.so

or go with yuzh's suggestion
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.