Opened 2 years ago

Closed 2 years ago

#20257 closed defect (fixed)

Subversion FTBFS when building Ruby bindings

Reported by: Douglas R. Reno Owned by: Douglas R. Reno
Priority: normal Milestone: 12.2
Component: BOOK Version: git
Severity: medium Keywords:
Cc:

Description

This seems to be due to incompatible pointer types. There are a couple of commits upstream that I am going to try to backport. These commits are ​https://svn.apache.org/viewvc?view=revision&revision=1915239 and ​https://svn.apache.org/viewvc?view=revision&revision=1915236

Without these we'll get over 20 errors like:

subversion/bindings/swig/ruby/svn_client.c:25865:17: error: passing 
argument 1 of ‘RB_NIL_P’ makes integer from pointer without a cast 
[-Wint-conversion]
25865 |       if (NIL_P(arg9)) {
      |                 ^~~~
      |                 |
      |                 apr_hash_t *
/usr/include/ruby-3.3.0/ruby/internal/special_consts.h:173:16: note: 
expected ‘VALUE’ {aka ‘long unsigned int’} but argument is of type 
‘apr_hash_t *’
  173 | RB_NIL_P(VALUE obj)

Change History (8)

comment:1 by Douglas R. Reno, 2 years ago

Owner: changed from blfs-book to Douglas R. Reno
Status: new → assigned

comment:2 by Douglas R. Reno, 2 years ago

Milestone: 12.3 → 12.2
Type: enhancement → defect

comment:3 by Douglas R. Reno, 2 years ago

I'm not entirely sure what to do here. Fedora has papered over the problem (see ​https://bugzilla.redhat.com/show_bug.cgi?id=2259155 and ​https://src.fedoraproject.org/rpms/subversion/c/376213baeb2838b2af084ac593234ca65625a76c?branch=rawhide), while Arch is still on ruby-3.2 *and* subversion-1.14.2, so they haven't seen the problem. The two patches do not fix the problem. Fedora notes that the issues are harmless.

I think for now I'll try with the CFLAGS that Fedora are using, but we should revisit this at some point.

comment:4 by Douglas R. Reno, 2 years ago

I think I've found some more information on how this works. I'm going to force a regeneration of the SWIG files with a touch command to build/generator/swig/*.py

comment:5 by Douglas R. Reno, 2 years ago

By regenerating the entire build system after applying my patch, the build now runs. Now waiting to see what the tests come out like.

comment:6 by Douglas R. Reno, 2 years ago

Note that the build system needs to be regenerated in order to force a regneration of the SWIG bindings.

comment:7 by Douglas R. Reno, 2 years ago

Fixed at 229d383ca3639481745361c516861959766e32f5

I learned a lot about SWIG today.

comment:8 by Douglas R. Reno, 2 years ago

Resolution: → fixed
Status: assigned → closed
Note: See TracTickets for help on using tickets.