David,
A client of mine is wanting to have a self-sustaining Subversion
installation. Usually I build Subversion and its dependencies as shared but
then you need to configure /etc/ld.so.conf or LD_LIBRARY_PATH to get
Subversion and Apache to be able to find the necessary dependencies to run.
Well...my client ran into the first problem which was RHEL was complaining
about the dependencies not being RHEL supported. Shutting down selinux
fixed this but this his next reason for this is portability across other
RHEL boxes. He has a few servers that need to be mirrors of this one and if
it is static, I should be able to achieve this. The big problem is that
Apache (apr and apr-util) cannot be built fully static due to apr-util not
being able to find the openldap static libraries. I then run into a
situation where when I compile my Subversion dependencies the way I am, I
get the "bad ELF interpreter" error when running the Subversion
executables. Those are the big problems here. Although I don't have any
real need to build a static binary, my client does and I have to oblige. Is
there any way to do this successfully?
Take care,
Jeremy
On 4/14/07, david x callaway <dxc@pobox.com> wrote:
>
> could you give a rationale for doing this? I could think of several
> reasons offhand: 1) you are worried about security, in which securing
> your server is a necessary condition anyway and would take care of any
> issues that might be solved by static binaries, 2) you want to be able
> to drop it in on many systems, and 3) you want to be running exactly
> the same code everywhere.
>
> in the many systems case, if they aren't all RHELx then I'm not sure
> what the point is given the changing filesystem structures; I'd think
> getting a standard set of config files would be most of the battle
> there in any case.
>
> if you want exactly the same code everywhere I'd think you would want
> exactly the same OS also, otherwise you are still not "copy exact".
> for this purpose you could instead use a disk imager, e.g. partimage,
> to copy the bits onto multiple machines (the whole thing, not just the
> install).
>
> of course it's early here, maybe I'm missing the point ;-).
>
> Jeremy Whitlock wrote:
> > Hi All,
> > I have spent over 12 hours today trying to build a static Subversion
> > binary, and static binary dependencies of Subversion, on RHEL. After
> > fighting with apr-util and OpenLDAP, I finally decided to stop building
> > OpenLDAP statically and got Apache compiled and running. The problem is
> > when I build Subversion statically on RHEL, I get the following error:
> >
> > bad ELF interpreter: No such file or directory
> >
> > The above occurs when running any of the Subversion executables and it
> > appears that libc.so.1 is what is not being found. What mystifies me is
> > that libc.so.6 is installed on the system and in the desired location.
> > I am
> > not sure what is going on but I am out of ideas. configure commands for
> > Subversion and all dependencies will be made available as
> necessary. Can
> > someone please shed some light on this? Google and irc have turned up
> > fruitless to this point. Before I go, let me give just a little more
> > detail.
> >
> > I have attempted to compile all of Subversion's dependencies statically.
> > This is not a problem until you want apr-util to work with a statically
> > compiled OpenLDAP. After not finding a solution for that problem, I
> then
> > recompiled OpenLDAP with shared libraries and apr-util compiled
> properly.
> > When I get to the point of compiling Subversion, I am attempting to
> build a
> > completely static/standalone installation. The compilation goes fine
> but
> > when the installation part kicks off, you see a lot of the errors above
> > when
> > the installation process tries to run the newly compiled executables. I
> > then try to execute one of the compiled binaries and I get the above
> error.
> > ldd also fails with this error when ran against the Subversion
> executables.
> >
> > Take care,
> >
> > Jeremy
> >
>
Received on Sat Apr 14 17:00:16 2007