[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#73835: Build failure with gcc 14 and musl on 32 bit
From: |
Natanael Copa |
Subject: |
bug#73835: Build failure with gcc 14 and musl on 32 bit |
Date: |
Wed, 16 Oct 2024 10:02:01 +0200 |
On Wed, 16 Oct 2024 09:56:22 +0200
Natanael Copa <ncopa@alpinelinux.org> wrote:
> Hi,
>
> I get this error message when compiling guile 3.0.9 and 3.0.10 with gcc
> 14 / musl libc on 32 bit Alpine Linux:
>
> filesys.c: In function 'scm_sendfile':
> filesys.c:1405:16: error: assignment to 'off_t *' {aka 'long long int *'}
> from incompatible pointer type 'scm_t_off *' {aka 'long int *'}
> [-Wincompatible-pointer-types]
> 1405 | offset_ptr = SCM_UNBNDP (offset) ? NULL : &c_offset;
> | ^
>
> It looks like an assumption that off_t is 32 bit, which is not true on musl
> libc.
>
> -nc
This appears to solve it:
diff --git a/libguile/filesys.c b/libguile/filesys.c
index 70a6ef6..0500d45 100644
--- a/libguile/filesys.c
+++ b/libguile/filesys.c
@@ -1388,7 +1388,7 @@ SCM_DEFINE (scm_sendfile, "sendfile", 3, 1, 0,
ssize_t result SCM_UNUSED;
size_t c_count, total = 0;
- scm_t_off c_offset;
+ off_t c_offset;
int in_fd, out_fd;
VALIDATE_FD_OR_PORT (out_fd, out, 1);