Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 923492 - net-libs/libssh2: Missing large file support
Summary: net-libs/libssh2: Missing large file support
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Netmon project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: lfs-tracker
  Show dependency tree
 
Reported: 2024-02-01 22:08 UTC by Allen Webb
Modified: 2024-02-01 22:15 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Allen Webb 2024-02-01 22:08:21 UTC
libssh2 is missing large file support:

```
15:59:17.785  * QA Notice: The following files were not built with LFS support:
15:59:17.799  *   Please see https://issuetracker.google.com/201531268 for details.
15:59:17.813  * fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/image/usr/lib/libssh2.so.1.0.1
15:59:17.817  * fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/image/usr/lib/debug/usr/lib/libssh2.so.1.0.1.debug
15:59:17.830  * Full build files:
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/src/libssh2.so.1.0.1
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/src/CMakeFiles/libssh2_shared.dir/knownhost.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/src/CMakeFiles/libssh2_shared.dir/crypto.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/src/CMakeFiles/libssh2_shared.dir/userauth.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/src/CMakeFiles/libssh2_static.dir/knownhost.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/src/CMakeFiles/libssh2_static.dir/crypto.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/src/CMakeFiles/libssh2_static.dir/userauth.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/libssh2.so.1.0.1
fopen,stat /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/scp_write
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/sftp_write
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/sftp_write_sliding
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/sftp_write_nonblock
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/sftp_append
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/sftp_RW_nonblock
fopen,stat /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/scp_write_nonblock
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/CMakeFiles/sftp_append.dir/sftp_append.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/CMakeFiles/sftp_write.dir/sftp_write.c.o
fopen,stat /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/CMakeFiles/scp_write_nonblock.dir/scp_write_nonblock.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/CMakeFiles/sftp_write_sliding.dir/sftp_write_sliding.c.o
fopen,stat /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/CMakeFiles/scp_write.dir/scp_write.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/CMakeFiles/sftp_RW_nonblock.dir/sftp_RW_nonblock.c.o
fopen /build/arm-generic/tmp/portage/net-libs/libssh2-1.11.0-r2/work/libssh2-1.11.0_build-.arm/example/CMakeFiles/sftp_write_nonblock.dir/sftp_write_nonblock.c.o
```

It looks like there is some evidence we might have to worry about API breakage if we enable LFS support:
```
#ifndef LIBSSH2_STRUCT_STAT_SIZE_FORMAT
#  ifdef __VMS
/* We have to roll our own format here because %z is a C99-ism we don't
   have. */
#    if __USE_OFF64_T || __USING_STD_STAT
#      define LIBSSH2_STRUCT_STAT_SIZE_FORMAT      "%Ld"
#    else
#      define LIBSSH2_STRUCT_STAT_SIZE_FORMAT      "%d"
#    endif
#  else
#    define LIBSSH2_STRUCT_STAT_SIZE_FORMAT      "%zd"
#  endif
typedef struct stat libssh2_struct_stat;
typedef off_t libssh2_struct_stat_size;
#endif
```
https://github.com/libssh2/libssh2/blob/4bba038eb63dce76e26c01209dab55745e2d4eae/include/libssh2.h#L247

However, this just looks like a hack to fix issues when formatting numbers.

Adding `append-lfs-flags` from flag-o-matic.eclass to `multilib_src_configure` resolves the issue for me.

Reproducible: Always