[GH-ISSUE #1515] [error] 'SEEK_HOLE' was not declared in this scope in v1.87 on Alpine #794

Closed
opened 2026-03-04 01:48:51 +03:00 by kerem · 1 comment
Owner

Originally created by @aamorozov on GitHub (Jan 7, 2021).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1515

Version of s3fs being used (s3fs --version)

1.87

Version of fuse being used (pkg-config --modversion fuse, rpm -qi fuse, dpkg -s fuse)

2.9.9-r1

GNU/Linux Distribution, if applicable (cat /etc/os-release)

Docker image - node:14.14.0-alpine3.12

Issue details

The issue occurs on s3fs version 1.87. The same installation steps work just fine on 1.86 on the same machine.

Error log

#12 20.22 g++ -DHAVE_CONFIG_H -I. -I..  -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2     -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs.o -MD -MP -MF .deps/s3fs.Tpo -c -o s3fs.o s3fs.cpp
#12 28.67 mv -f .deps/s3fs.Tpo .deps/s3fs.Po
#12 28.67 g++ -DHAVE_CONFIG_H -I. -I..  -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2     -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl.o -MD -MP -MF .deps/curl.Tpo -c -o curl.o curl.cpp
#12 37.76 mv -f .deps/curl.Tpo .deps/curl.Po
#12 37.76 g++ -DHAVE_CONFIG_H -I. -I..  -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2     -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT cache.o -MD -MP -MF .deps/cache.Tpo -c -o cache.o cache.cpp
#12 39.73 mv -f .deps/cache.Tpo .deps/cache.Po
#12 39.73 g++ -DHAVE_CONFIG_H -I. -I..  -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2     -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT string_util.o -MD -MP -MF .deps/string_util.Tpo -c -o string_util.o string_util.cpp
#12 40.83 mv -f .deps/string_util.Tpo .deps/string_util.Po
#12 40.83 g++ -DHAVE_CONFIG_H -I. -I..  -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2     -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_util.o -MD -MP -MF .deps/s3fs_util.Tpo -c -o s3fs_util.o s3fs_util.cpp
#12 42.85 mv -f .deps/s3fs_util.Tpo .deps/s3fs_util.Po
#12 42.85 g++ -DHAVE_CONFIG_H -I. -I..  -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2     -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache.o -MD -MP -MF .deps/fdcache.Tpo -c -o fdcache.o fdcache.cpp
#12 43.29 fdcache.cpp: In static member function 'static bool PageList::GetSparseFilePages(int, size_t, fdpage_list_t&)':
#12 43.29 fdcache.cpp:478:33: error: 'SEEK_HOLE' was not declared in this scope
#12 43.29   478 |   int  hole_pos  = lseek(fd, 0, SEEK_HOLE);
#12 43.29       |                                 ^~~~~~~~~
#12 43.29 fdcache.cpp:479:33: error: 'SEEK_DATA' was not declared in this scope; did you mean 'SEEK_SET'?
#12 43.29   479 |   int  data_pos  = lseek(fd, 0, SEEK_DATA);
#12 43.29       |                                 ^~~~~~~~~
#12 43.29       |                                 SEEK_SET
#12 43.68 make[2]: Leaving directory '/opt/app/s3fs-fuse/src'
#12 43.68 make[2]: *** [Makefile:630: fdcache.o] Error 1
#12 43.68 make[1]: Leaving directory '/opt/app/s3fs-fuse'
#12 43.68 make[1]: *** [Makefile:400: all-recursive] Error 1
#12 43.68 make: *** [Makefile:341: all] Error 2

Steps in dockerfile RUN command

RUN apk --update --no-cache add fuse alpine-sdk automake autoconf libxml2-dev fuse-dev curl-dev git bash \   
    && git clone https://github.com/s3fs-fuse/s3fs-fuse.git \
    && cd s3fs-fuse \    
    && git checkout tags/${S3FS_VERSION} \
    && ./autogen.sh \
    && ./configure --prefix=/usr \
    && make \
    && make install \
    && make clean \
    && rm -rf /var/cache/apk/* \
    && apk del git automake autoconf
Originally created by @aamorozov on GitHub (Jan 7, 2021). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1515 #### Version of s3fs being used (s3fs --version) 1.87 #### Version of fuse being used (pkg-config --modversion fuse, rpm -qi fuse, dpkg -s fuse) 2.9.9-r1 #### GNU/Linux Distribution, if applicable (cat /etc/os-release) Docker image - `node:14.14.0-alpine3.12` #### Issue details The issue occurs on s3fs version 1.87. The same installation steps work just fine on 1.86 on the same machine. #### Error log ``` #12 20.22 g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs.o -MD -MP -MF .deps/s3fs.Tpo -c -o s3fs.o s3fs.cpp #12 28.67 mv -f .deps/s3fs.Tpo .deps/s3fs.Po #12 28.67 g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl.o -MD -MP -MF .deps/curl.Tpo -c -o curl.o curl.cpp #12 37.76 mv -f .deps/curl.Tpo .deps/curl.Po #12 37.76 g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT cache.o -MD -MP -MF .deps/cache.Tpo -c -o cache.o cache.cpp #12 39.73 mv -f .deps/cache.Tpo .deps/cache.Po #12 39.73 g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT string_util.o -MD -MP -MF .deps/string_util.Tpo -c -o string_util.o string_util.cpp #12 40.83 mv -f .deps/string_util.Tpo .deps/string_util.Po #12 40.83 g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_util.o -MD -MP -MF .deps/s3fs_util.Tpo -c -o s3fs_util.o s3fs_util.cpp #12 42.85 mv -f .deps/s3fs_util.Tpo .deps/s3fs_util.Po #12 42.85 g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/fuse -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache.o -MD -MP -MF .deps/fdcache.Tpo -c -o fdcache.o fdcache.cpp #12 43.29 fdcache.cpp: In static member function 'static bool PageList::GetSparseFilePages(int, size_t, fdpage_list_t&)': #12 43.29 fdcache.cpp:478:33: error: 'SEEK_HOLE' was not declared in this scope #12 43.29 478 | int hole_pos = lseek(fd, 0, SEEK_HOLE); #12 43.29 | ^~~~~~~~~ #12 43.29 fdcache.cpp:479:33: error: 'SEEK_DATA' was not declared in this scope; did you mean 'SEEK_SET'? #12 43.29 479 | int data_pos = lseek(fd, 0, SEEK_DATA); #12 43.29 | ^~~~~~~~~ #12 43.29 | SEEK_SET #12 43.68 make[2]: Leaving directory '/opt/app/s3fs-fuse/src' #12 43.68 make[2]: *** [Makefile:630: fdcache.o] Error 1 #12 43.68 make[1]: Leaving directory '/opt/app/s3fs-fuse' #12 43.68 make[1]: *** [Makefile:400: all-recursive] Error 1 #12 43.68 make: *** [Makefile:341: all] Error 2 ``` #### Steps in dockerfile RUN command ``` RUN apk --update --no-cache add fuse alpine-sdk automake autoconf libxml2-dev fuse-dev curl-dev git bash \ && git clone https://github.com/s3fs-fuse/s3fs-fuse.git \ && cd s3fs-fuse \ && git checkout tags/${S3FS_VERSION} \ && ./autogen.sh \ && ./configure --prefix=/usr \ && make \ && make install \ && make clean \ && rm -rf /var/cache/apk/* \ && apk del git automake autoconf ```
kerem closed this issue 2026-03-04 01:48:51 +03:00
Author
Owner

@gaul commented on GitHub (Jan 7, 2021):

Please compile from master. This fix will soon be included in 1.88. See #1354 and #1372 for more context.

<!-- gh-comment-id:756063951 --> @gaul commented on GitHub (Jan 7, 2021): Please compile from master. This fix will soon be included in 1.88. See #1354 and #1372 for more context.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/s3fs-fuse#794
No description provided.