[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Compiling Subversion 1.2.0 on HP-UX 11i 64bit

From: Bob Proulx <bob_at_proulx.com>
Date: 2005-06-25 04:01:31 CEST

James Huang(APC-黃建蒼) wrote:
> Cause of our UNIX server is only the 64-bit version we have, so I have
> to compile SVN for a 64-bit version.

HP-UX machines can be either 32-bit or 64-bit at the same time. The
machine is *capability* of running 64-bit code. But actually HP-UX is
mostly natively a 32-bit system. That is all of the /usr/bin/*
binaries are 32-bit binaries. Really only a small number of programs
are 64-bit programs there.

Therefore your statement confuses me and does not explain why you say
you need to compile a 64-bit version of subversion there. I think you
should use the 32-bit compilation instead. Why not?

> After I modified that three files and parameter settings you mentioned
> last response and re-compiled again. The same errors I got! Have others
> settings I have to adjust too? Maybe I post the whole messages FYI.
> Thanks again!!

Did you clean the previous compilation .o files from the directory?
It does not look like your 'make' actually did anything. Therefore
those files were probably there from before.

Here is a good test. Look at the generated .o files and run 'file' on
them to deduce if they are 64-bit or 32-bit. You can look at all of
the files and try to find any that are not 64-bit.

  find . -name '*.[ao]' -print | xargs file | grep -v ELF-64

Here are example output:

  ELF-64 relocatable object file - PA-RISC 2.0 (LP64)
  PA-RISC2.0 relocatable object
  PA-RISC1.1 relocatable object

By this way... This following warning most people consider
unnecessary.

> /usr/bin/ld: (Warning) At least one PA 2.0 object file (.libs/libneon.la-20.o) was detected. The linked output may not run on a PA 1.x system.

That means exactly what it says, that you are creating PA 2.0 files
and they won't run on PA 1.1 hardware. But if you are compiling on PA
2.0 then you obviously have a 2.0 system and not a 1.1 system. So
generally you have to ignore that warning. There is a ld flag to
disable that warning and avoid the noise to the output.

Bob

> Output of 'make':
>
> ========================================================================
>
> ------ making all in apr
>
> Making all in strings
>
> Making all in passwd
>
> Making all in tables
>
> Making all in file_io/unix
>
> Making all in network_io/unix
>
> Making all in threadproc/unix
>
> Making all in misc/unix
>
> Making all in locks/unix
>
> Making all in time/unix
>
> Making all in mmap/unix
>
> Making all in shmem/unix
>
> Making all in user/unix
>
> Making all in memory/unix
>
> Making all in atomic/unix
>
> Making all in poll/unix
>
> Making all in support/unix
>
> Making all in dso/unix
>
> ------ completed all in apr
>
> ------ making all in apr-util
>
> Making all in buckets
>
> Making all in crypto
>
> Making all in dbm
>
> Making all in sdbm
>
> Making all in .
>
> Making all in encoding
>
> Making all in hooks
>
> Making all in ldap
>
> Making all in uri
>
> Making all in xml
>
> Making all in expat
>
> Making all in misc
>
> Making all in strmatch
>
> Making all in xlate
>
> ------ completed all in apr-util
>
> ------ making all in neon
>
> cd src && make
>
> /bin/sh ../libtool --quiet --mode=link /opt/aCC/bin/aCC -Ae -rpath /usr/local/lib -version-info 24:7:0 -o
>
> libneon.la ne_request.lo ne_session.lo ne_basic.lo ne_string.lo ne_uri.lo ne_dates.lo ne_alloc
>
> .lo ne_md5.lo ne_utils.lo ne_socket.lo ne_auth.lo ne_cookies.lo ne_redirect.lo
>
> ne_compress.lo ne_207.lo ne_xml.lo ne_props.lo ne_locks.lo ne_acl.lo ne_stubssl.lo /ebs/rawdata/ebs_dba/Subv
>
> ersion1.2.0/apr-util/xml/expat/lib/libexpat.la
>
> creating reloadable object files...
>
> creating a temporary reloadable object file: .libs/libneon.la-20.o
>

>
> not run on a PA 1.x system.
>
> /usr/bin/ld: Invalid loader fixup in text space needed in output file for symbol "$0000041F" in input file ".libs/l
>
> ibneon.la-20.o"
>
> *** Error exit code 1
>
>
>
> Stop.
>
> *** Error exit code 1
>
>
>
> Stop.
>
> *** Error exit code 1
>
>
>
> Stop.
>
> ========================================================================
>
> > -----Original Message-----
> > From: Bob Proulx [mailto:bob@proulx.com]
> > Sent: Thursday, June 23, 2005 12:12 AM
> > To: James Huang(JamesHuang@inotera.com)
> > Cc: users@subversion.tigris.org
> > Subject: Re: Compiling Subversion 1.2.0 on HP-UX 11i 64bit
> >
> >
> > James Huang(APC-黃建蒼) wrote:
> > > Hello all, does anyone have a precompiled binary package for this?
> >
> > Do you have any particular need for a 64-bit version of svn?
> > I believe the 32-bit version will be sufficient for all of your needs.
> >
> > > /usr/bin/ld: (Warning) At least one PA 2.0 object file
> > (.libs/libneon.
> > > la-20.o) was detected. The linked output may not run on
> > a PA 1.x
> > > system.
> > > /usr/bin/ld: Invalid loader fixup in text space needed in
> > output file
> > > for symbol "$0000041F" in input file ".libs/libneon.la-20.o"
> > > *** Error exit code 1
> > > Stop.
> >
> > This error means that you are mixing 32-bit and 64-bit .o
> > files. You should have been seeing lots of warnings from the
> > compilation with messages such as this one.
> >
> > cc: warning 441: Previous '+DA' or '+DD' option overridden
> > by '+DD64' option.
> >
> > You will need to compile all of the package and libraries as
> > 64-bit objects. The problem is that the
> > apr/build/apr_rules.mk file sets the
> > +DAportable flag. I did not look into it further.
> >
> > File apr/build/apr_rules.mk:
> >
> > EXTRA_CFLAGS= -Ae +Z +DAportable -mt
> >
> > This get propagated to the Makefile.
> >
> > File Makefile.in:
> > CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS)
> >
> > File Makefile:
> > CFLAGS = +DD64 -Ae +Z +DAportable -mt $(EXTRA_CFLAGS)
> >
> > So in order to build a fully 64-bit version you would need to
> > avoid the +DAportable flag and chase through the build and
> > make sure everything only compiles with +DD64.
> >
> > Bob
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Jun 25 04:03:14 2005

This is an archived mail posted to the Subversion Users mailing list.