You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by tr...@oneonta.edu on 2006/03/10 15:21:46 UTC

Subversion 1.3 on HP-UX Itanium - install

Hello, 
    I'm trying to install Subvesion 1.3 on my rx2620 Itanium server
running HP-UX 11.23. 
If I try ./configure then make and then make install I get the error 
 
sh: apr.exp: The noclobber option was specified and the file already
exists.
*** Error exit code 1
 
this led me to belive that I already have APR and APR-util libraries on
my system. I was able to find them so I used 
 
./configure --with-apr=/opt/hpws/apache --with-apr-util=/opt/hpws/apache
--with-apxs=/opt/hpws/apache/bin/apxs
( also APACHE is already installed on the system so I used --with-apxs
option too )
 
now I'm getting error while doing make
 
ld: Can't find library or mismatched ABI for -lapr-0
Fatal error.
*** Error exit code 1

Can anybody help?
Thank you so much,
Miro
 
some info about APACHE on the system
 
root>/opt/hpws/apache/bin/apachectl -V     
Server version: Apache/2.0.53  HP-UX_Apache-based_Web_Server
Server built:   Feb 28 2005 01:51:59
Server's Module Magic Number: 20020903:9
Architecture:   64-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/worker"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PROC_PTHREAD_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D APR_PROCESS_LOCK_IS_GLOBAL
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/opt/hpws/apache"
 -D DEFAULT_CHROOT_DIR=""
 -D SUEXEC_BIN="/opt/hpws/apache/bin/suexec"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
root>/opt/hpws/apache/bin/apachectl -l

Compiled in modules:
  core.c
  worker.c
  http_core.c
  mod_so.c


Re: Subversion 1.3 on HP-UX Itanium - install

Posted by Bob Proulx <bo...@proulx.com>.
Matthew Sanderson wrote:
> trunecm@oneonta.edu wrote:
> > Architecture:   64-bit
>
> Your Apache is 64 bit, so its APR libraries are also 64 bit.
> Are you compiling 32 bit Subversion objects, then attempting to link them
> with the bundled 64 bit libapr? That will not work, and will result in an
> 'ABI mismatch'.

Agreed.

Personally I would compile all of the dependencies so as to ensure a
consistent ABI.

> There are two ways to explicitly request that a configure script build 64
> bit (LP64) code under HPUX. In order of preference:
> 1. Specify a 64 bit target to configure. For example we are on HPPA, so we
> pass the extra argument 'hppa64-hp-hpux11.11' (just that, no switches) to
> configure. Perhaps there is an 'itanium64-hp-hpux11.23' or similar target
> that you could use, I don't know; or
> 2. Pass switches to the compiler which cause it to generate LP64 code. If
> using HP's ANSI C compiler, one adds the flag '+DA2.0W' (on HPPA only -
> this is what we have used in the past) or apparently '+DD64' (on HPPA or
> Itanium, never tested it myself though) to CFLAGS.

My preference order is the opposite.

I prefer +DD64 over +DA2.0W because +DD64 works on both ia64 or parisc
and therefore the same build script/makefile can be used on either.
In the grand scheme of things +DD64 is newer than +DA2.0W and was
created just for the reason of cross hp platform consistency.

> I've never seen an Itanium in the silicon, so if the problem appears to
> be in any way specific to Itanium then I'm not the person to ask, sorry.

If you can avoid needing anything but the client binaries then I would
avoid building apache and the associated modules and just build that
clients only.  It is a huge simplification and then things just work.

Bob

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Subversion 1.3 on HP-UX Itanium - install

Posted by Matthew Sanderson <ma...@formtrap.com>.
On Fri, 10 Mar 2006 trunecm@oneonta.edu wrote:

> Hello,
>     I'm trying to install Subvesion 1.3 on my rx2620 Itanium server
> running HP-UX 11.23.
> If I try ./configure then make and then make install I get the error
>
> sh: apr.exp: The noclobber option was specified and the file already
> exists.
> *** Error exit code 1
>
> this led me to belive that I already have APR and APR-util libraries on
> my system. I was able to find them so I used
>
> ./configure --with-apr=/opt/hpws/apache --with-apr-util=/opt/hpws/apache
> --with-apxs=/opt/hpws/apache/bin/apxs
> ( also APACHE is already installed on the system so I used --with-apxs
> option too )
>
> now I'm getting error while doing make
>
> ld: Can't find library or mismatched ABI for -lapr-0
> Fatal error.
> *** Error exit code 1
>
> Can anybody help?
> Thank you so much,
> Miro
>
> some info about APACHE on the system
>
> root>/opt/hpws/apache/bin/apachectl -V
> Server version: Apache/2.0.53  HP-UX_Apache-based_Web_Server
> Server built:   Feb 28 2005 01:51:59
> Server's Module Magic Number: 20020903:9
> Architecture:   64-bit
> Server compiled with....
>  -D APACHE_MPM_DIR="server/mpm/worker"
>  -D APR_HAS_SENDFILE
>  -D APR_HAS_MMAP
>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>  -D APR_USE_SYSVSEM_SERIALIZE
>  -D APR_USE_PROC_PTHREAD_SERIALIZE
>  -D APR_USE_PTHREAD_SERIALIZE
>  -D APR_PROCESS_LOCK_IS_GLOBAL
>  -D APR_HAS_OTHER_CHILD
>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>  -D HTTPD_ROOT="/opt/hpws/apache"
>  -D DEFAULT_CHROOT_DIR=""
>  -D SUEXEC_BIN="/opt/hpws/apache/bin/suexec"
>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>  -D DEFAULT_ERRORLOG="logs/error_log"
>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
> root>/opt/hpws/apache/bin/apachectl -l
>
> Compiled in modules:
>   core.c
>   worker.c
>   http_core.c
>   mod_so.c
>
>

Hi,

Didn't see anyone else reply so I will. We're using Subversion on HPUX
11.11 (11i v1) on an HPPA - hopefully close enough to help.

I interpret the error message you quote to mean, "either problem A has
just occurred, or mutually exclusive problem B has just occurred, and I
refuse to tell you which". What a dumb diagnostic; it needs an extra
stat() call to distinguish the two cases...

Your Apache is 64 bit, so its APR libraries are also 64 bit.
Are you compiling 32 bit Subversion objects, then attempting to link them
with the bundled 64 bit libapr? That will not work, and will result in an
'ABI mismatch'. Note that the HP ANSI C compiler generates 32 bit ILP32
code by default, even when running under a 64 bit HPUX kernel on a 64 bit
Itanium CPU. GCC can generate either, depending on build-time options.
You don't say which compiler(s) you're using. Whichever you are using,
near the beginning of the output of 'configure', you should see the target
that configure has detected. Is it 32 or 64 bit?

If you have both HP's CC and GCC installed, then just to be sure, build
Subversion with the same one that was used to build Apache. I do not know
offhand whether HPUX Itanium GCC and HPUX Itanium HPCC are
link-compatible. Attempting to link objects compiled using the two
different compilers could also be a possible cause of ABI mismatches.

There are two ways to explicitly request that a configure script build 64
bit (LP64) code under HPUX. In order of preference:
1. Specify a 64 bit target to configure. For example we are on HPPA, so we
pass the extra argument 'hppa64-hp-hpux11.11' (just that, no switches) to
configure. Perhaps there is an 'itanium64-hp-hpux11.23' or similar target
that you could use, I don't know; or
2. Pass switches to the compiler which cause it to generate LP64 code. If
using HP's ANSI C compiler, one adds the flag '+DA2.0W' (on HPPA only -
this is what we have used in the past) or apparently '+DD64' (on HPPA or
Itanium, never tested it myself though) to CFLAGS.

I've never seen an Itanium in the silicon, so if the problem appears to
be in any way specific to Itanium then I'm not the person to ask, sorry.

HTH,

--matthew

Matthew Sanderson
Senior Programmer (UNIX)
TCG Information Systems Pty Ltd
Sydney, Australia
matthew@formtrap.com
http://www.formtrap.com/
+61 (02) 8303 2407

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Subversion 1.3 on HP-UX Itanium - install

Posted by Bob Proulx <bo...@proulx.com>.
trunecm@oneonta.edu wrote:
>     I'm trying to install Subvesion 1.3 on my rx2620 Itanium server
> running HP-UX 11.23. 
> If I try ./configure then make and then make install I get the error 
>  
> sh: apr.exp: The noclobber option was specified and the file already
> exists.
> *** Error exit code 1

That error is reported by the shell.  It has been instructed by
someone not to clobber existing files.  An I/O redirection would
overwrite the apr.exp file.  The shell refused because of the
noclobber option.  Try this to illustrate.  This is for bash and will
produce a different message than the ksh based shell on your HP-UX
machine.

  set -o noclobber
  touch x
  echo > x
  bash: x: cannot overwrite existing file

To me seeing that from configure looks like a bug hiding somewhere in
the configure script or in your environment.  I would try again
running the script with 'bash ./configure' because it has probably
seen more testing with that shell.

> this led me to belive that I already have APR and APR-util libraries on
> my system.

Because of my analysis I don't think I would assume that was the problem.

> I was able to find them so I used 

But avoiding that section of the code will probably avoid the problem.
But now tripping into a second problem of mixmatched binaries.  I
would try to fix the first and compile everything together.

I use the following configure invocation on HP-UX.  But I am not using
apache on HP-UX.  For me this builds only the clients.  That is all I
need.  YMMV.

  ./configure \
    --without-berkeley-db \
    --disable-nls \
    --disable-shared

> ./configure --with-apr=/opt/hpws/apache --with-apr-util=/opt/hpws/apache
> --with-apxs=/opt/hpws/apache/bin/apxs
> ( also APACHE is already installed on the system so I used --with-apxs
> option too )
>  
> now I'm getting error while doing make
>  
> ld: Can't find library or mismatched ABI for -lapr-0
> Fatal error.
> *** Error exit code 1

Trying to match ABIs of precompiled binaries can be tricky.  If they
are not all the same it might be impossible.  The shipped libraries
were compiled with the HP C compiler.  But because that is extra many
people use gcc added onto the system.  All kinds of interactions are
possible.

Use file on the .o files to determine what ABI they are compiled for,
either 32 or 64 bit, either parisc or ia64.  Then set your compile
flags to match.

I suggest compiling everything with the same compiler and with the
same compiler flags.  This may mean that you will need to compile all
of the dependent libraries too.

Bob

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org