Hi Daniel,

Daniel Sahlberg <daniel.l.sahlb...@gmail.com> writes:

> Den lör 8 apr. 2023 kl 21:18 skrev Maxim Cournoyer <
> maxim.courno...@gmail.com>:
> [...]
>
> Thanks for your help in verifying my environment!
>
>
>> > I'm currently leaning towards something fishy with compiler/libraries
>> used
>> > in guix. I'm trying to figure out exactly how this goes wrong, but
>> threads
>> > programming is far from my comfort zone. In case anyone else would like
>> to
>> > pick up, feel free!
>>
>> I think the problem probably be reproducible from another i686-linux
>> distribution; perhaps it could be tried using Docker for example.
>>
>
> I've spent the afternoon setting up two virtual machines under Virtual Box
> 6.1:
>
> - Debian 11.6 i386 (uname -a says "5.10.0-21-686 #1 SMP Debian 5.10.162-1
> (2023-01-21 i686 GNU/Linux")
>
> - Guix 1.4.0 i686 (uname -a says "6.0.10-gnu #1 SMP PREEMPTY_DYNAMIC 1 i686
> GNU/Linux")
>
> Both are assigned 6 CPUs each and 4GB memory. Both run APR 1.7.0
>
> On the Debian machine, I've checked out Subversion trunk and on Guix I've
> downloaded the distrubution tarball for 1.14.2.
>
> Both are configured with --enable-maintainer-mode and nothing else. On the
> Debian machine I have gcc 10.2.1-6. On Guix, I did "guix install gcc@10.3".
> I've also added libraries as needed to have configure complete
> successfully. Unfortunately, I can't figure out some libraries/function
> under Guix, for example Serf, Boost and APXS (for building mod_dav_svn).

The easiest path to get a working environment to build Subversion with
Guix would be:

--8<---------------cut here---------------start------------->8---
guix shell --development subversion
--8<---------------cut here---------------end--------------->8---

or to not share the host system libraries/commands:

--8<---------------cut here---------------start------------->8---
guix shell --pure -D subversion
--8<---------------cut here---------------end--------------->8---

or to run in a fully containerized shell process:

--8<---------------cut here---------------start------------->8---
guix shell --container -D subversion
--8<---------------cut here---------------end--------------->8---

Note that 'gcc' alone won't be sufficient to build, as you'll want the
glibc to be there as well and the linker; there's a 'gcc-toolchain'
package for that purpose.

To view the package definition of the subversion package, you can
invoke:

--8<---------------cut here---------------start------------->8---
guix edit subversion
--8<---------------cut here---------------end--------------->8---

And see if there is anything special done as a configure/pre-configure
step to get it to build with Guix (but I don't see anything special
myself).

> On the good side: Under Guix, I can reproduce the same error as Maxim,
> mostly the assert on put_xlate_handle_node. I've run the test suite 5 times
> and only once was it successful. This at least proves there isn't a problem
> in the way the Guix system download and configure Subversion.
>
> However under Debian, I can't see the same error. I've run the test suite
> at least 5 times and not a single failure.
>
> I've checked apr.h on both systems and APR_HAS_THREADS is 1 on both of them.
>
> At this point, I can't figure out what else to do. To me it still seems
> there is something strange with the Guix environment / distribution.
> Obviously the tests above are not completely the same, for example because
> of the differences in libraries I'm using (in particular, I can't see if
> there was any specific options in the APR build).

Thanks for going to lengths to verify this!  It's curious that Debian
i686 couldn't reproduce the problem... I'm out of ideas now as well.  If
you find something, I'll be interested to know!

-- 
Thanks,
Maxim

Reply via email to