You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Zube <Zu...@stat.colostate.edu> on 2021/03/01 23:35:51 UTC

cannot find libsvn_fs_x-1.so.0, 1.10.7, CentOS 7

Trying to build 1.10.7 on CentOS 7 and failing.  1.10.6 builds fine.

/usr/bin/ld: cannot find libsvn_fs_x-1.so.0: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [build-outputs.mk:478: subversion/libsvn_fs_x/libsvn_fs_x-1.la] Error 1

One difference between .6 and .7 is from the created (from config.log)
subversion/libsvn_fs_x/libsvn_fs_x.pc:

8,12c8,12
< Version: 1.10.7
< Requires: apr-util-1, apr-1
< Requires.private: libsvn_delta, libsvn_subr, libsvn_fs_util
< Libs: -L${libdir}  -lsvn_fs_x-1
< Cflags: -I${includedir}/subversion-1
---
> Version: 1.10.6
> Requires:  apr-util-1 apr-1
> Requires.private:  libsvn_delta libsvn_subr libsvn_fs_util
> Libs: -L${libdir}  -lsvn_fs_x
> Cflags: -I${includedir}

In the .libs directory in .6, the libraries are built:

libsvn_fs_x-1.a
libsvn_fs_x-1.la
libsvn_fs_x-1.lai
libsvn_fs_x-1.so
libsvn_fs_x-1.so.0
libsvn_fs_x-1.so.0.0.0
libsvn_fs_x-1.so.0.0.0T

But they are missing from the .7 build.  The .o files are in the
.libs directory, though.

Any help is greatly appreciated.

Cheers.

Re: cannot find libsvn_fs_x-1.so.0, 1.10.7, CentOS 7

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Nathan Hartman wrote on Tue, 02 Mar 2021 14:32 +00:00:
> On Mon, Mar 1, 2021 at 6:36 PM Zube <Zu...@stat.colostate.edu> wrote:
> >
> > Trying to build 1.10.7 on CentOS 7 and failing.  1.10.6 builds fine.
> >
> > /usr/bin/ld: cannot find libsvn_fs_x-1.so.0: No such file or directory
> > collect2: error: ld returned 1 exit status
> > make: *** [build-outputs.mk:478: subversion/libsvn_fs_x/libsvn_fs_x-1.la] Error 1
> >
> > One difference between .6 and .7 is from the created (from config.log)
> > subversion/libsvn_fs_x/libsvn_fs_x.pc:
> >
> > 8,12c8,12
> > < Version: 1.10.7
> > < Requires: apr-util-1, apr-1
> > < Requires.private: libsvn_delta, libsvn_subr, libsvn_fs_util
> > < Libs: -L${libdir}  -lsvn_fs_x-1
> > < Cflags: -I${includedir}/subversion-1
> > ---
> > > Version: 1.10.6
> > > Requires:  apr-util-1 apr-1
> > > Requires.private:  libsvn_delta libsvn_subr libsvn_fs_util
> > > Libs: -L${libdir}  -lsvn_fs_x
> > > Cflags: -I${includedir}
> >
> > In the .libs directory in .6, the libraries are built:
> >
> > libsvn_fs_x-1.a
> > libsvn_fs_x-1.la
> > libsvn_fs_x-1.lai
> > libsvn_fs_x-1.so
> > libsvn_fs_x-1.so.0
> > libsvn_fs_x-1.so.0.0.0
> > libsvn_fs_x-1.so.0.0.0T
> >
> > But they are missing from the .7 build.  The .o files are in the
> > .libs directory, though.
> >
> > Any help is greatly appreciated.
> 
> Hello,
> 
> I've traced this to r1863987 and r1863990 on trunk, which were merged
> to the 1.10.x branch in r1866641.
> 
> Part of the change was to respect pkg-config(1)'s requirement of a
> comma-separated list, so you can see the commas being introduced in
> your diff above.
> 
> Another part of the change is in build/generator/gen_make.py, which is
> now adding the "-1" to "-lsvn_fs_x" making it "-lsvn_fs_x-1."
> 
> I don't think there is an error in these changes; rather, I think that
> an additional change is needed elsewhere to make the built libsvn_fs_x
> compliant.

I think our build process doesn't consume the .pc files at all, which
would explain why 1.10.6 is buildable despite the lack of commas.

However, I don't see any other relevant change, so…

> I haven't yet determined what/where that change should be, nor what
> workaround to suggest, but I wanted to reply with what I know so far.

… try applying the reverse of r1866641 to the source tree.  (Then, if you
correct .pc files, massage them by hand after configure runs.)

Alternatively, you could patch libsvn_fs_x out of the build entirely,
since it's an experimental component anyway.

I don't see a configure option for this.

One way is to patch fs_x mentions out of build.conf and Makefile.in and
re-run gen-make.py (normally done as part of autogen.sh, which in turn
is part of the build-from-checkout flow but not part of the build-from-
tarball flow).  However, there may well be an easier way which I'm
overlooking.

Karl's advice in
https://subversion.apache.org/docs/community-guide/building.html#configury
stems from [a Debian libtool patch](https://bugs.debian.org/291641),
IIRC, so it wouldn't be my first suspicion for a CentOS build failure…
but it's not impossible.

Cheers,

Daniel

Re: cannot find libsvn_fs_x-1.so.0, 1.10.7, CentOS 7

Posted by Nathan Hartman <ha...@gmail.com>.
On Mon, Mar 1, 2021 at 6:36 PM Zube <Zu...@stat.colostate.edu> wrote:
>
> Trying to build 1.10.7 on CentOS 7 and failing.  1.10.6 builds fine.
>
> /usr/bin/ld: cannot find libsvn_fs_x-1.so.0: No such file or directory
> collect2: error: ld returned 1 exit status
> make: *** [build-outputs.mk:478: subversion/libsvn_fs_x/libsvn_fs_x-1.la] Error 1
>
> One difference between .6 and .7 is from the created (from config.log)
> subversion/libsvn_fs_x/libsvn_fs_x.pc:
>
> 8,12c8,12
> < Version: 1.10.7
> < Requires: apr-util-1, apr-1
> < Requires.private: libsvn_delta, libsvn_subr, libsvn_fs_util
> < Libs: -L${libdir}  -lsvn_fs_x-1
> < Cflags: -I${includedir}/subversion-1
> ---
> > Version: 1.10.6
> > Requires:  apr-util-1 apr-1
> > Requires.private:  libsvn_delta libsvn_subr libsvn_fs_util
> > Libs: -L${libdir}  -lsvn_fs_x
> > Cflags: -I${includedir}
>
> In the .libs directory in .6, the libraries are built:
>
> libsvn_fs_x-1.a
> libsvn_fs_x-1.la
> libsvn_fs_x-1.lai
> libsvn_fs_x-1.so
> libsvn_fs_x-1.so.0
> libsvn_fs_x-1.so.0.0.0
> libsvn_fs_x-1.so.0.0.0T
>
> But they are missing from the .7 build.  The .o files are in the
> .libs directory, though.
>
> Any help is greatly appreciated.

Hello,

I've traced this to r1863987 and r1863990 on trunk, which were merged
to the 1.10.x branch in r1866641.

Part of the change was to respect pkg-config(1)'s requirement of a
comma-separated list, so you can see the commas being introduced in
your diff above.

Another part of the change is in build/generator/gen_make.py, which is
now adding the "-1" to "-lsvn_fs_x" making it "-lsvn_fs_x-1."

I don't think there is an error in these changes; rather, I think that
an additional change is needed elsewhere to make the built libsvn_fs_x
compliant.

I haven't yet determined what/where that change should be, nor what
workaround to suggest, but I wanted to reply with what I know so far.

Nathan