Skip to content

LTFS-backends make errors ubuntu 18.04 #10

@p4xel

Description

@p4xel

Greetings.
I am trying to compile the backend driver.
I ran autogen and configure successfully without errors, but unfortunately make fails with the following:

root@cds-Precision-T7610:~/ltfs-backends# make
make  all-recursive
make[1]: Entering directory '/root/ltfs-backends'
Making all in messages
make[2]: Entering directory '/root/ltfs-backends/messages'
Processing driver_ltotape
genrb number of files: 3
ar: creating ./libdriver_ltotape.a
make[2]: Leaving directory '/root/ltfs-backends/messages'
Making all in src/tape_drivers/linux/ltotape
make[2]: Entering directory '/root/ltfs-backends/src/tape_drivers/linux/ltotape'
/bin/bash ../../../../libtool  --tag=CC --tag=disable-static  --mode=compile gcc -DHAVE_CONFIG_H   -D_GNU_SOURCE -I/usr/local/include/ltfs -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -DIBM_LTFS_BUILD -DGENERIC_OEM_BUILD -I/usr/include  -I../../../../src   -g -O2 -MT libdriver_ltotape_la-ltotape.lo -MD -MP -MF .deps/libdriver_ltotape_la-ltotape.Tpo -c -o libdriver_ltotape_la-ltotape.lo `test -f 'ltotape.c' || echo './'`ltotape.c
libtool: compile:  gcc -DHAVE_CONFIG_H -D_GNU_SOURCE -I/usr/local/include/ltfs -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -DIBM_LTFS_BUILD -DGENERIC_OEM_BUILD -I/usr/include -I../../../../src -g -O2 -MT libdriver_ltotape_la-ltotape.lo -MD -MP -MF .deps/libdriver_ltotape_la-ltotape.Tpo -c ltotape.c  -fPIC -DPIC -o .libs/libdriver_ltotape_la-ltotape.o
ltotape.c: In function ‘ltotape_remaining_capacity’:
ltotape.c:1456:62: warning: passing argument 3 of ‘ltotape_logsense’ makes integer from pointer without a cast [-Wint-conversion]
   status = ltotape_logsense (device, LOG_PAGE_TAPE_CAPACITY, logdata, LOGSENSEPAGE);
                                                              ^~~~~~~
ltotape.c:1381:5: note: expected ‘uint8_t {aka const unsigned char}’ but argument is of type ‘unsigned char *’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
In file included from ../ibmtape/IBM_tape.h:1:0,
                 from ltotape_diag.h:71,
                 from ltotape.c:43:
/usr/local/include/ltfs/tape_drivers/ibm_tape.h:169:22: warning: passing argument 4 of ‘ltotape_logsense’ makes pointer from integer without a cast [-Wint-conversion]
 #define LOGSENSEPAGE 1024     /* max data xfer for log sense page ioctl */
                      ^
ltotape.c:1456:71: note: in expansion of macro ‘LOGSENSEPAGE’
   status = ltotape_logsense (device, LOG_PAGE_TAPE_CAPACITY, logdata, LOGSENSEPAGE);
                                                                       ^~~~~~~~~~~~
ltotape.c:1381:5: note: expected ‘unsigned char *’ but argument is of type ‘int’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
ltotape.c:1456:12: error: too few arguments to function ‘ltotape_logsense’
   status = ltotape_logsense (device, LOG_PAGE_TAPE_CAPACITY, logdata, LOGSENSEPAGE);
            ^~~~~~~~~~~~~~~~
ltotape.c:1381:5: note: declared here
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
ltotape.c: In function ‘ltotape_get_cartridge_health’:
ltotape.c:2932:56: warning: passing argument 3 of ‘ltotape_logsense’ makes integer from pointer without a cast [-Wint-conversion]
   rc = ltotape_logsense (device, LOG_PAGE_VOLUMESTATS, logdata, LOGSENSEPAGE);
                                                        ^~~~~~~
ltotape.c:1381:5: note: expected ‘uint8_t {aka const unsigned char}’ but argument is of type ‘unsigned char *’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
In file included from ../ibmtape/IBM_tape.h:1:0,
                 from ltotape_diag.h:71,
                 from ltotape.c:43:
/usr/local/include/ltfs/tape_drivers/ibm_tape.h:169:22: warning: passing argument 4 of ‘ltotape_logsense’ makes pointer from integer without a cast [-Wint-conversion]
 #define LOGSENSEPAGE 1024     /* max data xfer for log sense page ioctl */
                      ^
ltotape.c:2932:65: note: in expansion of macro ‘LOGSENSEPAGE’
   rc = ltotape_logsense (device, LOG_PAGE_VOLUMESTATS, logdata, LOGSENSEPAGE);
                                                                 ^~~~~~~~~~~~
ltotape.c:1381:5: note: expected ‘unsigned char *’ but argument is of type ‘int’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
ltotape.c:2932:8: error: too few arguments to function ‘ltotape_logsense’
   rc = ltotape_logsense (device, LOG_PAGE_VOLUMESTATS, logdata, LOGSENSEPAGE);
        ^~~~~~~~~~~~~~~~
ltotape.c:1381:5: note: declared here
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
ltotape.c: In function ‘ltotape_get_tape_alert’:
ltotape.c:3002:55: warning: passing argument 3 of ‘ltotape_logsense’ makes integer from pointer without a cast [-Wint-conversion]
   rc = ltotape_logsense (device, LOG_PAGE_TAPE_ALERT, logdata, LOGSENSEPAGE);
                                                       ^~~~~~~
ltotape.c:1381:5: note: expected ‘uint8_t {aka const unsigned char}’ but argument is of type ‘unsigned char *’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
In file included from ../ibmtape/IBM_tape.h:1:0,
                 from ltotape_diag.h:71,
                 from ltotape.c:43:
/usr/local/include/ltfs/tape_drivers/ibm_tape.h:169:22: warning: passing argument 4 of ‘ltotape_logsense’ makes pointer from integer without a cast [-Wint-conversion]
 #define LOGSENSEPAGE 1024     /* max data xfer for log sense page ioctl */
                      ^
ltotape.c:3002:64: note: in expansion of macro ‘LOGSENSEPAGE’
   rc = ltotape_logsense (device, LOG_PAGE_TAPE_ALERT, logdata, LOGSENSEPAGE);
                                                                ^~~~~~~~~~~~
ltotape.c:1381:5: note: expected ‘unsigned char *’ but argument is of type ‘int’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
ltotape.c:3002:8: error: too few arguments to function ‘ltotape_logsense’
   rc = ltotape_logsense (device, LOG_PAGE_TAPE_ALERT, logdata, LOGSENSEPAGE);
        ^~~~~~~~~~~~~~~~
ltotape.c:1381:5: note: declared here
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
ltotape.c: In function ‘ltotape_get_eod_status’:
ltotape.c:3091:56: warning: passing argument 3 of ‘ltotape_logsense’ makes integer from pointer without a cast [-Wint-conversion]
   rc = ltotape_logsense (device, LOG_PAGE_VOLUMESTATS, logdata, LOGSENSEPAGE);
                                                        ^~~~~~~
ltotape.c:1381:5: note: expected ‘uint8_t {aka const unsigned char}’ but argument is of type ‘unsigned char *’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
In file included from ../ibmtape/IBM_tape.h:1:0,
                 from ltotape_diag.h:71,
                 from ltotape.c:43:
/usr/local/include/ltfs/tape_drivers/ibm_tape.h:169:22: warning: passing argument 4 of ‘ltotape_logsense’ makes pointer from integer without a cast [-Wint-conversion]
 #define LOGSENSEPAGE 1024     /* max data xfer for log sense page ioctl */
                      ^
ltotape.c:3091:65: note: in expansion of macro ‘LOGSENSEPAGE’
   rc = ltotape_logsense (device, LOG_PAGE_VOLUMESTATS, logdata, LOGSENSEPAGE);
                                                                 ^~~~~~~~~~~~
ltotape.c:1381:5: note: expected ‘unsigned char *’ but argument is of type ‘int’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
ltotape.c:3091:8: error: too few arguments to function ‘ltotape_logsense’
   rc = ltotape_logsense (device, LOG_PAGE_VOLUMESTATS, logdata, LOGSENSEPAGE);
        ^~~~~~~~~~~~~~~~
ltotape.c:1381:5: note: declared here
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
In file included from ltotape.c:3259:0:
ltotape_compat.c: In function ‘ltotape_wrapper_logsense’:
ltotape_compat.c:373:47: warning: passing argument 3 of ‘ltotape_logsense’ makes integer from pointer without a cast [-Wint-conversion]
         status = ltotape_logsense(&sio, page, buf, size);
                                               ^~~
ltotape.c:1381:5: note: expected ‘uint8_t {aka const unsigned char}’ but argument is of type ‘unsigned char *’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
In file included from ltotape.c:3259:0:
ltotape_compat.c:373:52: warning: passing argument 4 of ‘ltotape_logsense’ makes pointer from integer without a cast [-Wint-conversion]
         status = ltotape_logsense(&sio, page, buf, size);
                                                    ^~~~
ltotape.c:1381:5: note: expected ‘unsigned char *’ but argument is of type ‘size_t {aka const long unsigned int}’
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
In file included from ltotape.c:3259:0:
ltotape_compat.c:373:18: error: too few arguments to function ‘ltotape_logsense’
         status = ltotape_logsense(&sio, page, buf, size);
                  ^~~~~~~~~~~~~~~~
ltotape.c:1381:5: note: declared here
 int ltotape_logsense (void *device, const uint8_t page, const uint8_t subpage,
     ^~~~~~~~~~~~~~~~
In file included from ltotape.c:3259:0:
ltotape_compat.c: At top level:
ltotape_compat.c:701:35: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
         .logsense               = ltotape_wrapper_logsense,
                                   ^~~~~~~~~~~~~~~~~~~~~~~~
ltotape_compat.c:701:35: note: (near initialization for ‘ltotape_drive_handler.logsense’)
ltotape_compat.c:732:3: error: ‘struct tape_ops’ has no member named ‘get_block_in_buffer’; did you mean ‘get_next_block_to_xfer’?
  .get_block_in_buffer    = ltotape_get_block_in_buffer,
   ^~~~~~~~~~~~~~~~~~~
   get_next_block_to_xfer
ltotape_compat.c:732:28: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  .get_block_in_buffer    = ltotape_get_block_in_buffer,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
ltotape_compat.c:732:28: note: (near initialization for ‘ltotape_drive_handler.get_next_block_to_xfer’)
Makefile:479: recipe for target 'libdriver_ltotape_la-ltotape.lo' failed
make[2]: *** [libdriver_ltotape_la-ltotape.lo] Error 1
make[2]: Leaving directory '/root/ltfs-backends/src/tape_drivers/linux/ltotape'
Makefile:475: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/root/ltfs-backends'
Makefile:383: recipe for target 'all' failed
make: *** [all] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions