You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by "Huang, Jinhui (OST)" <Ji...@dot.gov> on 2016/05/02 15:36:16 UTC

RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Hi, Rainer:

I searched online to find the OpenSSL version supported by Apache 2.4.20. It should be openssl-1.0.2g. I installed this version and then tried to install Apache again. It failed with same error message. 

Searching the error (ld: fatal: relocations remain against allocatable but non-writable sections) again, I am now trying to compile the apache source with "-fPIC" option. Hoping this will make a difference.
	export CC="gcc -m64 -fPIC"

Do I need to recompile/build the PCRE and OpenSSL using the same gcc option?

Jin


-----Original Message-----
From: Huang, Jinhui (OST) 
Sent: Friday, April 29, 2016 11:18 AM
To: Rainer Jung; users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

The error seems related to my OpenSSL.  On this server, I have two versions of OpenSSL. I am trying to use the one at /usr/local/ssl/ (OpenSSL 1.0.1s ). 
Is this version supported for Apache 2.4.20?

==================================================
# which openssl
/usr/sfw/bin/openssl

# openssl version
OpenSSL 0.9.7d 17 Mar 2004 (+ security fixes for: CVE-2005-2969 CVE-2006-2937 CVE-2006-2940 CVE-2006-3738 CVE-2006-4339 CVE-2006-4343 CVE-2006-7250 CVE-2007-5135 CVE-2007-3108 CVE-2008-5077 CVE-2008-7270 CVE-2009-0590 CVE-2009-2409 CVE-2009-3555 CVE-2010-4180 CVE-2011-4576 CVE-2011-4619 CVE-2012-0884 CVE-2012-1165 CVE-2012-2110 CVE-2012-2131 CVE-2012-2333 CVE-2013-0166 CVE-2013-0169 CVE-2014-0224 CVE-2014-3508 CVE-2014-3511 CVE-2014-3566 CVE-2014-3567 CVE-2014-3568 CVE-2014-3569 CVE-2014-3570 CVE-2014-8275 CVE-2015-0204 CVE-2015-0286 CVE-2015-0287 CVE-2015-0288 CVE-2015-0289 CVE-2015-0292 CVE-2015-0293 CVE-2015-1789 CVE-2015-1790 CVE-2015-4000)

# /usr/local/ssl/bin/openssl version
OpenSSL 1.0.1s  1 Mar 2016
==================================================


-----Original Message-----
From: Huang, Jinhui (OST)
Sent: Friday, April 29, 2016 10:20 AM
To: Rainer Jung; users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Hi, Rainer:

The following is the new error I received when I try to install Apache 2.4.20 again, using new PCRE 8.38. I have added a shortened screen capture (zptpt-20160428e-short.txt) as attachment. The original file is about 4.4 MB. In this short version, 45650 lines of make output have been deleted. Please let me know if you need the completed output.

=======================================
# pwd
/usr/local/apache2/install/httpd-2.4.20

# env
CC=gcc -m64
HOME=/
HZ=
LOGNAME=root
MAIL=/var/mail/root
PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/xpg4/bin:/usr/ccs/bin:/usr/ucb:/usr/dt/bin:/usr/openwin/bin:/usr/local/bin:/usr/local/sbin:/usr/platform/sun4u/sbin:/opt/VRTS/bin:/opt/VRTSob/bin:/etc/vx/bin:/usr/lib/vxvm/bin:/usr/sfw/bin:/var/tmp/tomcat/apache-ant-1.6.5/bin:/usr/local/apache2/bin:/usr/lib
PWD=/usr/local/apache2/install/pcre-8.38
SHELL=/sbin/sh
TERM=xterm
TZ=US/Eastern
_=/bin/script

# ./configure \
--prefix=/usr/local/apache2/httpd-2.4.20 \
--with-port=80 \
--with-mpm=worker \
--enable-mods-shared=most \
--enable-ssl \
--with-ssl=/usr/local/ssl \
--enable-proxy \
--disable-example \
--with-included-apr \
--with-pcre=/usr/local/apache2/pcre
......

# make clean
.......

# make
...
/usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20/modules/session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers -prefer-pic -c ssl_util_ocsp.c && touch ssl_util_ocsp.slo
/usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=link gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2    -L/usr/local/ssl/lib   -lssl -lcrypto -luuid -lsendfile -lrt -lsocket -lnsl -lpthread       -o mod_ssl.la -rpath /usr/local/apache2/httpd-2.4.20/modules -module -avoid-version  mod_ssl.lo ssl_engine_config.lo ssl_engine_init.lo ssl_engine_io.lo ssl_engine_kernel.lo ssl_engine_log.lo ssl_engine_mutex.lo ssl_engine_pphrase.lo ssl_engine_rand.lo ssl_engine_vars.lo ssl_scache.lo ssl_util_stapling.lo ssl_util.lo ssl_util_ssl.lo ssl_engine_ocsp.lo ssl_util_ocsp.lo  -export-symbols-regex ssl_module
Text relocation remains                         referenced
    against symbol                  offset      in file
.text (section)                     0xb88       /usr/local/ssl/lib/libssl.a(s3_lib.o)
.text (section)                     0xb90       /usr/local/ssl/lib/libssl.a(s3_lib.o)
.text (section)                     0xb98       /usr/local/ssl/lib/libssl.a(s3_lib.o)
.text (section)                     0xba0       /usr/local/ssl/lib/libssl.a(s3_lib.o)
...
...
oupper                             0x5f8       /usr/local/ssl/lib/libcrypto.a(gost_pmeth.o)
gmtime_r                            0x8         /usr/local/ssl/lib/libcrypto.a(o_time.o)
gethrtime                           0xa8        /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigfillset                          0x198       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1a4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1b0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1bc       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1c8       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1d4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1e0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
strtoul                             0x164       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
strtoul                             0x428       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
strtoul                             0x524       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
strtoul                             0x1518      /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
strtoul                             0x154       /usr/local/ssl/lib/libcrypto.a(a_strnid.o)
getuid                              0x3c8       /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
fstat                               0x8c        /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
dladdr                              0x864       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlopen                              0x44        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlopen                              0x908       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlclose                             0xb4        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlclose                             0x1dc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlclose                             0x92c       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlsym                               0x2d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlsym                               0x458       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlsym                               0x920       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlerror                             0xf0        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlerror                             0x368       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlerror                             0x4d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlerror                             0x8cc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `mod_ssl.la'
Current working directory /usr/local/apache2/install/httpd-2.4.20/modules/ssl
*** Error code 1
The following command caused the error:
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
    echo "" ; \
fi; \
list=''; for i in $list; do \
    target="shared-build"; \
    if test "$i" = "."; then \
        made_local=yes; \
        target="local-shared-build"; \
    fi; \
    if test "$i" != "srclib"; then \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test -f 'modules.mk'; then \
    if test -n 'mod_ssl.la'; then \
        echo "Building shared: mod_ssl.la"; \
        if test "$made_local" != "yes"; then \
                make "local-shared-build" || exit 1; \
        fi; \
    fi; \
fi; \
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
        echo "" ; \
fi
make: Fatal error: Command failed for target `shared-build-recursive'
Current working directory /usr/local/apache2/install/httpd-2.4.20/modules/ssl
*** Error code 1
The following command caused the error:
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
    echo "" ; \
fi; \
list='aaa cache core database debugging filters http loggers metadata proxy session slotmem ssl proxy/balancers arch/unix dav/main generators dav/fs mappers'; for i in $list; do \
    target="shared-build"; \
    if test "$i" = "."; then \
        made_local=yes; \
        target="local-shared-build"; \
    fi; \
    if test "$i" != "srclib"; then \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test -f 'modules.mk'; then \
    if test -n ''; then \
        echo "Building shared: "; \
        if test "$made_local" != "yes"; then \
                make "local-shared-build" || exit 1; \
        fi; \
    fi; \
fi; \
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
        echo "" ; \
fi
make: Fatal error: Command failed for target `shared-build-recursive'
Current working directory /usr/local/apache2/install/httpd-2.4.20/modules
*** Error code 1
The following command caused the error:
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
    echo "" ; \
fi; \
list='srclib os server modules support'; for i in $list; do \
    target="shared-build"; \
    if test "$i" = "."; then \
        made_local=yes; \
        target="local-shared-build"; \
    fi; \
    if test "$i" != "srclib"; then \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test -f 'modules.mk'; then \
    if test -n ''; then \
        echo "Building shared: "; \
        if test "$made_local" != "yes"; then \
                make "local-shared-build" || exit 1; \
        fi; \
    fi; \
fi; \
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
        echo "" ; \
fi
make: Fatal error: Command failed for target `shared-build-recursive'
Current working directory /usr/local/apache2/install/httpd-2.4.20
*** Error code 1
The following command caused the error:
otarget=`echo all-recursive|sed s/-recursive//`; \ list='  srclib os server modules support'; \ for i in $list; do \
    if test -d "$i"; then \
        target="$otarget"; \
        echo "Making $target in $i"; \
        if test "$i" = "."; then \
                made_local=yes; \
                target="local-$target"; \
        fi; \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test "$otarget" = "all" && test -z 'httpd shared-build '; then \
    made_local=yes; \
fi; \
if test "$made_local" != "yes"; then \
    make "local-$otarget" || exit 1; \
fi
make: Fatal error: Command failed for target `all-recursive'
#

=======================================

-----Original Message-----
From: Huang, Jinhui (OST)
Sent: Friday, April 29, 2016 9:39 AM
To: Rainer Jung; users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Thank you for the advice of using pcre 8.38. I installed it last night successfully to replace the old. 

When I first try to install it using
#  export CC="gcc -m64"
#  ./configure --prefix=/usr/local/apache2/pcre/ # make I received the following error, 

....
....
  CC       libpcre_la-pcre_version.lo
  CC       libpcre_la-pcre_xclass.lo
  CC       libpcre_la-pcre_chartables.lo
  CCLD     libpcre.la
  CC       libpcreposix_la-pcreposix.lo
  CCLD     libpcreposix.la
  CXX      libpcrecpp_la-pcrecpp.lo
  CXX      libpcrecpp_la-pcre_scanner.lo
  CXX      libpcrecpp_la-pcre_stringpiece.lo
  CXXLD    libpcrecpp.la
ld: fatal: file ./.libs/libpcre.so: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to .libs/libpcrecpp.so.0.0.1
collect2: ld returned 1 exit status
*** Error code 1
The following command caused the error:
echo "  CXXLD   " libpcrecpp.la;/bin/bash ./libtool --silent --tag=CXX    --mode=link g++      -O2 -version-info 0:1:0   -o libpcrecpp.la -rpath /usr/local/apache2/pcre/lib libpcrecpp_la-pcrecpp.lo  libpcrecpp_la-pcre_scanner.lo  libpcrecpp_la-pcre_stringpiece.lo libpcre.la
make: Fatal error: Command failed for target `libpcrecpp.la'
Current working directory /usr/local/apache2/install/pcre-8.38
*** Error code 1
make: Fatal error: Command failed for target `all'

Inspired by the example I searched online, I added one more option (--disable-cpp) to the configure. Then the pcre was installed successfully:

# ./configure --prefix=/usr/local/apache2/pcre --disable-cpp ...
# make clean
...
# make
...
...
  CCLD     libpcre.la
  CC       libpcreposix_la-pcreposix.lo
  CCLD     libpcreposix.la
  CC       pcretest-pcretest.o
  CC       pcretest-pcre_printint.o
  CCLD     pcretest
ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file
  CC       pcregrep-pcregrep.o
  CCLD     pcregrep
ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file # # make install ...

I hope the two warnings during make are not important.  Please let me know if you need to see the whole screen capture (text file).


Last night, after the install of the PCRE 8.38, I tried the Apache installation again. This time I got a different error message. I will post it very soon.

Jin


-----Original Message-----
From: Rainer Jung [mailto:rainer.jung@kippdata.de]
Sent: Thursday, April 28, 2016 3:30 PM
To: users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Am 28.04.2016 um 19:59 schrieb Jinhui.Huang.CTR@dot.gov:
> Hi, Rainer:
> The following is the output of make,  after I run a "make clean" first.
> Jin
> --------------------------------------------------------
> # make clean
> Making clean in test
> rm -f *.o *.lo *.slo *.obj *.a *.la
> rm -rf .libs
> Making clean in srclib
> Making clean in apr-util
> Making clean in test
> rm -f ./*.o ./*.lo ./*.a ./*.la ./*.so ./*.obj rm -rf ./.libs rm -f 
> manyfile.bin testfile.txt data/sqlite*.db dbd testall rm -rf 
> autom4te.cache ......
> ......
>
> # make
> Making all in srclib
> Making all in apr
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/build/mkdir.sh tools
> /bin/bash /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -g -O2   -DHAVE_CONFIG_H  -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT   -I./include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I./include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private  -o tools/gen_test_char.lo -c tools/gen_test_char.c && touch tools/gen_test_char.lo
> /bin/bash /usr/local/apache2/inst
> ......
> ......
> pd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_xml.c && touch util_xml.lo
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20/!
 modules/
session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_filter.c && touch util_filter.lo
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20/!
 modules/
session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_pcre.c && touch util_pcre.lo
> util_pcre.c:49:18: pcre.h: No such file or directory
> util_pcre.c: In function `ap_regfree':
> util_pcre.c:104: error: `pcre_free' undeclared (first use in this
> function)
> util_pcre.c:104: error: (Each undeclared identifier is reported only 
> once
> util_pcre.c:104: error: for each function it appears in.)
> util_pcre.c: In function `ap_regcomp':
> util_pcre.c:128: error: `PCRE_DUPNAMES' undeclared (first use in this
> function)
> util_pcre.c:131: error: `PCRE_CASELESS' undeclared (first use in this
> function)
> util_pcre.c:133: error: `PCRE_MULTILINE' undeclared (first use in this
> function)
> util_pcre.c:135: error: `PCRE_DOTALL' undeclared (first use in this
> function)
> util_pcre.c:138: warning: implicit declaration of function `pcre_compile2'
> util_pcre.c:138: warning: assignment makes pointer from integer 
> without a cast
> util_pcre.c:151: warning: implicit declaration of function `pcre_fullinfo'
> util_pcre.c:151: error: syntax error before "pcre"
> util_pcre.c: In function `ap_regexec_len':
> util_pcre.c:189: error: `PCRE_NOTBOL' undeclared (first use in this
> function)
> util_pcre.c:191: error: `PCRE_NOTEOL' undeclared (first use in this
> function)
> util_pcre.c:207: warning: implicit declaration of function `pcre_exec'
> util_pcre.c:207: error: syntax error before "pcre"
> util_pcre.c:230: error: `PCRE_ERROR_NOMATCH' undeclared (first use in 
> this function)
> util_pcre.c:232: error: `PCRE_ERROR_NULL' undeclared (first use in 
> this function)
> util_pcre.c:234: error: `PCRE_ERROR_BADOPTION' undeclared (first use 
> in this function)
> util_pcre.c:236: error: `PCRE_ERROR_BADMAGIC' undeclared (first use in 
> this function)
> util_pcre.c:238: error: `PCRE_ERROR_UNKNOWN_NODE' undeclared (first 
> use in this function)
> util_pcre.c:240: error: `PCRE_ERROR_NOMEMORY' undeclared (first use in 
> this function)
> util_pcre.c: In function `ap_regname':
> util_pcre.c:269: error: syntax error before "pcre"
> util_pcre.c:271: error: syntax error before "pcre"
> util_pcre.c:273: error: syntax error before "pcre"
> *** Error code 1
> make: Fatal error: Command failed for target `util_pcre.lo'
> Current working directory
> /usr/local/apache2/install/httpd-2.4.20/server
> *** Error code 1

This error is likely a consequence of the error during configure:

checking for pcre-config... false

configure: Using external PCRE library from /usr/local/apache2/pcre2/bin/pcre2-config

   setting PCRE_INCLUDES to "-I/usr/local/apache2/pcre2/include"

Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] [--libs-posix]  [--cflags] [--cflags-posix]

   setting PCRE_LIBS to ""

Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] [--libs-posix]  [--cflags] [--cflags-posix]


This indicates that your try to build httpd against pcre version 10. We only support pcre until version 8, latest is 8.38. PCRE version 10, aka pcre2, is not API compatible with pcre until 8. Since the path /usr/local/apache2/pcre2/ looks like you compiled pcre2 yourself, grab pcre 8.38, compile it again and run configure against that one.

This will IMHO *not* fix you other issue about ab.o being 32 bit. Could it be, that ab.o was in your build directory from another attempt at building where you started without the -m64 flag, so that there was already an old 32 bit ab.o file and "make clean" has already fixed that?

Regards,

Rainer


RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by "Huang, Jinhui (OST)" <Ji...@dot.gov>.
I got same error with this gcc flag.
I saw someone used some other flags  for compile, link, library.  Can anyone give me any suggestion?
Jin

-----Original Message-----
From: Huang, Jinhui (OST) 
Sent: Monday, May 02, 2016 9:36 AM
To: Rainer Jung; users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Hi, Rainer:

I searched online to find the OpenSSL version supported by Apache 2.4.20. It should be openssl-1.0.2g. I installed this version and then tried to install Apache again. It failed with same error message. 

Searching the error (ld: fatal: relocations remain against allocatable but non-writable sections) again, I am now trying to compile the apache source with "-fPIC" option. Hoping this will make a difference.
	export CC="gcc -m64 -fPIC"

Do I need to recompile/build the PCRE and OpenSSL using the same gcc option?

Jin


-----Original Message-----
From: Huang, Jinhui (OST)
Sent: Friday, April 29, 2016 11:18 AM
To: Rainer Jung; users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

The error seems related to my OpenSSL.  On this server, I have two versions of OpenSSL. I am trying to use the one at /usr/local/ssl/ (OpenSSL 1.0.1s ). 
Is this version supported for Apache 2.4.20?

==================================================
# which openssl
/usr/sfw/bin/openssl

# openssl version
OpenSSL 0.9.7d 17 Mar 2004 (+ security fixes for: CVE-2005-2969 CVE-2006-2937 CVE-2006-2940 CVE-2006-3738 CVE-2006-4339 CVE-2006-4343 CVE-2006-7250 CVE-2007-5135 CVE-2007-3108 CVE-2008-5077 CVE-2008-7270 CVE-2009-0590 CVE-2009-2409 CVE-2009-3555 CVE-2010-4180 CVE-2011-4576 CVE-2011-4619 CVE-2012-0884 CVE-2012-1165 CVE-2012-2110 CVE-2012-2131 CVE-2012-2333 CVE-2013-0166 CVE-2013-0169 CVE-2014-0224 CVE-2014-3508 CVE-2014-3511 CVE-2014-3566 CVE-2014-3567 CVE-2014-3568 CVE-2014-3569 CVE-2014-3570 CVE-2014-8275 CVE-2015-0204 CVE-2015-0286 CVE-2015-0287 CVE-2015-0288 CVE-2015-0289 CVE-2015-0292 CVE-2015-0293 CVE-2015-1789 CVE-2015-1790 CVE-2015-4000)

# /usr/local/ssl/bin/openssl version
OpenSSL 1.0.1s  1 Mar 2016
==================================================


-----Original Message-----
From: Huang, Jinhui (OST)
Sent: Friday, April 29, 2016 10:20 AM
To: Rainer Jung; users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Hi, Rainer:

The following is the new error I received when I try to install Apache 2.4.20 again, using new PCRE 8.38. I have added a shortened screen capture (zptpt-20160428e-short.txt) as attachment. The original file is about 4.4 MB. In this short version, 45650 lines of make output have been deleted. Please let me know if you need the completed output.

=======================================
# pwd
/usr/local/apache2/install/httpd-2.4.20

# env
CC=gcc -m64
HOME=/
HZ=
LOGNAME=root
MAIL=/var/mail/root
PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/xpg4/bin:/usr/ccs/bin:/usr/ucb:/usr/dt/bin:/usr/openwin/bin:/usr/local/bin:/usr/local/sbin:/usr/platform/sun4u/sbin:/opt/VRTS/bin:/opt/VRTSob/bin:/etc/vx/bin:/usr/lib/vxvm/bin:/usr/sfw/bin:/var/tmp/tomcat/apache-ant-1.6.5/bin:/usr/local/apache2/bin:/usr/lib
PWD=/usr/local/apache2/install/pcre-8.38
SHELL=/sbin/sh
TERM=xterm
TZ=US/Eastern
_=/bin/script

# ./configure \
--prefix=/usr/local/apache2/httpd-2.4.20 \
--with-port=80 \
--with-mpm=worker \
--enable-mods-shared=most \
--enable-ssl \
--with-ssl=/usr/local/ssl \
--enable-proxy \
--disable-example \
--with-included-apr \
--with-pcre=/usr/local/apache2/pcre
......

# make clean
.......

# make
...
/usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20/modules/session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers -prefer-pic -c ssl_util_ocsp.c && touch ssl_util_ocsp.slo
/usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=link gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2    -L/usr/local/ssl/lib   -lssl -lcrypto -luuid -lsendfile -lrt -lsocket -lnsl -lpthread       -o mod_ssl.la -rpath /usr/local/apache2/httpd-2.4.20/modules -module -avoid-version  mod_ssl.lo ssl_engine_config.lo ssl_engine_init.lo ssl_engine_io.lo ssl_engine_kernel.lo ssl_engine_log.lo ssl_engine_mutex.lo ssl_engine_pphrase.lo ssl_engine_rand.lo ssl_engine_vars.lo ssl_scache.lo ssl_util_stapling.lo ssl_util.lo ssl_util_ssl.lo ssl_engine_ocsp.lo ssl_util_ocsp.lo  -export-symbols-regex ssl_module
Text relocation remains                         referenced
    against symbol                  offset      in file
.text (section)                     0xb88       /usr/local/ssl/lib/libssl.a(s3_lib.o)
.text (section)                     0xb90       /usr/local/ssl/lib/libssl.a(s3_lib.o)
.text (section)                     0xb98       /usr/local/ssl/lib/libssl.a(s3_lib.o)
.text (section)                     0xba0       /usr/local/ssl/lib/libssl.a(s3_lib.o)
...
...
oupper                             0x5f8       /usr/local/ssl/lib/libcrypto.a(gost_pmeth.o)
gmtime_r                            0x8         /usr/local/ssl/lib/libcrypto.a(o_time.o)
gethrtime                           0xa8        /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigfillset                          0x198       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1a4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1b0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1bc       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1c8       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1d4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
sigdelset                           0x1e0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
strtoul                             0x164       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
strtoul                             0x428       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
strtoul                             0x524       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
strtoul                             0x1518      /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
strtoul                             0x154       /usr/local/ssl/lib/libcrypto.a(a_strnid.o)
getuid                              0x3c8       /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
fstat                               0x8c        /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
dladdr                              0x864       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlopen                              0x44        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlopen                              0x908       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlclose                             0xb4        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlclose                             0x1dc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlclose                             0x92c       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlsym                               0x2d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlsym                               0x458       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlsym                               0x920       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlerror                             0xf0        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlerror                             0x368       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlerror                             0x4d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
dlerror                             0x8cc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `mod_ssl.la'
Current working directory /usr/local/apache2/install/httpd-2.4.20/modules/ssl
*** Error code 1
The following command caused the error:
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
    echo "" ; \
fi; \
list=''; for i in $list; do \
    target="shared-build"; \
    if test "$i" = "."; then \
        made_local=yes; \
        target="local-shared-build"; \
    fi; \
    if test "$i" != "srclib"; then \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test -f 'modules.mk'; then \
    if test -n 'mod_ssl.la'; then \
        echo "Building shared: mod_ssl.la"; \
        if test "$made_local" != "yes"; then \
                make "local-shared-build" || exit 1; \
        fi; \
    fi; \
fi; \
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
        echo "" ; \
fi
make: Fatal error: Command failed for target `shared-build-recursive'
Current working directory /usr/local/apache2/install/httpd-2.4.20/modules/ssl
*** Error code 1
The following command caused the error:
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
    echo "" ; \
fi; \
list='aaa cache core database debugging filters http loggers metadata proxy session slotmem ssl proxy/balancers arch/unix dav/main generators dav/fs mappers'; for i in $list; do \
    target="shared-build"; \
    if test "$i" = "."; then \
        made_local=yes; \
        target="local-shared-build"; \
    fi; \
    if test "$i" != "srclib"; then \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test -f 'modules.mk'; then \
    if test -n ''; then \
        echo "Building shared: "; \
        if test "$made_local" != "yes"; then \
                make "local-shared-build" || exit 1; \
        fi; \
    fi; \
fi; \
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
        echo "" ; \
fi
make: Fatal error: Command failed for target `shared-build-recursive'
Current working directory /usr/local/apache2/install/httpd-2.4.20/modules
*** Error code 1
The following command caused the error:
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
    echo "" ; \
fi; \
list='srclib os server modules support'; for i in $list; do \
    target="shared-build"; \
    if test "$i" = "."; then \
        made_local=yes; \
        target="local-shared-build"; \
    fi; \
    if test "$i" != "srclib"; then \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test -f 'modules.mk'; then \
    if test -n ''; then \
        echo "Building shared: "; \
        if test "$made_local" != "yes"; then \
                make "local-shared-build" || exit 1; \
        fi; \
    fi; \
fi; \
if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
        echo "" ; \
fi
make: Fatal error: Command failed for target `shared-build-recursive'
Current working directory /usr/local/apache2/install/httpd-2.4.20
*** Error code 1
The following command caused the error:
otarget=`echo all-recursive|sed s/-recursive//`; \ list='  srclib os server modules support'; \ for i in $list; do \
    if test -d "$i"; then \
        target="$otarget"; \
        echo "Making $target in $i"; \
        if test "$i" = "."; then \
                made_local=yes; \
                target="local-$target"; \
        fi; \
        (cd $i && make $target) || exit 1; \
    fi; \
done; \
if test "$otarget" = "all" && test -z 'httpd shared-build '; then \
    made_local=yes; \
fi; \
if test "$made_local" != "yes"; then \
    make "local-$otarget" || exit 1; \
fi
make: Fatal error: Command failed for target `all-recursive'
#

=======================================

-----Original Message-----
From: Huang, Jinhui (OST)
Sent: Friday, April 29, 2016 9:39 AM
To: Rainer Jung; users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Thank you for the advice of using pcre 8.38. I installed it last night successfully to replace the old. 

When I first try to install it using
#  export CC="gcc -m64"
#  ./configure --prefix=/usr/local/apache2/pcre/ # make I received the following error, 

....
....
  CC       libpcre_la-pcre_version.lo
  CC       libpcre_la-pcre_xclass.lo
  CC       libpcre_la-pcre_chartables.lo
  CCLD     libpcre.la
  CC       libpcreposix_la-pcreposix.lo
  CCLD     libpcreposix.la
  CXX      libpcrecpp_la-pcrecpp.lo
  CXX      libpcrecpp_la-pcre_scanner.lo
  CXX      libpcrecpp_la-pcre_stringpiece.lo
  CXXLD    libpcrecpp.la
ld: fatal: file ./.libs/libpcre.so: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to .libs/libpcrecpp.so.0.0.1
collect2: ld returned 1 exit status
*** Error code 1
The following command caused the error:
echo "  CXXLD   " libpcrecpp.la;/bin/bash ./libtool --silent --tag=CXX    --mode=link g++      -O2 -version-info 0:1:0   -o libpcrecpp.la -rpath /usr/local/apache2/pcre/lib libpcrecpp_la-pcrecpp.lo  libpcrecpp_la-pcre_scanner.lo  libpcrecpp_la-pcre_stringpiece.lo libpcre.la
make: Fatal error: Command failed for target `libpcrecpp.la'
Current working directory /usr/local/apache2/install/pcre-8.38
*** Error code 1
make: Fatal error: Command failed for target `all'

Inspired by the example I searched online, I added one more option (--disable-cpp) to the configure. Then the pcre was installed successfully:

# ./configure --prefix=/usr/local/apache2/pcre --disable-cpp ...
# make clean
...
# make
...
...
  CCLD     libpcre.la
  CC       libpcreposix_la-pcreposix.lo
  CCLD     libpcreposix.la
  CC       pcretest-pcretest.o
  CC       pcretest-pcre_printint.o
  CCLD     pcretest
ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file
  CC       pcregrep-pcregrep.o
  CCLD     pcregrep
ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file # # make install ...

I hope the two warnings during make are not important.  Please let me know if you need to see the whole screen capture (text file).


Last night, after the install of the PCRE 8.38, I tried the Apache installation again. This time I got a different error message. I will post it very soon.

Jin


-----Original Message-----
From: Rainer Jung [mailto:rainer.jung@kippdata.de]
Sent: Thursday, April 28, 2016 3:30 PM
To: users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Am 28.04.2016 um 19:59 schrieb Jinhui.Huang.CTR@dot.gov:
> Hi, Rainer:
> The following is the output of make,  after I run a "make clean" first.
> Jin
> --------------------------------------------------------
> # make clean
> Making clean in test
> rm -f *.o *.lo *.slo *.obj *.a *.la
> rm -rf .libs
> Making clean in srclib
> Making clean in apr-util
> Making clean in test
> rm -f ./*.o ./*.lo ./*.a ./*.la ./*.so ./*.obj rm -rf ./.libs rm -f 
> manyfile.bin testfile.txt data/sqlite*.db dbd testall rm -rf 
> autom4te.cache ......
> ......
>
> # make
> Making all in srclib
> Making all in apr
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/build/mkdir.sh tools
> /bin/bash /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -g -O2   -DHAVE_CONFIG_H  -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT   -I./include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I./include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private  -o tools/gen_test_char.lo -c tools/gen_test_char.c && touch tools/gen_test_char.lo
> /bin/bash /usr/local/apache2/inst
> ......
> ......
> pd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_xml.c && touch util_xml.lo
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20/!
 modules/
session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_filter.c && touch util_filter.lo
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20/!
 modules/
session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_pcre.c && touch util_pcre.lo
> util_pcre.c:49:18: pcre.h: No such file or directory
> util_pcre.c: In function `ap_regfree':
> util_pcre.c:104: error: `pcre_free' undeclared (first use in this
> function)
> util_pcre.c:104: error: (Each undeclared identifier is reported only 
> once
> util_pcre.c:104: error: for each function it appears in.)
> util_pcre.c: In function `ap_regcomp':
> util_pcre.c:128: error: `PCRE_DUPNAMES' undeclared (first use in this
> function)
> util_pcre.c:131: error: `PCRE_CASELESS' undeclared (first use in this
> function)
> util_pcre.c:133: error: `PCRE_MULTILINE' undeclared (first use in this
> function)
> util_pcre.c:135: error: `PCRE_DOTALL' undeclared (first use in this
> function)
> util_pcre.c:138: warning: implicit declaration of function `pcre_compile2'
> util_pcre.c:138: warning: assignment makes pointer from integer 
> without a cast
> util_pcre.c:151: warning: implicit declaration of function `pcre_fullinfo'
> util_pcre.c:151: error: syntax error before "pcre"
> util_pcre.c: In function `ap_regexec_len':
> util_pcre.c:189: error: `PCRE_NOTBOL' undeclared (first use in this
> function)
> util_pcre.c:191: error: `PCRE_NOTEOL' undeclared (first use in this
> function)
> util_pcre.c:207: warning: implicit declaration of function `pcre_exec'
> util_pcre.c:207: error: syntax error before "pcre"
> util_pcre.c:230: error: `PCRE_ERROR_NOMATCH' undeclared (first use in 
> this function)
> util_pcre.c:232: error: `PCRE_ERROR_NULL' undeclared (first use in 
> this function)
> util_pcre.c:234: error: `PCRE_ERROR_BADOPTION' undeclared (first use 
> in this function)
> util_pcre.c:236: error: `PCRE_ERROR_BADMAGIC' undeclared (first use in 
> this function)
> util_pcre.c:238: error: `PCRE_ERROR_UNKNOWN_NODE' undeclared (first 
> use in this function)
> util_pcre.c:240: error: `PCRE_ERROR_NOMEMORY' undeclared (first use in 
> this function)
> util_pcre.c: In function `ap_regname':
> util_pcre.c:269: error: syntax error before "pcre"
> util_pcre.c:271: error: syntax error before "pcre"
> util_pcre.c:273: error: syntax error before "pcre"
> *** Error code 1
> make: Fatal error: Command failed for target `util_pcre.lo'
> Current working directory
> /usr/local/apache2/install/httpd-2.4.20/server
> *** Error code 1

This error is likely a consequence of the error during configure:

checking for pcre-config... false

configure: Using external PCRE library from /usr/local/apache2/pcre2/bin/pcre2-config

   setting PCRE_INCLUDES to "-I/usr/local/apache2/pcre2/include"

Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] [--libs-posix]  [--cflags] [--cflags-posix]

   setting PCRE_LIBS to ""

Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] [--libs-posix]  [--cflags] [--cflags-posix]


This indicates that your try to build httpd against pcre version 10. We only support pcre until version 8, latest is 8.38. PCRE version 10, aka pcre2, is not API compatible with pcre until 8. Since the path /usr/local/apache2/pcre2/ looks like you compiled pcre2 yourself, grab pcre 8.38, compile it again and run configure against that one.

This will IMHO *not* fix you other issue about ab.o being 32 bit. Could it be, that ab.o was in your build directory from another attempt at building where you started without the -m64 flag, so that there was already an old 32 bit ab.o file and "make clean" has already fixed that?

Regards,

Rainer


RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by "Huang, Jinhui (OST)" <Ji...@dot.gov>.
Thank you, Andy, for the comment/help.
Jin

-----Original Message-----
From: Andy Wang [mailto:awang@ptc.com] 
Sent: Monday, May 02, 2016 2:35 PM
To: users@httpd.apache.org
Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"



On 05/02/2016 12:42 PM, Rainer Jung wrote:
> Am 02.05.2016 um 19:07 schrieb Huang, Jinhui (OST):
>> Hi, Rainer:
>> I checked the 32/64 Bit issue on PCRE first. I found
>> /usr/local/apache2/pcre/lib/libpcre.a:  current ar archive, 32-bit 
>> symbol table
>> /usr/local/apache2/pcre/lib/libpcreposix.a:     current ar archive,
>> 32-bit symbol table
>
> The .so (shared libraries) look fine, the .a (static libraries) not.
> They are 32 Bit and you can't link a 64 bit binary against them. By 
> default, the linking should happen against the .so (building 
> dynamically linked stuff). If you want to make sure, it'd be better to 
> rename the .a file to .a_ or similar, so they wont get used.
>
> Why pcre has build the .a files only as 32 bit and didn't respect your 
> CC setting I don't know but shouldn't matter for now.

Are you basing that on the file command output?  Keep in mind the symbol table size is not dependent on the bitwidth of the binaries in the archive but rather the size of of the ar archive itself.

 From ar man page:

      -S    When building the archive symbol table, force the  use
            of the 64-bit capable symbol table format. By default,
            the 32-bit format is used  for  all  archives  smaller
            than  4GB,  and  the  larger format is used for larger
            archives that exceed the 32-bit limit.


The compile error doesn't appear related to pcre though.  It looks to be more still an openssl related problem.

Andy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org

RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by "Huang, Jinhui (OST)" <Ji...@dot.gov>.
Thank you for confirming this for me.
Jin

-----Original Message-----
From: Andy Wang [mailto:awang@ptc.com] 
Sent: Monday, May 02, 2016 4:47 PM
To: users@httpd.apache.org
Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"



On 05/02/2016 03:40 PM, Huang, Jinhui (OST) wrote:
> Hi, Andy:
> Thank you for the comment about CFLAGS="-m64" and " solaris64-x86_64-gcc".
> I will use CFLAGS="-m64" when I re compile/build PCRE.
> For OpenSSL, actually, I saw this option when I select the target for Configure program. I thought  that  "solaris64-x86_64-gcc" is for a windows/intel system ONLY. I am using a Sun Solaris system, so, I selected the  " solaris64-sparcv9-gcc" instead. May I use this flag for Sun Solaris system as well?
> Jin
>

oops.  My bad.  I knew that as I was reading your message but ended up getting x86_64 in my head.

same applies for solaris64-sparcv9-gcc:

"solaris64-sparcv9-gcc","gcc:-m64 -mcpu=ultrasparc -O3 -Wall -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL
BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-m64
-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",

Andy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by Andy Wang <aw...@ptc.com>.

On 05/02/2016 03:40 PM, Huang, Jinhui (OST) wrote:
> Hi, Andy:
> Thank you for the comment about CFLAGS="-m64" and " solaris64-x86_64-gcc".
> I will use CFLAGS="-m64" when I re compile/build PCRE.
> For OpenSSL, actually, I saw this option when I select the target for Configure program. I thought  that  "solaris64-x86_64-gcc" is for a windows/intel system ONLY. I am using a Sun Solaris system, so, I selected the  " solaris64-sparcv9-gcc" instead. May I use this flag for Sun Solaris system as well?
> Jin
>

oops.  My bad.  I knew that as I was reading your message but ended up 
getting x86_64 in my head.

same applies for solaris64-sparcv9-gcc:

"solaris64-sparcv9-gcc","gcc:-m64 -mcpu=ultrasparc -O3 -Wall 
-DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG 
RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL 
BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-m64 
-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",

Andy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by "Huang, Jinhui (OST)" <Ji...@dot.gov>.
Hi, Andy:
Thank you for the comment about CFLAGS="-m64" and " solaris64-x86_64-gcc". 
I will use CFLAGS="-m64" when I re compile/build PCRE. 
For OpenSSL, actually, I saw this option when I select the target for Configure program. I thought  that  "solaris64-x86_64-gcc" is for a windows/intel system ONLY. I am using a Sun Solaris system, so, I selected the  " solaris64-sparcv9-gcc" instead. May I use this flag for Sun Solaris system as well?
Jin

-----Original Message-----
From: Andy Wang [mailto:awang@ptc.com] 
Sent: Monday, May 02, 2016 4:16 PM
To: users@httpd.apache.org
Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"



On 05/02/2016 03:06 PM, Huang, Jinhui (OST) wrote:
> Hi, Rainer:
> Thank you for the comments.
> Following your suggestion this morning, I recompiled/built the OpenSSL with new  "shared"  option.  Then I checked the .so files to make sure they are 64 bit.
> 	# export CC="gcc -m64 -fPIC"
> 	# ./Configure solaris64-sparcv9-gcc shared  --prefix=/usr/local/apache2/openssl --openssldir=/usr/local/apache2/openssl
> 	# make depend
> 	# make
> 	# make install

A few tidbits to help you.  OpenSSL actually has this Configure target "solaris64-x86_64-gcc"

"solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT
DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",

It takes care of all of the minimum CFLAGS you need.  If you use this target you don't even need to export CC="gcc -m64 -fPIC".

Your PCRE build problem earlier is directly related to this.  If you had instead set CFLAGS="-m64" the c++ pcre code would have likely compiled and linked properly.  Keep in mind g++ is a different binary than gcc and likely PCRE's build script usex CXX instead of CC.  So it would have lost your augmented CC command and used the default behavior which is to compile to 32-bit arch.

Andy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by Andy Wang <aw...@ptc.com>.

On 05/02/2016 03:06 PM, Huang, Jinhui (OST) wrote:
> Hi, Rainer:
> Thank you for the comments.
> Following your suggestion this morning, I recompiled/built the OpenSSL with new  "shared"  option.  Then I checked the .so files to make sure they are 64 bit.
> 	# export CC="gcc -m64 -fPIC"
> 	# ./Configure solaris64-sparcv9-gcc shared  --prefix=/usr/local/apache2/openssl --openssldir=/usr/local/apache2/openssl
> 	# make depend
> 	# make
> 	# make install

A few tidbits to help you.  OpenSSL actually has this Configure target
"solaris64-x86_64-gcc"

"solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall 
-DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG 
RC4_CHUNK DES_INT 
DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-fPIC:-m64 -shared 
-static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",

It takes care of all of the minimum CFLAGS you need.  If you use this 
target you don't even need to export CC="gcc -m64 -fPIC".

Your PCRE build problem earlier is directly related to this.  If you had 
instead set CFLAGS="-m64" the c++ pcre code would have likely compiled 
and linked properly.  Keep in mind g++ is a different binary than gcc 
and likely PCRE's build script usex CXX instead of CC.  So it would have 
lost your augmented CC command and used the default behavior which is to 
compile to 32-bit arch.

Andy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by "Huang, Jinhui (OST)" <Ji...@dot.gov>.
Hi, Rainer:
Thank you for the comments.
Following your suggestion this morning, I recompiled/built the OpenSSL with new  "shared"  option.  Then I checked the .so files to make sure they are 64 bit.
	# export CC="gcc -m64 -fPIC"
	# ./Configure solaris64-sparcv9-gcc shared  --prefix=/usr/local/apache2/openssl --openssldir=/usr/local/apache2/openssl
	# make depend
	# make    
	# make install

Then I recompiled/built Apache successfully. The errors about " ld: fatal: relocations remain against allocatable but non-writable sections" are gone.
	# cd /usr/local/apache2/install/httpd-2.4.20
	# export CC="gcc -m64 -fPIC" 
	# export PATH=/usr/local/apache2/openssl/bin:$PATH

	# ./configure \
	--prefix=/usr/local/apache2/httpd-2.4.20 \
	--with-port=80 \
	--with-mpm=worker \
	--enable-mods-shared=most \
	--enable-ssl \
	--with-ssl=/usr/local/apache2/openssl \
	--enable-proxy \
	--disable-example \
	--with-included-apr \
	--with-pcre=/usr/local/apache2/pcre  

	make clean
	make  
	make install

Again, thank you so much for your time and help.
Jin


-----Original Message-----
From: Rainer Jung [mailto:rainer.jung@kippdata.de] 
Sent: Monday, May 02, 2016 3:45 PM
To: users@httpd.apache.org
Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Am 02.05.2016 um 20:35 schrieb Andy Wang:
>
>
> On 05/02/2016 12:42 PM, Rainer Jung wrote:
>> Am 02.05.2016 um 19:07 schrieb Huang, Jinhui (OST):
>>> Hi, Rainer:
>>> I checked the 32/64 Bit issue on PCRE first. I found
>>> /usr/local/apache2/pcre/lib/libpcre.a:  current ar archive, 32-bit 
>>> symbol table
>>> /usr/local/apache2/pcre/lib/libpcreposix.a:     current ar archive,
>>> 32-bit symbol table
>>
>> The .so (shared libraries) look fine, the .a (static libraries) not.
>> They are 32 Bit and you can't link a 64 bit binary against them. By 
>> default, the linking should happen against the .so (building 
>> dynamically linked stuff). If you want to make sure, it'd be better 
>> to rename the .a file to .a_ or similar, so they wont get used.
>>
>> Why pcre has build the .a files only as 32 bit and didn't respect 
>> your CC setting I don't know but shouldn't matter for now.
>
> Are you basing that on the file command output?  Keep in mind the 
> symbol table size is not dependent on the bitwidth of the binaries in 
> the archive but rather the size of of the ar archive itself.
>
>  From ar man page:
>
>       -S    When building the archive symbol table, force the  use
>             of the 64-bit capable symbol table format. By default,
>             the 32-bit format is used  for  all  archives  smaller
>             than  4GB,  and  the  larger format is used for larger
>             archives that exceed the 32-bit limit.

Yes, sorry, I just referred to "/usr/local/apache2/pcre/lib/libpcre.a: 
current ar archive, 32-bit symbol table". But since the OP shouldn't IMHO try to link against the .a files, it doesn't actually matter.

> The compile error doesn't appear related to pcre though.  It looks to 
> be more still an openssl related problem.

Agreed.

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org

Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by Rainer Jung <ra...@kippdata.de>.
Am 02.05.2016 um 20:35 schrieb Andy Wang:
>
>
> On 05/02/2016 12:42 PM, Rainer Jung wrote:
>> Am 02.05.2016 um 19:07 schrieb Huang, Jinhui (OST):
>>> Hi, Rainer:
>>> I checked the 32/64 Bit issue on PCRE first. I found
>>> /usr/local/apache2/pcre/lib/libpcre.a:  current ar archive, 32-bit
>>> symbol table
>>> /usr/local/apache2/pcre/lib/libpcreposix.a:     current ar archive,
>>> 32-bit symbol table
>>
>> The .so (shared libraries) look fine, the .a (static libraries) not.
>> They are 32 Bit and you can't link a 64 bit binary against them. By
>> default, the linking should happen against the .so (building dynamically
>> linked stuff). If you want to make sure, it'd be better to rename the .a
>> file to .a_ or similar, so they wont get used.
>>
>> Why pcre has build the .a files only as 32 bit and didn't respect your
>> CC setting I don't know but shouldn't matter for now.
>
> Are you basing that on the file command output?  Keep in mind the symbol
> table size is not dependent on the bitwidth of the binaries in the
> archive but rather the size of of the ar archive itself.
>
>  From ar man page:
>
>       -S    When building the archive symbol table, force the  use
>             of the 64-bit capable symbol table format. By default,
>             the 32-bit format is used  for  all  archives  smaller
>             than  4GB,  and  the  larger format is used for larger
>             archives that exceed the 32-bit limit.

Yes, sorry, I just referred to "/usr/local/apache2/pcre/lib/libpcre.a: 
current ar archive, 32-bit symbol table". But since the OP shouldn't 
IMHO try to link against the .a files, it doesn't actually matter.

> The compile error doesn't appear related to pcre though.  It looks to be
> more still an openssl related problem.

Agreed.

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by Andy Wang <aw...@ptc.com>.

On 05/02/2016 12:42 PM, Rainer Jung wrote:
> Am 02.05.2016 um 19:07 schrieb Huang, Jinhui (OST):
>> Hi, Rainer:
>> I checked the 32/64 Bit issue on PCRE first. I found
>> /usr/local/apache2/pcre/lib/libpcre.a:  current ar archive, 32-bit
>> symbol table
>> /usr/local/apache2/pcre/lib/libpcreposix.a:     current ar archive,
>> 32-bit symbol table
>
> The .so (shared libraries) look fine, the .a (static libraries) not.
> They are 32 Bit and you can't link a 64 bit binary against them. By
> default, the linking should happen against the .so (building dynamically
> linked stuff). If you want to make sure, it'd be better to rename the .a
> file to .a_ or similar, so they wont get used.
>
> Why pcre has build the .a files only as 32 bit and didn't respect your
> CC setting I don't know but shouldn't matter for now.

Are you basing that on the file command output?  Keep in mind the symbol 
table size is not dependent on the bitwidth of the binaries in the 
archive but rather the size of of the ar archive itself.

 From ar man page:

      -S    When building the archive symbol table, force the  use
            of the 64-bit capable symbol table format. By default,
            the 32-bit format is used  for  all  archives  smaller
            than  4GB,  and  the  larger format is used for larger
            archives that exceed the 32-bit limit.


The compile error doesn't appear related to pcre though.  It looks to be 
more still an openssl related problem.

Andy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by Rainer Jung <ra...@kippdata.de>.
Am 02.05.2016 um 19:07 schrieb Huang, Jinhui (OST):
> Hi, Rainer:
> I checked the 32/64 Bit issue on PCRE first. I found
> /usr/local/apache2/pcre/lib/libpcre.a:  current ar archive, 32-bit symbol table
> /usr/local/apache2/pcre/lib/libpcreposix.a:     current ar archive, 32-bit symbol table
> /usr/local/apache2/pcre/lib/libpcre.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped
> /usr/local/apache2/pcre/lib/libpcreposix.so:    ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped
>
> I guess the .so files are ok. But the two  .a files are 32-bit ones. Are they OK?  I used the following commands I thought they should be 64 bit version.
>
> # cd /usr/local/apache2/install/pcre-8.38
> # export CC="gcc -m64"
> # ./configure --prefix=/usr/local/apache2/pcre --disable-cpp
> # make clean
> # make
> # make install

The .so (shared libraries) look fine, the .a (static libraries) not. 
They are 32 Bit and you can't link a 64 bit binary against them. By 
default, the linking should happen against the .so (building dynamically 
linked stuff). If you want to make sure, it'd be better to rename the .a 
file to .a_ or similar, so they wont get used.

Why pcre has build the .a files only as 32 bit and didn't respect your 
CC setting I don't know but shouldn't matter for now.

Regards,

Rainer

> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Monday, May 02, 2016 12:32 PM
> To: users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Thank you, Rainer. I will check that and try again.
> Jin
>
> -----Original Message-----
> From: Rainer Jung [mailto:rainer.jung@kippdata.de]
> Sent: Monday, May 02, 2016 12:27 PM
> To: users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Am 02.05.2016 um 15:36 schrieb Huang, Jinhui (OST):
>> Hi, Rainer:
>>
>> I searched online to find the OpenSSL version supported by Apache 2.4.20. It should be openssl-1.0.2g. I installed this version and then tried to install Apache again. It failed with same error message.
>>
>> Searching the error (ld: fatal: relocations remain against allocatable but non-writable sections) again, I am now trying to compile the apache source with "-fPIC" option. Hoping this will make a difference.
>> 	export CC="gcc -m64 -fPIC"
>>
>> Do I need to recompile/build the PCRE and OpenSSL using the same gcc option?
>
> You must compile PCRE and OpenSSL as 64 Bit versions. You can check using the output of the "file" command on the PCRE resp. OpenSSL library files. For OpenSSL you might need to use an appropriate Configure command argument instead of CC.
>
> The below error message sounds as you didn't build the shared libraries for OpenSSL (*.so) and instead only the static ones (*.a). It should be easier to work with the shared ones (argument "shared" to Configure).
>
> If you succeed in building 64 bit libraries and the shared ones are present, and then you still get "ld: fatal: relocations remain against allocatable but non-writable sections", you might succeed in setting
>
> MOD_SSL_LDADD=-Wl,-Bsymbolic
> export MOD_SSL_LDADD
>
> Regards,
>
> Rainr
>
>> -----Original Message-----
>> From: Huang, Jinhui (OST)
>> Sent: Friday, April 29, 2016 11:18 AM
>> To: Rainer Jung; users@httpd.apache.org
>> Cc: Huang, Jinhui (OST)
>> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>>
>> The error seems related to my OpenSSL.  On this server, I have two versions of OpenSSL. I am trying to use the one at /usr/local/ssl/ (OpenSSL 1.0.1s ).
>> Is this version supported for Apache 2.4.20?
>>
>> ==================================================
>> # which openssl
>> /usr/sfw/bin/openssl
>>
>> # openssl version
>> OpenSSL 0.9.7d 17 Mar 2004 (+ security fixes for: CVE-2005-2969
>> CVE-2006-2937 CVE-2006-2940 CVE-2006-3738 CVE-2006-4339 CVE-2006-4343
>> CVE-2006-7250 CVE-2007-5135 CVE-2007-3108 CVE-2008-5077 CVE-2008-7270
>> CVE-2009-0590 CVE-2009-2409 CVE-2009-3555 CVE-2010-4180 CVE-2011-4576
>> CVE-2011-4619 CVE-2012-0884 CVE-2012-1165 CVE-2012-2110 CVE-2012-2131
>> CVE-2012-2333 CVE-2013-0166 CVE-2013-0169 CVE-2014-0224 CVE-2014-3508
>> CVE-2014-3511 CVE-2014-3566 CVE-2014-3567 CVE-2014-3568 CVE-2014-3569
>> CVE-2014-3570 CVE-2014-8275 CVE-2015-0204 CVE-2015-0286 CVE-2015-0287
>> CVE-2015-0288 CVE-2015-0289 CVE-2015-0292 CVE-2015-0293 CVE-2015-1789
>> CVE-2015-1790 CVE-2015-4000)
>>
>> # /usr/local/ssl/bin/openssl version
>> OpenSSL 1.0.1s  1 Mar 2016
>> ==================================================
>>
>>
>> -----Original Message-----
>> From: Huang, Jinhui (OST)
>> Sent: Friday, April 29, 2016 10:20 AM
>> To: Rainer Jung; users@httpd.apache.org
>> Cc: Huang, Jinhui (OST)
>> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>>
>> Hi, Rainer:
>>
>> The following is the new error I received when I try to install Apache 2.4.20 again, using new PCRE 8.38. I have added a shortened screen capture (zptpt-20160428e-short.txt) as attachment. The original file is about 4.4 MB. In this short version, 45650 lines of make output have been deleted. Please let me know if you need the completed output.
>>
>> =======================================
>> # pwd
>> /usr/local/apache2/install/httpd-2.4.20
>>
>> # env
>> CC=gcc -m64
>> HOME=/
>> HZ=
>> LOGNAME=root
>> MAIL=/var/mail/root
>> PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr
>> /xpg4/bin:/usr/ccs/bin:/usr/ucb:/usr/dt/bin:/usr/openwin/bin:/usr/loca
>> l/bin:/usr/local/sbin:/usr/platform/sun4u/sbin:/opt/VRTS/bin:/opt/VRTS
>> ob/bin:/etc/vx/bin:/usr/lib/vxvm/bin:/usr/sfw/bin:/var/tmp/tomcat/apac
>> he-ant-1.6.5/bin:/usr/local/apache2/bin:/usr/lib
>> PWD=/usr/local/apache2/install/pcre-8.38
>> SHELL=/sbin/sh
>> TERM=xterm
>> TZ=US/Eastern
>> _=/bin/script
>>
>> # ./configure \
>> --prefix=/usr/local/apache2/httpd-2.4.20 \
>> --with-port=80 \
>> --with-mpm=worker \
>> --enable-mods-shared=most \
>> --enable-ssl \
>> --with-ssl=/usr/local/ssl \
>> --enable-proxy \
>> --disable-example \
>> --with-included-apr \
>> --with-pcre=/usr/local/apache2/pcre
>> ......
>>
>> # make clean
>> .......
>>
>> # make
>> ...
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apach!
 e!
>   2/instal
> l/httpd-2.4.20/modules/session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers -prefer-pic -c ssl_util_ocsp.c && touch ssl_util_ocsp.slo
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=link gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2    -L/usr/local/ssl/lib   -lssl -lcrypto -luuid -lsendfile -lrt -lsocket -lnsl -lpthread       -o mod_ssl.la -rpath /usr/local/apache2/httpd-2.4.20/modules -module -avoid-version  mod_ssl.lo ssl_engine_config.lo ssl_engine_init.lo ssl_engine_io.lo ssl_engine_kernel.lo ssl_engine_log.lo ssl_engine_mutex.lo ssl_engine_pphrase.lo ssl_engine_rand.lo ssl_engine_vars.lo ssl_scache.lo ssl_util_stapling.lo ssl_util.lo ssl_util_ssl.lo ssl_engine_ocsp.lo ssl_util_ocsp.lo  -export-symbols-regex ssl_module
>> Text relocation remains                         referenced
>>       against symbol                  offset      in file
>> .text (section)                     0xb88       /usr/local/ssl/lib/libssl.a(s3_lib.o)
>> .text (section)                     0xb90       /usr/local/ssl/lib/libssl.a(s3_lib.o)
>> .text (section)                     0xb98       /usr/local/ssl/lib/libssl.a(s3_lib.o)
>> .text (section)                     0xba0       /usr/local/ssl/lib/libssl.a(s3_lib.o)
>> ...
>> ...
>> oupper                             0x5f8       /usr/local/ssl/lib/libcrypto.a(gost_pmeth.o)
>> gmtime_r                            0x8         /usr/local/ssl/lib/libcrypto.a(o_time.o)
>> gethrtime                           0xa8        /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
>> sigfillset                          0x198       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
>> sigdelset                           0x1a4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
>> sigdelset                           0x1b0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
>> sigdelset                           0x1bc       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
>> sigdelset                           0x1c8       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
>> sigdelset                           0x1d4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
>> sigdelset                           0x1e0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
>> strtoul                             0x164       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
>> strtoul                             0x428       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
>> strtoul                             0x524       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
>> strtoul                             0x1518      /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
>> strtoul                             0x154       /usr/local/ssl/lib/libcrypto.a(a_strnid.o)
>> getuid                              0x3c8       /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
>> fstat                               0x8c        /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
>> dladdr                              0x864       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlopen                              0x44        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlopen                              0x908       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlclose                             0xb4        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlclose                             0x1dc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlclose                             0x92c       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlsym                               0x2d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlsym                               0x458       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlsym                               0x920       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlerror                             0xf0        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlerror                             0x368       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlerror                             0x4d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> dlerror                             0x8cc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
>> ld: fatal: relocations remain against allocatable but non-writable
>> sections
>> collect2: ld returned 1 exit status
>> *** Error code 1
>> make: Fatal error: Command failed for target `mod_ssl.la'
>> Current working directory
>> /usr/local/apache2/install/httpd-2.4.20/modules/ssl
>> *** Error code 1
>> The following command caused the error:
>> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>>       echo "" ; \
>> fi; \
>> list=''; for i in $list; do \
>>       target="shared-build"; \
>>       if test "$i" = "."; then \
>>           made_local=yes; \
>>           target="local-shared-build"; \
>>       fi; \
>>       if test "$i" != "srclib"; then \
>>           (cd $i && make $target) || exit 1; \
>>       fi; \
>> done; \
>> if test -f 'modules.mk'; then \
>>       if test -n 'mod_ssl.la'; then \
>>           echo "Building shared: mod_ssl.la"; \
>>           if test "$made_local" != "yes"; then \
>>                   make "local-shared-build" || exit 1; \
>>           fi; \
>>       fi; \
>> fi; \
>> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>>           echo "" ; \
>> fi
>> make: Fatal error: Command failed for target `shared-build-recursive'
>> Current working directory
>> /usr/local/apache2/install/httpd-2.4.20/modules/ssl
>> *** Error code 1
>> The following command caused the error:
>> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>>       echo "" ; \
>> fi; \
>> list='aaa cache core database debugging filters http loggers metadata proxy session slotmem ssl proxy/balancers arch/unix dav/main generators dav/fs mappers'; for i in $list; do \
>>       target="shared-build"; \
>>       if test "$i" = "."; then \
>>           made_local=yes; \
>>           target="local-shared-build"; \
>>       fi; \
>>       if test "$i" != "srclib"; then \
>>           (cd $i && make $target) || exit 1; \
>>       fi; \
>> done; \
>> if test -f 'modules.mk'; then \
>>       if test -n ''; then \
>>           echo "Building shared: "; \
>>           if test "$made_local" != "yes"; then \
>>                   make "local-shared-build" || exit 1; \
>>           fi; \
>>       fi; \
>> fi; \
>> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>>           echo "" ; \
>> fi
>> make: Fatal error: Command failed for target `shared-build-recursive'
>> Current working directory
>> /usr/local/apache2/install/httpd-2.4.20/modules
>> *** Error code 1
>> The following command caused the error:
>> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>>       echo "" ; \
>> fi; \
>> list='srclib os server modules support'; for i in $list; do \
>>       target="shared-build"; \
>>       if test "$i" = "."; then \
>>           made_local=yes; \
>>           target="local-shared-build"; \
>>       fi; \
>>       if test "$i" != "srclib"; then \
>>           (cd $i && make $target) || exit 1; \
>>       fi; \
>> done; \
>> if test -f 'modules.mk'; then \
>>       if test -n ''; then \
>>           echo "Building shared: "; \
>>           if test "$made_local" != "yes"; then \
>>                   make "local-shared-build" || exit 1; \
>>           fi; \
>>       fi; \
>> fi; \
>> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>>           echo "" ; \
>> fi
>> make: Fatal error: Command failed for target `shared-build-recursive'
>> Current working directory /usr/local/apache2/install/httpd-2.4.20
>> *** Error code 1
>> The following command caused the error:
>> otarget=`echo all-recursive|sed s/-recursive//`; \ list='  srclib os server modules support'; \ for i in $list; do \
>>       if test -d "$i"; then \
>>           target="$otarget"; \
>>           echo "Making $target in $i"; \
>>           if test "$i" = "."; then \
>>                   made_local=yes; \
>>                   target="local-$target"; \
>>           fi; \
>>           (cd $i && make $target) || exit 1; \
>>       fi; \
>> done; \
>> if test "$otarget" = "all" && test -z 'httpd shared-build '; then \
>>       made_local=yes; \
>> fi; \
>> if test "$made_local" != "yes"; then \
>>       make "local-$otarget" || exit 1; \ fi
>> make: Fatal error: Command failed for target `all-recursive'
>> #
>>
>> =======================================
>>
>> -----Original Message-----
>> From: Huang, Jinhui (OST)
>> Sent: Friday, April 29, 2016 9:39 AM
>> To: Rainer Jung; users@httpd.apache.org
>> Cc: Huang, Jinhui (OST)
>> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>>
>> Thank you for the advice of using pcre 8.38. I installed it last night successfully to replace the old.
>>
>> When I first try to install it using
>> #  export CC="gcc -m64"
>> #  ./configure --prefix=/usr/local/apache2/pcre/ # make I received the
>> following error,
>>
>> ....
>> ....
>>     CC       libpcre_la-pcre_version.lo
>>     CC       libpcre_la-pcre_xclass.lo
>>     CC       libpcre_la-pcre_chartables.lo
>>     CCLD     libpcre.la
>>     CC       libpcreposix_la-pcreposix.lo
>>     CCLD     libpcreposix.la
>>     CXX      libpcrecpp_la-pcrecpp.lo
>>     CXX      libpcrecpp_la-pcre_scanner.lo
>>     CXX      libpcrecpp_la-pcre_stringpiece.lo
>>     CXXLD    libpcrecpp.la
>> ld: fatal: file ./.libs/libpcre.so: wrong ELF class: ELFCLASS64
>> ld: fatal: file processing errors. No output written to
>> .libs/libpcrecpp.so.0.0.1
>> collect2: ld returned 1 exit status
>> *** Error code 1
>> The following command caused the error:
>> echo "  CXXLD   " libpcrecpp.la;/bin/bash ./libtool --silent --tag=CXX    --mode=link g++      -O2 -version-info 0:1:0   -o libpcrecpp.la -rpath /usr/local/apache2/pcre/lib libpcrecpp_la-pcrecpp.lo  libpcrecpp_la-pcre_scanner.lo  libpcrecpp_la-pcre_stringpiece.lo libpcre.la
>> make: Fatal error: Command failed for target `libpcrecpp.la'
>> Current working directory /usr/local/apache2/install/pcre-8.38
>> *** Error code 1
>> make: Fatal error: Command failed for target `all'
>>
>> Inspired by the example I searched online, I added one more option (--disable-cpp) to the configure. Then the pcre was installed successfully:
>>
>> # ./configure --prefix=/usr/local/apache2/pcre --disable-cpp ...
>> # make clean
>> ...
>> # make
>> ...
>> ...
>>     CCLD     libpcre.la
>>     CC       libpcreposix_la-pcreposix.lo
>>     CCLD     libpcreposix.la
>>     CC       pcretest-pcretest.o
>>     CC       pcretest-pcre_printint.o
>>     CCLD     pcretest
>> ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file
>>     CC       pcregrep-pcregrep.o
>>     CCLD     pcregrep
>> ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file # # make install ...
>>
>> I hope the two warnings during make are not important.  Please let me know if you need to see the whole screen capture (text file).
>>
>>
>> Last night, after the install of the PCRE 8.38, I tried the Apache installation again. This time I got a different error message. I will post it very soon.
>>
>> Jin
>>
>>
>> -----Original Message-----
>> From: Rainer Jung [mailto:rainer.jung@kippdata.de]
>> Sent: Thursday, April 28, 2016 3:30 PM
>> To: users@httpd.apache.org
>> Cc: Huang, Jinhui (OST)
>> Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>>
>> Am 28.04.2016 um 19:59 schrieb Jinhui.Huang.CTR@dot.gov:
>>> Hi, Rainer:
>>> The following is the output of make,  after I run a "make clean" first.
>>> Jin
>>> --------------------------------------------------------
>>> # make clean
>>> Making clean in test
>>> rm -f *.o *.lo *.slo *.obj *.a *.la
>>> rm -rf .libs
>>> Making clean in srclib
>>> Making clean in apr-util
>>> Making clean in test
>>> rm -f ./*.o ./*.lo ./*.a ./*.la ./*.so ./*.obj rm -rf ./.libs rm -f
>>> manyfile.bin testfile.txt data/sqlite*.db dbd testall rm -rf
>>> autom4te.cache ......
>>> ......
>>>
>>> # make
>>> Making all in srclib
>>> Making all in apr
>>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/build/mkdir.sh tools
>>> /bin/bash /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -g -O2   -DHAVE_CONFIG_H  -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT   -I./include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I./include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private  -o tools/gen_test_char.lo -c tools/gen_test_char.c && touch tools/gen_test_char.lo
>>> /bin/bash /usr/local/apache2/inst
>>> ......
>>> ......
>>> pd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_xml.c && touch util_xml.lo
>>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.2!
 0!
>   /!
>>    modules/
>> session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/test
>> -I/usr/local/apache2/install/httpd-2.4.20/server
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/generators
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers
>> -prefer-non-pic -static -c util_filter.c && touch util_filter.lo
>>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.2!
 0!
>   /!
>>    modules/
>> session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/test
>> -I/usr/local/apache2/install/httpd-2.4.20/server
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/generators
>> -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers
>> -prefer-non-pic -static -c util_pcre.c && touch util_pcre.lo
>>> util_pcre.c:49:18: pcre.h: No such file or directory
>>> util_pcre.c: In function `ap_regfree':
>>> util_pcre.c:104: error: `pcre_free' undeclared (first use in this
>>> function)
>>> util_pcre.c:104: error: (Each undeclared identifier is reported only
>>> once
>>> util_pcre.c:104: error: for each function it appears in.)
>>> util_pcre.c: In function `ap_regcomp':
>>> util_pcre.c:128: error: `PCRE_DUPNAMES' undeclared (first use in this
>>> function)
>>> util_pcre.c:131: error: `PCRE_CASELESS' undeclared (first use in this
>>> function)
>>> util_pcre.c:133: error: `PCRE_MULTILINE' undeclared (first use in
>>> this
>>> function)
>>> util_pcre.c:135: error: `PCRE_DOTALL' undeclared (first use in this
>>> function)
>>> util_pcre.c:138: warning: implicit declaration of function `pcre_compile2'
>>> util_pcre.c:138: warning: assignment makes pointer from integer
>>> without a cast
>>> util_pcre.c:151: warning: implicit declaration of function `pcre_fullinfo'
>>> util_pcre.c:151: error: syntax error before "pcre"
>>> util_pcre.c: In function `ap_regexec_len':
>>> util_pcre.c:189: error: `PCRE_NOTBOL' undeclared (first use in this
>>> function)
>>> util_pcre.c:191: error: `PCRE_NOTEOL' undeclared (first use in this
>>> function)
>>> util_pcre.c:207: warning: implicit declaration of function `pcre_exec'
>>> util_pcre.c:207: error: syntax error before "pcre"
>>> util_pcre.c:230: error: `PCRE_ERROR_NOMATCH' undeclared (first use in
>>> this function)
>>> util_pcre.c:232: error: `PCRE_ERROR_NULL' undeclared (first use in
>>> this function)
>>> util_pcre.c:234: error: `PCRE_ERROR_BADOPTION' undeclared (first use
>>> in this function)
>>> util_pcre.c:236: error: `PCRE_ERROR_BADMAGIC' undeclared (first use
>>> in this function)
>>> util_pcre.c:238: error: `PCRE_ERROR_UNKNOWN_NODE' undeclared (first
>>> use in this function)
>>> util_pcre.c:240: error: `PCRE_ERROR_NOMEMORY' undeclared (first use
>>> in this function)
>>> util_pcre.c: In function `ap_regname':
>>> util_pcre.c:269: error: syntax error before "pcre"
>>> util_pcre.c:271: error: syntax error before "pcre"
>>> util_pcre.c:273: error: syntax error before "pcre"
>>> *** Error code 1
>>> make: Fatal error: Command failed for target `util_pcre.lo'
>>> Current working directory
>>> /usr/local/apache2/install/httpd-2.4.20/server
>>> *** Error code 1
>>
>> This error is likely a consequence of the error during configure:
>>
>> checking for pcre-config... false
>>
>> configure: Using external PCRE library from
>> /usr/local/apache2/pcre2/bin/pcre2-config
>>
>>      setting PCRE_INCLUDES to "-I/usr/local/apache2/pcre2/include"
>>
>> Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8]
>> [--libs-posix]  [--cflags] [--cflags-posix]
>>
>>      setting PCRE_LIBS to ""
>>
>> Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8]
>> [--libs-posix]  [--cflags] [--cflags-posix]
>>
>>
>> This indicates that your try to build httpd against pcre version 10. We only support pcre until version 8, latest is 8.38. PCRE version 10, aka pcre2, is not API compatible with pcre until 8. Since the path /usr/local/apache2/pcre2/ looks like you compiled pcre2 yourself, grab pcre 8.38, compile it again and run configure against that one.
>>
>> This will IMHO *not* fix you other issue about ab.o being 32 bit. Could it be, that ab.o was in your build directory from another attempt at building where you started without the -m64 flag, so that there was already an old 32 bit ab.o file and "make clean" has already fixed that?
>>
>> Regards,
>>
>> Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by "Huang, Jinhui (OST)" <Ji...@dot.gov>.
Hi, Rainer:
I checked the 32/64 Bit issue on PCRE first. I found 
/usr/local/apache2/pcre/lib/libpcre.a:  current ar archive, 32-bit symbol table
/usr/local/apache2/pcre/lib/libpcreposix.a:     current ar archive, 32-bit symbol table
/usr/local/apache2/pcre/lib/libpcre.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped
/usr/local/apache2/pcre/lib/libpcreposix.so:    ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped

I guess the .so files are ok. But the two  .a files are 32-bit ones. Are they OK?  I used the following commands I thought they should be 64 bit version.

# cd /usr/local/apache2/install/pcre-8.38
# export CC="gcc -m64"
# ./configure --prefix=/usr/local/apache2/pcre --disable-cpp
# make clean
# make
# make install

Jin

-----Original Message-----
From: Huang, Jinhui (OST) 
Sent: Monday, May 02, 2016 12:32 PM
To: users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Thank you, Rainer. I will check that and try again.
Jin

-----Original Message-----
From: Rainer Jung [mailto:rainer.jung@kippdata.de]
Sent: Monday, May 02, 2016 12:27 PM
To: users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Am 02.05.2016 um 15:36 schrieb Huang, Jinhui (OST):
> Hi, Rainer:
>
> I searched online to find the OpenSSL version supported by Apache 2.4.20. It should be openssl-1.0.2g. I installed this version and then tried to install Apache again. It failed with same error message.
>
> Searching the error (ld: fatal: relocations remain against allocatable but non-writable sections) again, I am now trying to compile the apache source with "-fPIC" option. Hoping this will make a difference.
> 	export CC="gcc -m64 -fPIC"
>
> Do I need to recompile/build the PCRE and OpenSSL using the same gcc option?

You must compile PCRE and OpenSSL as 64 Bit versions. You can check using the output of the "file" command on the PCRE resp. OpenSSL library files. For OpenSSL you might need to use an appropriate Configure command argument instead of CC.

The below error message sounds as you didn't build the shared libraries for OpenSSL (*.so) and instead only the static ones (*.a). It should be easier to work with the shared ones (argument "shared" to Configure).

If you succeed in building 64 bit libraries and the shared ones are present, and then you still get "ld: fatal: relocations remain against allocatable but non-writable sections", you might succeed in setting

MOD_SSL_LDADD=-Wl,-Bsymbolic
export MOD_SSL_LDADD

Regards,

Rainr

> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Friday, April 29, 2016 11:18 AM
> To: Rainer Jung; users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> The error seems related to my OpenSSL.  On this server, I have two versions of OpenSSL. I am trying to use the one at /usr/local/ssl/ (OpenSSL 1.0.1s ).
> Is this version supported for Apache 2.4.20?
>
> ==================================================
> # which openssl
> /usr/sfw/bin/openssl
>
> # openssl version
> OpenSSL 0.9.7d 17 Mar 2004 (+ security fixes for: CVE-2005-2969
> CVE-2006-2937 CVE-2006-2940 CVE-2006-3738 CVE-2006-4339 CVE-2006-4343
> CVE-2006-7250 CVE-2007-5135 CVE-2007-3108 CVE-2008-5077 CVE-2008-7270
> CVE-2009-0590 CVE-2009-2409 CVE-2009-3555 CVE-2010-4180 CVE-2011-4576
> CVE-2011-4619 CVE-2012-0884 CVE-2012-1165 CVE-2012-2110 CVE-2012-2131
> CVE-2012-2333 CVE-2013-0166 CVE-2013-0169 CVE-2014-0224 CVE-2014-3508
> CVE-2014-3511 CVE-2014-3566 CVE-2014-3567 CVE-2014-3568 CVE-2014-3569
> CVE-2014-3570 CVE-2014-8275 CVE-2015-0204 CVE-2015-0286 CVE-2015-0287
> CVE-2015-0288 CVE-2015-0289 CVE-2015-0292 CVE-2015-0293 CVE-2015-1789
> CVE-2015-1790 CVE-2015-4000)
>
> # /usr/local/ssl/bin/openssl version
> OpenSSL 1.0.1s  1 Mar 2016
> ==================================================
>
>
> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Friday, April 29, 2016 10:20 AM
> To: Rainer Jung; users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Hi, Rainer:
>
> The following is the new error I received when I try to install Apache 2.4.20 again, using new PCRE 8.38. I have added a shortened screen capture (zptpt-20160428e-short.txt) as attachment. The original file is about 4.4 MB. In this short version, 45650 lines of make output have been deleted. Please let me know if you need the completed output.
>
> =======================================
> # pwd
> /usr/local/apache2/install/httpd-2.4.20
>
> # env
> CC=gcc -m64
> HOME=/
> HZ=
> LOGNAME=root
> MAIL=/var/mail/root
> PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr
> /xpg4/bin:/usr/ccs/bin:/usr/ucb:/usr/dt/bin:/usr/openwin/bin:/usr/loca
> l/bin:/usr/local/sbin:/usr/platform/sun4u/sbin:/opt/VRTS/bin:/opt/VRTS
> ob/bin:/etc/vx/bin:/usr/lib/vxvm/bin:/usr/sfw/bin:/var/tmp/tomcat/apac
> he-ant-1.6.5/bin:/usr/local/apache2/bin:/usr/lib
> PWD=/usr/local/apache2/install/pcre-8.38
> SHELL=/sbin/sh
> TERM=xterm
> TZ=US/Eastern
> _=/bin/script
>
> # ./configure \
> --prefix=/usr/local/apache2/httpd-2.4.20 \
> --with-port=80 \
> --with-mpm=worker \
> --enable-mods-shared=most \
> --enable-ssl \
> --with-ssl=/usr/local/ssl \
> --enable-proxy \
> --disable-example \
> --with-included-apr \
> --with-pcre=/usr/local/apache2/pcre
> ......
>
> # make clean
> .......
>
> # make
> ...
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache!
 2/instal
l/httpd-2.4.20/modules/session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers -prefer-pic -c ssl_util_ocsp.c && touch ssl_util_ocsp.slo
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=link gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2    -L/usr/local/ssl/lib   -lssl -lcrypto -luuid -lsendfile -lrt -lsocket -lnsl -lpthread       -o mod_ssl.la -rpath /usr/local/apache2/httpd-2.4.20/modules -module -avoid-version  mod_ssl.lo ssl_engine_config.lo ssl_engine_init.lo ssl_engine_io.lo ssl_engine_kernel.lo ssl_engine_log.lo ssl_engine_mutex.lo ssl_engine_pphrase.lo ssl_engine_rand.lo ssl_engine_vars.lo ssl_scache.lo ssl_util_stapling.lo ssl_util.lo ssl_util_ssl.lo ssl_engine_ocsp.lo ssl_util_ocsp.lo  -export-symbols-regex ssl_module
> Text relocation remains                         referenced
>      against symbol                  offset      in file
> .text (section)                     0xb88       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> .text (section)                     0xb90       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> .text (section)                     0xb98       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> .text (section)                     0xba0       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> ...
> ...
> oupper                             0x5f8       /usr/local/ssl/lib/libcrypto.a(gost_pmeth.o)
> gmtime_r                            0x8         /usr/local/ssl/lib/libcrypto.a(o_time.o)
> gethrtime                           0xa8        /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigfillset                          0x198       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1a4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1b0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1bc       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1c8       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1d4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1e0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> strtoul                             0x164       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> strtoul                             0x428       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
> strtoul                             0x524       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
> strtoul                             0x1518      /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
> strtoul                             0x154       /usr/local/ssl/lib/libcrypto.a(a_strnid.o)
> getuid                              0x3c8       /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
> fstat                               0x8c        /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
> dladdr                              0x864       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlopen                              0x44        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlopen                              0x908       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlclose                             0xb4        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlclose                             0x1dc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlclose                             0x92c       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlsym                               0x2d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlsym                               0x458       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlsym                               0x920       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0xf0        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0x368       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0x4d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0x8cc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> ld: fatal: relocations remain against allocatable but non-writable 
> sections
> collect2: ld returned 1 exit status
> *** Error code 1
> make: Fatal error: Command failed for target `mod_ssl.la'
> Current working directory
> /usr/local/apache2/install/httpd-2.4.20/modules/ssl
> *** Error code 1
> The following command caused the error:
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>      echo "" ; \
> fi; \
> list=''; for i in $list; do \
>      target="shared-build"; \
>      if test "$i" = "."; then \
>          made_local=yes; \
>          target="local-shared-build"; \
>      fi; \
>      if test "$i" != "srclib"; then \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test -f 'modules.mk'; then \
>      if test -n 'mod_ssl.la'; then \
>          echo "Building shared: mod_ssl.la"; \
>          if test "$made_local" != "yes"; then \
>                  make "local-shared-build" || exit 1; \
>          fi; \
>      fi; \
> fi; \
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>          echo "" ; \
> fi
> make: Fatal error: Command failed for target `shared-build-recursive'
> Current working directory
> /usr/local/apache2/install/httpd-2.4.20/modules/ssl
> *** Error code 1
> The following command caused the error:
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>      echo "" ; \
> fi; \
> list='aaa cache core database debugging filters http loggers metadata proxy session slotmem ssl proxy/balancers arch/unix dav/main generators dav/fs mappers'; for i in $list; do \
>      target="shared-build"; \
>      if test "$i" = "."; then \
>          made_local=yes; \
>          target="local-shared-build"; \
>      fi; \
>      if test "$i" != "srclib"; then \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test -f 'modules.mk'; then \
>      if test -n ''; then \
>          echo "Building shared: "; \
>          if test "$made_local" != "yes"; then \
>                  make "local-shared-build" || exit 1; \
>          fi; \
>      fi; \
> fi; \
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>          echo "" ; \
> fi
> make: Fatal error: Command failed for target `shared-build-recursive'
> Current working directory
> /usr/local/apache2/install/httpd-2.4.20/modules
> *** Error code 1
> The following command caused the error:
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>      echo "" ; \
> fi; \
> list='srclib os server modules support'; for i in $list; do \
>      target="shared-build"; \
>      if test "$i" = "."; then \
>          made_local=yes; \
>          target="local-shared-build"; \
>      fi; \
>      if test "$i" != "srclib"; then \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test -f 'modules.mk'; then \
>      if test -n ''; then \
>          echo "Building shared: "; \
>          if test "$made_local" != "yes"; then \
>                  make "local-shared-build" || exit 1; \
>          fi; \
>      fi; \
> fi; \
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>          echo "" ; \
> fi
> make: Fatal error: Command failed for target `shared-build-recursive'
> Current working directory /usr/local/apache2/install/httpd-2.4.20
> *** Error code 1
> The following command caused the error:
> otarget=`echo all-recursive|sed s/-recursive//`; \ list='  srclib os server modules support'; \ for i in $list; do \
>      if test -d "$i"; then \
>          target="$otarget"; \
>          echo "Making $target in $i"; \
>          if test "$i" = "."; then \
>                  made_local=yes; \
>                  target="local-$target"; \
>          fi; \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test "$otarget" = "all" && test -z 'httpd shared-build '; then \
>      made_local=yes; \
> fi; \
> if test "$made_local" != "yes"; then \
>      make "local-$otarget" || exit 1; \ fi
> make: Fatal error: Command failed for target `all-recursive'
> #
>
> =======================================
>
> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Friday, April 29, 2016 9:39 AM
> To: Rainer Jung; users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Thank you for the advice of using pcre 8.38. I installed it last night successfully to replace the old.
>
> When I first try to install it using
> #  export CC="gcc -m64"
> #  ./configure --prefix=/usr/local/apache2/pcre/ # make I received the 
> following error,
>
> ....
> ....
>    CC       libpcre_la-pcre_version.lo
>    CC       libpcre_la-pcre_xclass.lo
>    CC       libpcre_la-pcre_chartables.lo
>    CCLD     libpcre.la
>    CC       libpcreposix_la-pcreposix.lo
>    CCLD     libpcreposix.la
>    CXX      libpcrecpp_la-pcrecpp.lo
>    CXX      libpcrecpp_la-pcre_scanner.lo
>    CXX      libpcrecpp_la-pcre_stringpiece.lo
>    CXXLD    libpcrecpp.la
> ld: fatal: file ./.libs/libpcre.so: wrong ELF class: ELFCLASS64
> ld: fatal: file processing errors. No output written to
> .libs/libpcrecpp.so.0.0.1
> collect2: ld returned 1 exit status
> *** Error code 1
> The following command caused the error:
> echo "  CXXLD   " libpcrecpp.la;/bin/bash ./libtool --silent --tag=CXX    --mode=link g++      -O2 -version-info 0:1:0   -o libpcrecpp.la -rpath /usr/local/apache2/pcre/lib libpcrecpp_la-pcrecpp.lo  libpcrecpp_la-pcre_scanner.lo  libpcrecpp_la-pcre_stringpiece.lo libpcre.la
> make: Fatal error: Command failed for target `libpcrecpp.la'
> Current working directory /usr/local/apache2/install/pcre-8.38
> *** Error code 1
> make: Fatal error: Command failed for target `all'
>
> Inspired by the example I searched online, I added one more option (--disable-cpp) to the configure. Then the pcre was installed successfully:
>
> # ./configure --prefix=/usr/local/apache2/pcre --disable-cpp ...
> # make clean
> ...
> # make
> ...
> ...
>    CCLD     libpcre.la
>    CC       libpcreposix_la-pcreposix.lo
>    CCLD     libpcreposix.la
>    CC       pcretest-pcretest.o
>    CC       pcretest-pcre_printint.o
>    CCLD     pcretest
> ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file
>    CC       pcregrep-pcregrep.o
>    CCLD     pcregrep
> ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file # # make install ...
>
> I hope the two warnings during make are not important.  Please let me know if you need to see the whole screen capture (text file).
>
>
> Last night, after the install of the PCRE 8.38, I tried the Apache installation again. This time I got a different error message. I will post it very soon.
>
> Jin
>
>
> -----Original Message-----
> From: Rainer Jung [mailto:rainer.jung@kippdata.de]
> Sent: Thursday, April 28, 2016 3:30 PM
> To: users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Am 28.04.2016 um 19:59 schrieb Jinhui.Huang.CTR@dot.gov:
>> Hi, Rainer:
>> The following is the output of make,  after I run a "make clean" first.
>> Jin
>> --------------------------------------------------------
>> # make clean
>> Making clean in test
>> rm -f *.o *.lo *.slo *.obj *.a *.la
>> rm -rf .libs
>> Making clean in srclib
>> Making clean in apr-util
>> Making clean in test
>> rm -f ./*.o ./*.lo ./*.a ./*.la ./*.so ./*.obj rm -rf ./.libs rm -f 
>> manyfile.bin testfile.txt data/sqlite*.db dbd testall rm -rf 
>> autom4te.cache ......
>> ......
>>
>> # make
>> Making all in srclib
>> Making all in apr
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/build/mkdir.sh tools
>> /bin/bash /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -g -O2   -DHAVE_CONFIG_H  -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT   -I./include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I./include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private  -o tools/gen_test_char.lo -c tools/gen_test_char.c && touch tools/gen_test_char.lo
>> /bin/bash /usr/local/apache2/inst
>> ......
>> ......
>> pd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_xml.c && touch util_xml.lo
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20!
 /!
>   modules/
> session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl
> -I/usr/local/apache2/install/httpd-2.4.20/modules/test
> -I/usr/local/apache2/install/httpd-2.4.20/server
> -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix
> -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main
> -I/usr/local/apache2/install/httpd-2.4.20/modules/generators
> -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers
> -prefer-non-pic -static -c util_filter.c && touch util_filter.lo
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20!
 /!
>   modules/
> session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl
> -I/usr/local/apache2/install/httpd-2.4.20/modules/test
> -I/usr/local/apache2/install/httpd-2.4.20/server
> -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix
> -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main
> -I/usr/local/apache2/install/httpd-2.4.20/modules/generators
> -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers
> -prefer-non-pic -static -c util_pcre.c && touch util_pcre.lo
>> util_pcre.c:49:18: pcre.h: No such file or directory
>> util_pcre.c: In function `ap_regfree':
>> util_pcre.c:104: error: `pcre_free' undeclared (first use in this
>> function)
>> util_pcre.c:104: error: (Each undeclared identifier is reported only 
>> once
>> util_pcre.c:104: error: for each function it appears in.)
>> util_pcre.c: In function `ap_regcomp':
>> util_pcre.c:128: error: `PCRE_DUPNAMES' undeclared (first use in this
>> function)
>> util_pcre.c:131: error: `PCRE_CASELESS' undeclared (first use in this
>> function)
>> util_pcre.c:133: error: `PCRE_MULTILINE' undeclared (first use in 
>> this
>> function)
>> util_pcre.c:135: error: `PCRE_DOTALL' undeclared (first use in this
>> function)
>> util_pcre.c:138: warning: implicit declaration of function `pcre_compile2'
>> util_pcre.c:138: warning: assignment makes pointer from integer 
>> without a cast
>> util_pcre.c:151: warning: implicit declaration of function `pcre_fullinfo'
>> util_pcre.c:151: error: syntax error before "pcre"
>> util_pcre.c: In function `ap_regexec_len':
>> util_pcre.c:189: error: `PCRE_NOTBOL' undeclared (first use in this
>> function)
>> util_pcre.c:191: error: `PCRE_NOTEOL' undeclared (first use in this
>> function)
>> util_pcre.c:207: warning: implicit declaration of function `pcre_exec'
>> util_pcre.c:207: error: syntax error before "pcre"
>> util_pcre.c:230: error: `PCRE_ERROR_NOMATCH' undeclared (first use in 
>> this function)
>> util_pcre.c:232: error: `PCRE_ERROR_NULL' undeclared (first use in 
>> this function)
>> util_pcre.c:234: error: `PCRE_ERROR_BADOPTION' undeclared (first use 
>> in this function)
>> util_pcre.c:236: error: `PCRE_ERROR_BADMAGIC' undeclared (first use 
>> in this function)
>> util_pcre.c:238: error: `PCRE_ERROR_UNKNOWN_NODE' undeclared (first 
>> use in this function)
>> util_pcre.c:240: error: `PCRE_ERROR_NOMEMORY' undeclared (first use 
>> in this function)
>> util_pcre.c: In function `ap_regname':
>> util_pcre.c:269: error: syntax error before "pcre"
>> util_pcre.c:271: error: syntax error before "pcre"
>> util_pcre.c:273: error: syntax error before "pcre"
>> *** Error code 1
>> make: Fatal error: Command failed for target `util_pcre.lo'
>> Current working directory
>> /usr/local/apache2/install/httpd-2.4.20/server
>> *** Error code 1
>
> This error is likely a consequence of the error during configure:
>
> checking for pcre-config... false
>
> configure: Using external PCRE library from 
> /usr/local/apache2/pcre2/bin/pcre2-config
>
>     setting PCRE_INCLUDES to "-I/usr/local/apache2/pcre2/include"
>
> Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] 
> [--libs-posix]  [--cflags] [--cflags-posix]
>
>     setting PCRE_LIBS to ""
>
> Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] 
> [--libs-posix]  [--cflags] [--cflags-posix]
>
>
> This indicates that your try to build httpd against pcre version 10. We only support pcre until version 8, latest is 8.38. PCRE version 10, aka pcre2, is not API compatible with pcre until 8. Since the path /usr/local/apache2/pcre2/ looks like you compiled pcre2 yourself, grab pcre 8.38, compile it again and run configure against that one.
>
> This will IMHO *not* fix you other issue about ab.o being 32 bit. Could it be, that ab.o was in your build directory from another attempt at building where you started without the -m64 flag, so that there was already an old 32 bit ab.o file and "make clean" has already fixed that?
>
> Regards,
>
> Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by "Huang, Jinhui (OST)" <Ji...@dot.gov>.
Thank you, Rainer. I will check that and try again.
Jin

-----Original Message-----
From: Rainer Jung [mailto:rainer.jung@kippdata.de] 
Sent: Monday, May 02, 2016 12:27 PM
To: users@httpd.apache.org
Cc: Huang, Jinhui (OST)
Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Am 02.05.2016 um 15:36 schrieb Huang, Jinhui (OST):
> Hi, Rainer:
>
> I searched online to find the OpenSSL version supported by Apache 2.4.20. It should be openssl-1.0.2g. I installed this version and then tried to install Apache again. It failed with same error message.
>
> Searching the error (ld: fatal: relocations remain against allocatable but non-writable sections) again, I am now trying to compile the apache source with "-fPIC" option. Hoping this will make a difference.
> 	export CC="gcc -m64 -fPIC"
>
> Do I need to recompile/build the PCRE and OpenSSL using the same gcc option?

You must compile PCRE and OpenSSL as 64 Bit versions. You can check using the output of the "file" command on the PCRE resp. OpenSSL library files. For OpenSSL you might need to use an appropriate Configure command argument instead of CC.

The below error message sounds as you didn't build the shared libraries for OpenSSL (*.so) and instead only the static ones (*.a). It should be easier to work with the shared ones (argument "shared" to Configure).

If you succeed in building 64 bit libraries and the shared ones are present, and then you still get "ld: fatal: relocations remain against allocatable but non-writable sections", you might succeed in setting

MOD_SSL_LDADD=-Wl,-Bsymbolic
export MOD_SSL_LDADD

Regards,

Rainr

> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Friday, April 29, 2016 11:18 AM
> To: Rainer Jung; users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> The error seems related to my OpenSSL.  On this server, I have two versions of OpenSSL. I am trying to use the one at /usr/local/ssl/ (OpenSSL 1.0.1s ).
> Is this version supported for Apache 2.4.20?
>
> ==================================================
> # which openssl
> /usr/sfw/bin/openssl
>
> # openssl version
> OpenSSL 0.9.7d 17 Mar 2004 (+ security fixes for: CVE-2005-2969 
> CVE-2006-2937 CVE-2006-2940 CVE-2006-3738 CVE-2006-4339 CVE-2006-4343 
> CVE-2006-7250 CVE-2007-5135 CVE-2007-3108 CVE-2008-5077 CVE-2008-7270 
> CVE-2009-0590 CVE-2009-2409 CVE-2009-3555 CVE-2010-4180 CVE-2011-4576 
> CVE-2011-4619 CVE-2012-0884 CVE-2012-1165 CVE-2012-2110 CVE-2012-2131 
> CVE-2012-2333 CVE-2013-0166 CVE-2013-0169 CVE-2014-0224 CVE-2014-3508 
> CVE-2014-3511 CVE-2014-3566 CVE-2014-3567 CVE-2014-3568 CVE-2014-3569 
> CVE-2014-3570 CVE-2014-8275 CVE-2015-0204 CVE-2015-0286 CVE-2015-0287 
> CVE-2015-0288 CVE-2015-0289 CVE-2015-0292 CVE-2015-0293 CVE-2015-1789 
> CVE-2015-1790 CVE-2015-4000)
>
> # /usr/local/ssl/bin/openssl version
> OpenSSL 1.0.1s  1 Mar 2016
> ==================================================
>
>
> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Friday, April 29, 2016 10:20 AM
> To: Rainer Jung; users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Hi, Rainer:
>
> The following is the new error I received when I try to install Apache 2.4.20 again, using new PCRE 8.38. I have added a shortened screen capture (zptpt-20160428e-short.txt) as attachment. The original file is about 4.4 MB. In this short version, 45650 lines of make output have been deleted. Please let me know if you need the completed output.
>
> =======================================
> # pwd
> /usr/local/apache2/install/httpd-2.4.20
>
> # env
> CC=gcc -m64
> HOME=/
> HZ=
> LOGNAME=root
> MAIL=/var/mail/root
> PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr
> /xpg4/bin:/usr/ccs/bin:/usr/ucb:/usr/dt/bin:/usr/openwin/bin:/usr/loca
> l/bin:/usr/local/sbin:/usr/platform/sun4u/sbin:/opt/VRTS/bin:/opt/VRTS
> ob/bin:/etc/vx/bin:/usr/lib/vxvm/bin:/usr/sfw/bin:/var/tmp/tomcat/apac
> he-ant-1.6.5/bin:/usr/local/apache2/bin:/usr/lib
> PWD=/usr/local/apache2/install/pcre-8.38
> SHELL=/sbin/sh
> TERM=xterm
> TZ=US/Eastern
> _=/bin/script
>
> # ./configure \
> --prefix=/usr/local/apache2/httpd-2.4.20 \
> --with-port=80 \
> --with-mpm=worker \
> --enable-mods-shared=most \
> --enable-ssl \
> --with-ssl=/usr/local/ssl \
> --enable-proxy \
> --disable-example \
> --with-included-apr \
> --with-pcre=/usr/local/apache2/pcre
> ......
>
> # make clean
> .......
>
> # make
> ...
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache!
 2/instal
l/httpd-2.4.20/modules/session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers -prefer-pic -c ssl_util_ocsp.c && touch ssl_util_ocsp.slo
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=link gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2    -L/usr/local/ssl/lib   -lssl -lcrypto -luuid -lsendfile -lrt -lsocket -lnsl -lpthread       -o mod_ssl.la -rpath /usr/local/apache2/httpd-2.4.20/modules -module -avoid-version  mod_ssl.lo ssl_engine_config.lo ssl_engine_init.lo ssl_engine_io.lo ssl_engine_kernel.lo ssl_engine_log.lo ssl_engine_mutex.lo ssl_engine_pphrase.lo ssl_engine_rand.lo ssl_engine_vars.lo ssl_scache.lo ssl_util_stapling.lo ssl_util.lo ssl_util_ssl.lo ssl_engine_ocsp.lo ssl_util_ocsp.lo  -export-symbols-regex ssl_module
> Text relocation remains                         referenced
>      against symbol                  offset      in file
> .text (section)                     0xb88       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> .text (section)                     0xb90       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> .text (section)                     0xb98       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> .text (section)                     0xba0       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> ...
> ...
> oupper                             0x5f8       /usr/local/ssl/lib/libcrypto.a(gost_pmeth.o)
> gmtime_r                            0x8         /usr/local/ssl/lib/libcrypto.a(o_time.o)
> gethrtime                           0xa8        /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigfillset                          0x198       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1a4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1b0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1bc       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1c8       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1d4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1e0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> strtoul                             0x164       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> strtoul                             0x428       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
> strtoul                             0x524       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
> strtoul                             0x1518      /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
> strtoul                             0x154       /usr/local/ssl/lib/libcrypto.a(a_strnid.o)
> getuid                              0x3c8       /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
> fstat                               0x8c        /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
> dladdr                              0x864       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlopen                              0x44        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlopen                              0x908       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlclose                             0xb4        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlclose                             0x1dc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlclose                             0x92c       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlsym                               0x2d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlsym                               0x458       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlsym                               0x920       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0xf0        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0x368       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0x4d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0x8cc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> ld: fatal: relocations remain against allocatable but non-writable 
> sections
> collect2: ld returned 1 exit status
> *** Error code 1
> make: Fatal error: Command failed for target `mod_ssl.la'
> Current working directory 
> /usr/local/apache2/install/httpd-2.4.20/modules/ssl
> *** Error code 1
> The following command caused the error:
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>      echo "" ; \
> fi; \
> list=''; for i in $list; do \
>      target="shared-build"; \
>      if test "$i" = "."; then \
>          made_local=yes; \
>          target="local-shared-build"; \
>      fi; \
>      if test "$i" != "srclib"; then \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test -f 'modules.mk'; then \
>      if test -n 'mod_ssl.la'; then \
>          echo "Building shared: mod_ssl.la"; \
>          if test "$made_local" != "yes"; then \
>                  make "local-shared-build" || exit 1; \
>          fi; \
>      fi; \
> fi; \
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>          echo "" ; \
> fi
> make: Fatal error: Command failed for target `shared-build-recursive'
> Current working directory 
> /usr/local/apache2/install/httpd-2.4.20/modules/ssl
> *** Error code 1
> The following command caused the error:
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>      echo "" ; \
> fi; \
> list='aaa cache core database debugging filters http loggers metadata proxy session slotmem ssl proxy/balancers arch/unix dav/main generators dav/fs mappers'; for i in $list; do \
>      target="shared-build"; \
>      if test "$i" = "."; then \
>          made_local=yes; \
>          target="local-shared-build"; \
>      fi; \
>      if test "$i" != "srclib"; then \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test -f 'modules.mk'; then \
>      if test -n ''; then \
>          echo "Building shared: "; \
>          if test "$made_local" != "yes"; then \
>                  make "local-shared-build" || exit 1; \
>          fi; \
>      fi; \
> fi; \
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>          echo "" ; \
> fi
> make: Fatal error: Command failed for target `shared-build-recursive'
> Current working directory 
> /usr/local/apache2/install/httpd-2.4.20/modules
> *** Error code 1
> The following command caused the error:
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>      echo "" ; \
> fi; \
> list='srclib os server modules support'; for i in $list; do \
>      target="shared-build"; \
>      if test "$i" = "."; then \
>          made_local=yes; \
>          target="local-shared-build"; \
>      fi; \
>      if test "$i" != "srclib"; then \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test -f 'modules.mk'; then \
>      if test -n ''; then \
>          echo "Building shared: "; \
>          if test "$made_local" != "yes"; then \
>                  make "local-shared-build" || exit 1; \
>          fi; \
>      fi; \
> fi; \
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>          echo "" ; \
> fi
> make: Fatal error: Command failed for target `shared-build-recursive'
> Current working directory /usr/local/apache2/install/httpd-2.4.20
> *** Error code 1
> The following command caused the error:
> otarget=`echo all-recursive|sed s/-recursive//`; \ list='  srclib os server modules support'; \ for i in $list; do \
>      if test -d "$i"; then \
>          target="$otarget"; \
>          echo "Making $target in $i"; \
>          if test "$i" = "."; then \
>                  made_local=yes; \
>                  target="local-$target"; \
>          fi; \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test "$otarget" = "all" && test -z 'httpd shared-build '; then \
>      made_local=yes; \
> fi; \
> if test "$made_local" != "yes"; then \
>      make "local-$otarget" || exit 1; \ fi
> make: Fatal error: Command failed for target `all-recursive'
> #
>
> =======================================
>
> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Friday, April 29, 2016 9:39 AM
> To: Rainer Jung; users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Thank you for the advice of using pcre 8.38. I installed it last night successfully to replace the old.
>
> When I first try to install it using
> #  export CC="gcc -m64"
> #  ./configure --prefix=/usr/local/apache2/pcre/ # make I received the 
> following error,
>
> ....
> ....
>    CC       libpcre_la-pcre_version.lo
>    CC       libpcre_la-pcre_xclass.lo
>    CC       libpcre_la-pcre_chartables.lo
>    CCLD     libpcre.la
>    CC       libpcreposix_la-pcreposix.lo
>    CCLD     libpcreposix.la
>    CXX      libpcrecpp_la-pcrecpp.lo
>    CXX      libpcrecpp_la-pcre_scanner.lo
>    CXX      libpcrecpp_la-pcre_stringpiece.lo
>    CXXLD    libpcrecpp.la
> ld: fatal: file ./.libs/libpcre.so: wrong ELF class: ELFCLASS64
> ld: fatal: file processing errors. No output written to 
> .libs/libpcrecpp.so.0.0.1
> collect2: ld returned 1 exit status
> *** Error code 1
> The following command caused the error:
> echo "  CXXLD   " libpcrecpp.la;/bin/bash ./libtool --silent --tag=CXX    --mode=link g++      -O2 -version-info 0:1:0   -o libpcrecpp.la -rpath /usr/local/apache2/pcre/lib libpcrecpp_la-pcrecpp.lo  libpcrecpp_la-pcre_scanner.lo  libpcrecpp_la-pcre_stringpiece.lo libpcre.la
> make: Fatal error: Command failed for target `libpcrecpp.la'
> Current working directory /usr/local/apache2/install/pcre-8.38
> *** Error code 1
> make: Fatal error: Command failed for target `all'
>
> Inspired by the example I searched online, I added one more option (--disable-cpp) to the configure. Then the pcre was installed successfully:
>
> # ./configure --prefix=/usr/local/apache2/pcre --disable-cpp ...
> # make clean
> ...
> # make
> ...
> ...
>    CCLD     libpcre.la
>    CC       libpcreposix_la-pcreposix.lo
>    CCLD     libpcreposix.la
>    CC       pcretest-pcretest.o
>    CC       pcretest-pcre_printint.o
>    CCLD     pcretest
> ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file
>    CC       pcregrep-pcregrep.o
>    CCLD     pcregrep
> ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file # # make install ...
>
> I hope the two warnings during make are not important.  Please let me know if you need to see the whole screen capture (text file).
>
>
> Last night, after the install of the PCRE 8.38, I tried the Apache installation again. This time I got a different error message. I will post it very soon.
>
> Jin
>
>
> -----Original Message-----
> From: Rainer Jung [mailto:rainer.jung@kippdata.de]
> Sent: Thursday, April 28, 2016 3:30 PM
> To: users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Am 28.04.2016 um 19:59 schrieb Jinhui.Huang.CTR@dot.gov:
>> Hi, Rainer:
>> The following is the output of make,  after I run a "make clean" first.
>> Jin
>> --------------------------------------------------------
>> # make clean
>> Making clean in test
>> rm -f *.o *.lo *.slo *.obj *.a *.la
>> rm -rf .libs
>> Making clean in srclib
>> Making clean in apr-util
>> Making clean in test
>> rm -f ./*.o ./*.lo ./*.a ./*.la ./*.so ./*.obj rm -rf ./.libs rm -f 
>> manyfile.bin testfile.txt data/sqlite*.db dbd testall rm -rf 
>> autom4te.cache ......
>> ......
>>
>> # make
>> Making all in srclib
>> Making all in apr
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/build/mkdir.sh tools
>> /bin/bash /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -g -O2   -DHAVE_CONFIG_H  -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT   -I./include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I./include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private  -o tools/gen_test_char.lo -c tools/gen_test_char.c && touch tools/gen_test_char.lo
>> /bin/bash /usr/local/apache2/inst
>> ......
>> ......
>> pd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_xml.c && touch util_xml.lo
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20!
 /!
>   modules/
> session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/test 
> -I/usr/local/apache2/install/httpd-2.4.20/server 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/generators 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  
> -prefer-non-pic -static -c util_filter.c && touch util_filter.lo
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20!
 /!
>   modules/
> session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/test 
> -I/usr/local/apache2/install/httpd-2.4.20/server 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/generators 
> -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  
> -prefer-non-pic -static -c util_pcre.c && touch util_pcre.lo
>> util_pcre.c:49:18: pcre.h: No such file or directory
>> util_pcre.c: In function `ap_regfree':
>> util_pcre.c:104: error: `pcre_free' undeclared (first use in this
>> function)
>> util_pcre.c:104: error: (Each undeclared identifier is reported only 
>> once
>> util_pcre.c:104: error: for each function it appears in.)
>> util_pcre.c: In function `ap_regcomp':
>> util_pcre.c:128: error: `PCRE_DUPNAMES' undeclared (first use in this
>> function)
>> util_pcre.c:131: error: `PCRE_CASELESS' undeclared (first use in this
>> function)
>> util_pcre.c:133: error: `PCRE_MULTILINE' undeclared (first use in 
>> this
>> function)
>> util_pcre.c:135: error: `PCRE_DOTALL' undeclared (first use in this
>> function)
>> util_pcre.c:138: warning: implicit declaration of function `pcre_compile2'
>> util_pcre.c:138: warning: assignment makes pointer from integer 
>> without a cast
>> util_pcre.c:151: warning: implicit declaration of function `pcre_fullinfo'
>> util_pcre.c:151: error: syntax error before "pcre"
>> util_pcre.c: In function `ap_regexec_len':
>> util_pcre.c:189: error: `PCRE_NOTBOL' undeclared (first use in this
>> function)
>> util_pcre.c:191: error: `PCRE_NOTEOL' undeclared (first use in this
>> function)
>> util_pcre.c:207: warning: implicit declaration of function `pcre_exec'
>> util_pcre.c:207: error: syntax error before "pcre"
>> util_pcre.c:230: error: `PCRE_ERROR_NOMATCH' undeclared (first use in 
>> this function)
>> util_pcre.c:232: error: `PCRE_ERROR_NULL' undeclared (first use in 
>> this function)
>> util_pcre.c:234: error: `PCRE_ERROR_BADOPTION' undeclared (first use 
>> in this function)
>> util_pcre.c:236: error: `PCRE_ERROR_BADMAGIC' undeclared (first use 
>> in this function)
>> util_pcre.c:238: error: `PCRE_ERROR_UNKNOWN_NODE' undeclared (first 
>> use in this function)
>> util_pcre.c:240: error: `PCRE_ERROR_NOMEMORY' undeclared (first use 
>> in this function)
>> util_pcre.c: In function `ap_regname':
>> util_pcre.c:269: error: syntax error before "pcre"
>> util_pcre.c:271: error: syntax error before "pcre"
>> util_pcre.c:273: error: syntax error before "pcre"
>> *** Error code 1
>> make: Fatal error: Command failed for target `util_pcre.lo'
>> Current working directory
>> /usr/local/apache2/install/httpd-2.4.20/server
>> *** Error code 1
>
> This error is likely a consequence of the error during configure:
>
> checking for pcre-config... false
>
> configure: Using external PCRE library from 
> /usr/local/apache2/pcre2/bin/pcre2-config
>
>     setting PCRE_INCLUDES to "-I/usr/local/apache2/pcre2/include"
>
> Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] 
> [--libs-posix]  [--cflags] [--cflags-posix]
>
>     setting PCRE_LIBS to ""
>
> Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] 
> [--libs-posix]  [--cflags] [--cflags-posix]
>
>
> This indicates that your try to build httpd against pcre version 10. We only support pcre until version 8, latest is 8.38. PCRE version 10, aka pcre2, is not API compatible with pcre until 8. Since the path /usr/local/apache2/pcre2/ looks like you compiled pcre2 yourself, grab pcre 8.38, compile it again and run configure against that one.
>
> This will IMHO *not* fix you other issue about ab.o being 32 bit. Could it be, that ab.o was in your build directory from another attempt at building where you started without the -m64 flag, so that there was already an old 32 bit ab.o file and "make clean" has already fixed that?
>
> Regards,
>
> Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"

Posted by Rainer Jung <ra...@kippdata.de>.
Am 02.05.2016 um 15:36 schrieb Huang, Jinhui (OST):
> Hi, Rainer:
>
> I searched online to find the OpenSSL version supported by Apache 2.4.20. It should be openssl-1.0.2g. I installed this version and then tried to install Apache again. It failed with same error message.
>
> Searching the error (ld: fatal: relocations remain against allocatable but non-writable sections) again, I am now trying to compile the apache source with "-fPIC" option. Hoping this will make a difference.
> 	export CC="gcc -m64 -fPIC"
>
> Do I need to recompile/build the PCRE and OpenSSL using the same gcc option?

You must compile PCRE and OpenSSL as 64 Bit versions. You can check 
using the output of the "file" command on the PCRE resp. OpenSSL library 
files. For OpenSSL you might need to use an appropriate Configure 
command argument instead of CC.

The below error message sounds as you didn't build the shared libraries 
for OpenSSL (*.so) and instead only the static ones (*.a). It should be 
easier to work with the shared ones (argument "shared" to Configure).

If you succeed in building 64 bit libraries and the shared ones are 
present, and then you still get "ld: fatal: relocations remain against 
allocatable but non-writable sections", you might succeed in setting

MOD_SSL_LDADD=-Wl,-Bsymbolic
export MOD_SSL_LDADD

Regards,

Rainr

> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Friday, April 29, 2016 11:18 AM
> To: Rainer Jung; users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> The error seems related to my OpenSSL.  On this server, I have two versions of OpenSSL. I am trying to use the one at /usr/local/ssl/ (OpenSSL 1.0.1s ).
> Is this version supported for Apache 2.4.20?
>
> ==================================================
> # which openssl
> /usr/sfw/bin/openssl
>
> # openssl version
> OpenSSL 0.9.7d 17 Mar 2004 (+ security fixes for: CVE-2005-2969 CVE-2006-2937 CVE-2006-2940 CVE-2006-3738 CVE-2006-4339 CVE-2006-4343 CVE-2006-7250 CVE-2007-5135 CVE-2007-3108 CVE-2008-5077 CVE-2008-7270 CVE-2009-0590 CVE-2009-2409 CVE-2009-3555 CVE-2010-4180 CVE-2011-4576 CVE-2011-4619 CVE-2012-0884 CVE-2012-1165 CVE-2012-2110 CVE-2012-2131 CVE-2012-2333 CVE-2013-0166 CVE-2013-0169 CVE-2014-0224 CVE-2014-3508 CVE-2014-3511 CVE-2014-3566 CVE-2014-3567 CVE-2014-3568 CVE-2014-3569 CVE-2014-3570 CVE-2014-8275 CVE-2015-0204 CVE-2015-0286 CVE-2015-0287 CVE-2015-0288 CVE-2015-0289 CVE-2015-0292 CVE-2015-0293 CVE-2015-1789 CVE-2015-1790 CVE-2015-4000)
>
> # /usr/local/ssl/bin/openssl version
> OpenSSL 1.0.1s  1 Mar 2016
> ==================================================
>
>
> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Friday, April 29, 2016 10:20 AM
> To: Rainer Jung; users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Hi, Rainer:
>
> The following is the new error I received when I try to install Apache 2.4.20 again, using new PCRE 8.38. I have added a shortened screen capture (zptpt-20160428e-short.txt) as attachment. The original file is about 4.4 MB. In this short version, 45650 lines of make output have been deleted. Please let me know if you need the completed output.
>
> =======================================
> # pwd
> /usr/local/apache2/install/httpd-2.4.20
>
> # env
> CC=gcc -m64
> HOME=/
> HZ=
> LOGNAME=root
> MAIL=/var/mail/root
> PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/xpg4/bin:/usr/ccs/bin:/usr/ucb:/usr/dt/bin:/usr/openwin/bin:/usr/local/bin:/usr/local/sbin:/usr/platform/sun4u/sbin:/opt/VRTS/bin:/opt/VRTSob/bin:/etc/vx/bin:/usr/lib/vxvm/bin:/usr/sfw/bin:/var/tmp/tomcat/apache-ant-1.6.5/bin:/usr/local/apache2/bin:/usr/lib
> PWD=/usr/local/apache2/install/pcre-8.38
> SHELL=/sbin/sh
> TERM=xterm
> TZ=US/Eastern
> _=/bin/script
>
> # ./configure \
> --prefix=/usr/local/apache2/httpd-2.4.20 \
> --with-port=80 \
> --with-mpm=worker \
> --enable-mods-shared=most \
> --enable-ssl \
> --with-ssl=/usr/local/ssl \
> --enable-proxy \
> --disable-example \
> --with-included-apr \
> --with-pcre=/usr/local/apache2/pcre
> ......
>
> # make clean
> .......
>
> # make
> ...
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache!
 2/instal
l/httpd-2.4.20/modules/session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers -prefer-pic -c ssl_util_ocsp.c && touch ssl_util_ocsp.slo
> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=link gcc -m64 -std=gnu99 -I/usr/local/ssl/include -g -O2    -L/usr/local/ssl/lib   -lssl -lcrypto -luuid -lsendfile -lrt -lsocket -lnsl -lpthread       -o mod_ssl.la -rpath /usr/local/apache2/httpd-2.4.20/modules -module -avoid-version  mod_ssl.lo ssl_engine_config.lo ssl_engine_init.lo ssl_engine_io.lo ssl_engine_kernel.lo ssl_engine_log.lo ssl_engine_mutex.lo ssl_engine_pphrase.lo ssl_engine_rand.lo ssl_engine_vars.lo ssl_scache.lo ssl_util_stapling.lo ssl_util.lo ssl_util_ssl.lo ssl_engine_ocsp.lo ssl_util_ocsp.lo  -export-symbols-regex ssl_module
> Text relocation remains                         referenced
>      against symbol                  offset      in file
> .text (section)                     0xb88       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> .text (section)                     0xb90       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> .text (section)                     0xb98       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> .text (section)                     0xba0       /usr/local/ssl/lib/libssl.a(s3_lib.o)
> ...
> ...
> oupper                             0x5f8       /usr/local/ssl/lib/libcrypto.a(gost_pmeth.o)
> gmtime_r                            0x8         /usr/local/ssl/lib/libcrypto.a(o_time.o)
> gethrtime                           0xa8        /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigfillset                          0x198       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1a4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1b0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1bc       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1c8       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1d4       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> sigdelset                           0x1e0       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> strtoul                             0x164       /usr/local/ssl/lib/libcrypto.a(sparcv9cap.o)
> strtoul                             0x428       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
> strtoul                             0x524       /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
> strtoul                             0x1518      /usr/local/ssl/lib/libcrypto.a(asn1_gen.o)
> strtoul                             0x154       /usr/local/ssl/lib/libcrypto.a(a_strnid.o)
> getuid                              0x3c8       /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
> fstat                               0x8c        /usr/local/ssl/lib/libcrypto.a(rand_unix.o)
> dladdr                              0x864       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlopen                              0x44        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlopen                              0x908       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlclose                             0xb4        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlclose                             0x1dc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlclose                             0x92c       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlsym                               0x2d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlsym                               0x458       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlsym                               0x920       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0xf0        /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0x368       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0x4d8       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> dlerror                             0x8cc       /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)
> ld: fatal: relocations remain against allocatable but non-writable sections
> collect2: ld returned 1 exit status
> *** Error code 1
> make: Fatal error: Command failed for target `mod_ssl.la'
> Current working directory /usr/local/apache2/install/httpd-2.4.20/modules/ssl
> *** Error code 1
> The following command caused the error:
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>      echo "" ; \
> fi; \
> list=''; for i in $list; do \
>      target="shared-build"; \
>      if test "$i" = "."; then \
>          made_local=yes; \
>          target="local-shared-build"; \
>      fi; \
>      if test "$i" != "srclib"; then \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test -f 'modules.mk'; then \
>      if test -n 'mod_ssl.la'; then \
>          echo "Building shared: mod_ssl.la"; \
>          if test "$made_local" != "yes"; then \
>                  make "local-shared-build" || exit 1; \
>          fi; \
>      fi; \
> fi; \
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>          echo "" ; \
> fi
> make: Fatal error: Command failed for target `shared-build-recursive'
> Current working directory /usr/local/apache2/install/httpd-2.4.20/modules/ssl
> *** Error code 1
> The following command caused the error:
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>      echo "" ; \
> fi; \
> list='aaa cache core database debugging filters http loggers metadata proxy session slotmem ssl proxy/balancers arch/unix dav/main generators dav/fs mappers'; for i in $list; do \
>      target="shared-build"; \
>      if test "$i" = "."; then \
>          made_local=yes; \
>          target="local-shared-build"; \
>      fi; \
>      if test "$i" != "srclib"; then \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test -f 'modules.mk'; then \
>      if test -n ''; then \
>          echo "Building shared: "; \
>          if test "$made_local" != "yes"; then \
>                  make "local-shared-build" || exit 1; \
>          fi; \
>      fi; \
> fi; \
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>          echo "" ; \
> fi
> make: Fatal error: Command failed for target `shared-build-recursive'
> Current working directory /usr/local/apache2/install/httpd-2.4.20/modules
> *** Error code 1
> The following command caused the error:
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>      echo "" ; \
> fi; \
> list='srclib os server modules support'; for i in $list; do \
>      target="shared-build"; \
>      if test "$i" = "."; then \
>          made_local=yes; \
>          target="local-shared-build"; \
>      fi; \
>      if test "$i" != "srclib"; then \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test -f 'modules.mk'; then \
>      if test -n ''; then \
>          echo "Building shared: "; \
>          if test "$made_local" != "yes"; then \
>                  make "local-shared-build" || exit 1; \
>          fi; \
>      fi; \
> fi; \
> if test `pwd` = "/usr/local/apache2/install/httpd-2.4.20"; then \
>          echo "" ; \
> fi
> make: Fatal error: Command failed for target `shared-build-recursive'
> Current working directory /usr/local/apache2/install/httpd-2.4.20
> *** Error code 1
> The following command caused the error:
> otarget=`echo all-recursive|sed s/-recursive//`; \ list='  srclib os server modules support'; \ for i in $list; do \
>      if test -d "$i"; then \
>          target="$otarget"; \
>          echo "Making $target in $i"; \
>          if test "$i" = "."; then \
>                  made_local=yes; \
>                  target="local-$target"; \
>          fi; \
>          (cd $i && make $target) || exit 1; \
>      fi; \
> done; \
> if test "$otarget" = "all" && test -z 'httpd shared-build '; then \
>      made_local=yes; \
> fi; \
> if test "$made_local" != "yes"; then \
>      make "local-$otarget" || exit 1; \
> fi
> make: Fatal error: Command failed for target `all-recursive'
> #
>
> =======================================
>
> -----Original Message-----
> From: Huang, Jinhui (OST)
> Sent: Friday, April 29, 2016 9:39 AM
> To: Rainer Jung; users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: RE: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Thank you for the advice of using pcre 8.38. I installed it last night successfully to replace the old.
>
> When I first try to install it using
> #  export CC="gcc -m64"
> #  ./configure --prefix=/usr/local/apache2/pcre/ # make I received the following error,
>
> ....
> ....
>    CC       libpcre_la-pcre_version.lo
>    CC       libpcre_la-pcre_xclass.lo
>    CC       libpcre_la-pcre_chartables.lo
>    CCLD     libpcre.la
>    CC       libpcreposix_la-pcreposix.lo
>    CCLD     libpcreposix.la
>    CXX      libpcrecpp_la-pcrecpp.lo
>    CXX      libpcrecpp_la-pcre_scanner.lo
>    CXX      libpcrecpp_la-pcre_stringpiece.lo
>    CXXLD    libpcrecpp.la
> ld: fatal: file ./.libs/libpcre.so: wrong ELF class: ELFCLASS64
> ld: fatal: file processing errors. No output written to .libs/libpcrecpp.so.0.0.1
> collect2: ld returned 1 exit status
> *** Error code 1
> The following command caused the error:
> echo "  CXXLD   " libpcrecpp.la;/bin/bash ./libtool --silent --tag=CXX    --mode=link g++      -O2 -version-info 0:1:0   -o libpcrecpp.la -rpath /usr/local/apache2/pcre/lib libpcrecpp_la-pcrecpp.lo  libpcrecpp_la-pcre_scanner.lo  libpcrecpp_la-pcre_stringpiece.lo libpcre.la
> make: Fatal error: Command failed for target `libpcrecpp.la'
> Current working directory /usr/local/apache2/install/pcre-8.38
> *** Error code 1
> make: Fatal error: Command failed for target `all'
>
> Inspired by the example I searched online, I added one more option (--disable-cpp) to the configure. Then the pcre was installed successfully:
>
> # ./configure --prefix=/usr/local/apache2/pcre --disable-cpp ...
> # make clean
> ...
> # make
> ...
> ...
>    CCLD     libpcre.la
>    CC       libpcreposix_la-pcreposix.lo
>    CCLD     libpcreposix.la
>    CC       pcretest-pcretest.o
>    CC       pcretest-pcre_printint.o
>    CCLD     pcretest
> ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file
>    CC       pcregrep-pcregrep.o
>    CCLD     pcregrep
> ld: warning: file /usr/local/apache2/install/pcre-8.38/.libs/libpcre.so: linked to ./.libs/libpcre.so: attempted multiple inclusion of file # # make install ...
>
> I hope the two warnings during make are not important.  Please let me know if you need to see the whole screen capture (text file).
>
>
> Last night, after the install of the PCRE 8.38, I tried the Apache installation again. This time I got a different error message. I will post it very soon.
>
> Jin
>
>
> -----Original Message-----
> From: Rainer Jung [mailto:rainer.jung@kippdata.de]
> Sent: Thursday, April 28, 2016 3:30 PM
> To: users@httpd.apache.org
> Cc: Huang, Jinhui (OST)
> Subject: Re: [users@httpd] Install Apache 2.4.20 on Solaris 10 --- Error "ld: fatal: file ab.o: wrong ELF class: ELFCLASS32"
>
> Am 28.04.2016 um 19:59 schrieb Jinhui.Huang.CTR@dot.gov:
>> Hi, Rainer:
>> The following is the output of make,  after I run a "make clean" first.
>> Jin
>> --------------------------------------------------------
>> # make clean
>> Making clean in test
>> rm -f *.o *.lo *.slo *.obj *.a *.la
>> rm -rf .libs
>> Making clean in srclib
>> Making clean in apr-util
>> Making clean in test
>> rm -f ./*.o ./*.lo ./*.a ./*.la ./*.so ./*.obj rm -rf ./.libs rm -f
>> manyfile.bin testfile.txt data/sqlite*.db dbd testall rm -rf
>> autom4te.cache ......
>> ......
>>
>> # make
>> Making all in srclib
>> Making all in apr
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/build/mkdir.sh tools
>> /bin/bash /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -g -O2   -DHAVE_CONFIG_H  -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT   -I./include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I./include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include/private  -o tools/gen_test_char.lo -c tools/gen_test_char.c && touch tools/gen_test_char.lo
>> /bin/bash /usr/local/apache2/inst
>> ......
>> ......
>> pd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_xml.c && touch util_xml.lo
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20!
 /!
>   modules/
> session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_filter.c && touch util_filter.lo
>> /usr/local/apache2/install/httpd-2.4.20/srclib/apr/libtool --silent --mode=compile gcc -m64 -std=gnu99  -g -O2      -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT     -I. -I/usr/local/apache2/install/httpd-2.4.20/os/unix -I/usr/local/apache2/install/httpd-2.4.20/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr/include -I/usr/local/apache2/install/httpd-2.4.20/srclib/apr-util/include -I/usr/local/apache2/pcre2/include -I/usr/local/apache2/install/httpd-2.4.20/modules/aaa -I/usr/local/apache2/install/httpd-2.4.20/modules/cache -I/usr/local/apache2/install/httpd-2.4.20/modules/core -I/usr/local/apache2/install/httpd-2.4.20/modules/database -I/usr/local/apache2/install/httpd-2.4.20/modules/filters -I/usr/local/apache2/install/httpd-2.4.20/modules/ldap -I/usr/local/apache2/install/httpd-2.4.20/modules/loggers -I/usr/local/apache2/install/httpd-2.4.20/modules/lua -I/usr/local/apache2/install/httpd-2.4.20/modules/proxy -I/usr/local/apache2/install/httpd-2.4.20!
 /!
>   modules/
> session -I/usr/local/apache2/install/httpd-2.4.20/modules/ssl -I/usr/local/apache2/install/httpd-2.4.20/modules/test -I/usr/local/apache2/install/httpd-2.4.20/server -I/usr/local/apache2/install/httpd-2.4.20/modules/arch/unix -I/usr/local/apache2/install/httpd-2.4.20/modules/dav/main -I/usr/local/apache2/install/httpd-2.4.20/modules/generators -I/usr/local/apache2/install/httpd-2.4.20/modules/mappers  -prefer-non-pic -static -c util_pcre.c && touch util_pcre.lo
>> util_pcre.c:49:18: pcre.h: No such file or directory
>> util_pcre.c: In function `ap_regfree':
>> util_pcre.c:104: error: `pcre_free' undeclared (first use in this
>> function)
>> util_pcre.c:104: error: (Each undeclared identifier is reported only
>> once
>> util_pcre.c:104: error: for each function it appears in.)
>> util_pcre.c: In function `ap_regcomp':
>> util_pcre.c:128: error: `PCRE_DUPNAMES' undeclared (first use in this
>> function)
>> util_pcre.c:131: error: `PCRE_CASELESS' undeclared (first use in this
>> function)
>> util_pcre.c:133: error: `PCRE_MULTILINE' undeclared (first use in this
>> function)
>> util_pcre.c:135: error: `PCRE_DOTALL' undeclared (first use in this
>> function)
>> util_pcre.c:138: warning: implicit declaration of function `pcre_compile2'
>> util_pcre.c:138: warning: assignment makes pointer from integer
>> without a cast
>> util_pcre.c:151: warning: implicit declaration of function `pcre_fullinfo'
>> util_pcre.c:151: error: syntax error before "pcre"
>> util_pcre.c: In function `ap_regexec_len':
>> util_pcre.c:189: error: `PCRE_NOTBOL' undeclared (first use in this
>> function)
>> util_pcre.c:191: error: `PCRE_NOTEOL' undeclared (first use in this
>> function)
>> util_pcre.c:207: warning: implicit declaration of function `pcre_exec'
>> util_pcre.c:207: error: syntax error before "pcre"
>> util_pcre.c:230: error: `PCRE_ERROR_NOMATCH' undeclared (first use in
>> this function)
>> util_pcre.c:232: error: `PCRE_ERROR_NULL' undeclared (first use in
>> this function)
>> util_pcre.c:234: error: `PCRE_ERROR_BADOPTION' undeclared (first use
>> in this function)
>> util_pcre.c:236: error: `PCRE_ERROR_BADMAGIC' undeclared (first use in
>> this function)
>> util_pcre.c:238: error: `PCRE_ERROR_UNKNOWN_NODE' undeclared (first
>> use in this function)
>> util_pcre.c:240: error: `PCRE_ERROR_NOMEMORY' undeclared (first use in
>> this function)
>> util_pcre.c: In function `ap_regname':
>> util_pcre.c:269: error: syntax error before "pcre"
>> util_pcre.c:271: error: syntax error before "pcre"
>> util_pcre.c:273: error: syntax error before "pcre"
>> *** Error code 1
>> make: Fatal error: Command failed for target `util_pcre.lo'
>> Current working directory
>> /usr/local/apache2/install/httpd-2.4.20/server
>> *** Error code 1
>
> This error is likely a consequence of the error during configure:
>
> checking for pcre-config... false
>
> configure: Using external PCRE library from /usr/local/apache2/pcre2/bin/pcre2-config
>
>     setting PCRE_INCLUDES to "-I/usr/local/apache2/pcre2/include"
>
> Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] [--libs-posix]  [--cflags] [--cflags-posix]
>
>     setting PCRE_LIBS to ""
>
> Usage: pcre2-config [--prefix] [--exec-prefix] [--version] [--libs8] [--libs-posix]  [--cflags] [--cflags-posix]
>
>
> This indicates that your try to build httpd against pcre version 10. We only support pcre until version 8, latest is 8.38. PCRE version 10, aka pcre2, is not API compatible with pcre until 8. Since the path /usr/local/apache2/pcre2/ looks like you compiled pcre2 yourself, grab pcre 8.38, compile it again and run configure against that one.
>
> This will IMHO *not* fix you other issue about ab.o being 32 bit. Could it be, that ab.o was in your build directory from another attempt at building where you started without the -m64 flag, so that there was already an old 32 bit ab.o file and "make clean" has already fixed that?
>
> Regards,
>
> Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org