[lustre-discuss] lustre-2.14.0_ddn136 make fails with: error: passing argument 1 of ‘bio_alloc’ makes pointer from integer without a cast [-Werror=int-conversion]

Andreas Dilger adilger at ddn.com
Mon Sep 16 21:37:35 PDT 2024


What client distro/kernel are you using?  Typically, if it is a newer kernel (e.g. Ubuntu24.04) you will need to get a newer version of the client to build with that kernel.

On Sep 16, 2024, at 13:37, Rob Kudyba <rk3199 at columbia.edu> wrote:

You don't often get email from rk3199 at columbia.edu. Learn why this is important<https://aka.ms/LearnAboutSenderIdentification>
Using gcc 11.4.1 20231218, autogen.sh then ./configure works but make fails here:

  CC [M]  /home/lustre-2.14.0_ddn136/libcfs/libcfs/crypto/bio.o
In file included from include/linux/mm.h:7,
                 from include/linux/pagemap.h:8,
                 from /home/lustre-2.14.0_ddn136/libcfs/libcfs/crypto/bio.c:28:
/home/lustre-2.14.0_ddn136/libcfs/libcfs/crypto/bio.c: In function ‘llcrypt_zeroout_range’:
include/linux/gfp.h:341:25: error: passing argument 1 of ‘bio_alloc’ makes pointer from integer without a cast [-Werror=int-conversion]
  341 | #define GFP_NOWAIT      (__GFP_KSWAPD_RECLAIM)
      |                         ^~~~~~~~~~~~~~~~~~~~~~
      |                         |
      |                         unsigned int
/home/lustre-2.14.0_ddn136/libcfs/libcfs/crypto/bio.c:100:33: note: in expansion of macro ‘GFP_NOWAIT’
  100 |                 bio = bio_alloc(GFP_NOWAIT, 1);
      |                                 ^~~~~~~~~~
In file included from /home/lustre-2.14.0_ddn136/libcfs/libcfs/crypto/bio.c:30:
include/linux/bio.h:421:58: note: expected ‘struct block_device *’ but argument is of type ‘unsigned int’
  421 | static inline struct bio *bio_alloc(struct block_device *bdev,
      |                                     ~~~~~~~~~~~~~~~~~~~~~^~~~
/home/lustre-2.14.0_ddn136/libcfs/libcfs/crypto/bio.c:100:23: error: too few arguments to function ‘bio_alloc’
  100 |                 bio = bio_alloc(GFP_NOWAIT, 1);
      |                       ^~~~~~~~~
In file included from /home/lustre-2.14.0_ddn136/libcfs/libcfs/crypto/bio.c:30:
include/linux/bio.h:421:27: note: declared here
  421 | static inline struct bio *bio_alloc(struct block_device *bdev,
      |                           ^~~~~~~~~
/home/lustre-2.14.0_ddn136/libcfs/libcfs/crypto/bio.c:107:17: error: implicit declaration of function ‘bio_set_op_attrs’ [-Werror=implicit-function-declaration]
  107 |                 bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
      |                 ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [scripts/Makefile.build:299: /home/lustre-2.14.0_ddn136/libcfs/libcfs/crypto/bio.o] Error 1
make[5]: *** [scripts/Makefile.build:585: /home/lustre-2.14.0_ddn136/libcfs/libcfs] Error 2
make[4]: *** [scripts/Makefile.build:585: /home/lustre-2.14.0_ddn136/libcfs] Error 2
make[3]: *** [Makefile:1928: /home/lustre-2.14.0_ddn136] Error 2
make[3]: Leaving directory '/usr/src/kernels/5.14.0-362.24.1.el9_3.x86_64'
make[2]: *** [autoMakefile:1152: modules] Error 2
make[2]: Leaving directory '/home/lustre-2.14.0_ddn136'
make[1]: *** [autoMakefile:684: all-recursive] Error 1
make[1]: Leaving directory '/home/lustre-2.14.0_ddn136'
make: *** [autoMakefile:550: all] Error 2

Is there a workaround for this?
_______________________________________________
lustre-discuss mailing list
lustre-discuss at lists.lustre.org
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org

Cheers, Andreas
--
Andreas Dilger
Lustre Principal Architect
Whamcloud







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20240917/051a88b1/attachment-0001.htm>


More information about the lustre-discuss mailing list