Open
Description
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