D: [iurt_root_command] chroot warning: %patchN is deprecated (3 usages found), use %patch N (or %patch -P N) Installing /home/pterjan/rpmbuild/SRPMS/taper-7.0-0.pre1.21.mga10.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.uqxl1h + umask 022 + cd /home/pterjan/rpmbuild/BUILD + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + cd /home/pterjan/rpmbuild/BUILD + rm -rf taper-7.0pre-1 + /usr/lib/rpm/rpmuncompress -x /home/pterjan/rpmbuild/SOURCES/taper-7.0pre1.tar.bz2 + STATUS=0 + '[' 0 -ne 0 ']' + cd taper-7.0pre-1 + rm -rf /home/pterjan/rpmbuild/BUILD/taper-7.0pre-1-SPECPARTS + /usr/bin/mkdir -p /home/pterjan/rpmbuild/BUILD/taper-7.0pre-1-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + echo 'Patch #1 (taper-7.0pre1-remove-conflicting-type.patch):' Patch #1 (taper-7.0pre1-remove-conflicting-type.patch): + /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix .type_conflict --fuzz=0 patching file non-ansi.h + echo 'Patch #2 (taper-7.0pre-1-umode_t.patch):' Patch #2 (taper-7.0pre-1-umode_t.patch): + /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix .umode_t --fuzz=0 patching file config.h patching file select_box.c patching file select_box.h + echo 'Patch #3 (taper-7.0pre1-LDFLAGS.diff):' Patch #3 (taper-7.0pre1-LDFLAGS.diff): + /usr/bin/patch --no-backup-if-mismatch -f -p0 -b --suffix .LDFLAGS --fuzz=0 patching file Makefile + find . -name CVS -type d + xargs rm -rf + sed -i -e 's|755 --strip|755|g' Makefile + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.0xPH1R + umask 022 + cd /home/pterjan/rpmbuild/BUILD + cd taper-7.0pre-1 + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + /usr/bin/make -O -j16 V=1 VERBOSE=1 'CFLAGS=-O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall' 'LDFLAGS= -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-O1 -Wl,--build-id=sha1 -Wl,--enable-new-dtags' echo "#define CUR_VERSION \""7.0pre-1"\"" > version.h gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o memory.o -c memory.c gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o endianize.o -c endianize.c endianize.c: In function 'mach2littlekey': endianize.c:303:36: error: passing argument 1 of 'mach2littleu64' from incompatible pointer type [-Wincompatible-pointer-types] 303 | k1->fname_pos = mach2littleu64(&k->fname_pos); | ^~~~~~~~~~~~~ | | | off_t * {aka long int *} endianize.c:134:27: note: expected '_u64 *' {aka 'long long unsigned int *'} but argument is of type 'off_t *' {aka 'long int *'} 134 | _u64 mach2littleu64(_u64 *s) | ~~~~~~^ endianize.c:304:33: warning: pointer targets in passing argument 1 of 'mach2littleu32' differ in signedness [-Wpointer-sign] 304 | k1->volume = mach2littleu32(&k->volume); | ^~~~~~~~~~ | | | _s32 * {aka int *} endianize.c:209:28: note: expected '_u32 *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 209 | _u32 mach2littleu32(_u32 *s) | ~~~~~~^ endianize.c: In function 'little2machkey': endianize.c:312:36: error: passing argument 1 of 'little2machu64' from incompatible pointer type [-Wincompatible-pointer-types] 312 | k1->fname_pos = little2machu64(&k->fname_pos); | ^~~~~~~~~~~~~ | | | off_t * {aka long int *} endianize.c:153:27: note: expected '_u64 *' {aka 'long long unsigned int *'} but argument is of type 'off_t *' {aka 'long int *'} 153 | _u64 little2machu64(_u64 *s) | ~~~~~~^ endianize.c:313:33: warning: pointer targets in passing argument 1 of 'little2machu32' differ in signedness [-Wpointer-sign] 313 | k1->volume = little2machu32(&k->volume); | ^~~~~~~~~~ | | | _s32 * {aka int *} endianize.c:228:28: note: expected '_u32 *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 228 | _u32 little2machu32(_u32 *s) | ~~~~~~^ endianize.c: In function 'ifk_node_endianize2little': endianize.c:322:28: warning: pointer targets in passing argument 1 of 'mach2littleu32' differ in signedness [-Wpointer-sign] 322 | n1->n = mach2littleu32(&n->n); | ^~~~~ | | | int * endianize.c:209:28: note: expected '_u32 *' {aka 'unsigned int *'} but argument is of type 'int *' 209 | _u32 mach2littleu32(_u32 *s) | ~~~~~~^ endianize.c: In function 'ifk_node_endianize2mach': endianize.c:334:28: warning: pointer targets in passing argument 1 of 'little2machu32' differ in signedness [-Wpointer-sign] 334 | n1->n = little2machu32(&n->n); | ^~~~~ | | | int * endianize.c:228:28: note: expected '_u32 *' {aka 'unsigned int *'} but argument is of type 'int *' 228 | _u32 little2machu32(_u32 *s) | ~~~~~~^ make: *** [Makefile:82: endianize.o] Error 1 make: *** Waiting for unfinished jobs.... gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o vars.o -c vars.c gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o utils.o -c utils.c utils.c: In function 'utils_whereproc': utils.c:342:41: warning: format '%lld' expects argument of type 'long long int', but argument 4 has type '__dev_t' {aka 'long unsigned int'} [-Wformat=] 342 | sprintf(s1, "%s is on device %lld", s, buf.st_dev); | ~~~^ ~~~~~~~~~~ | | | | | __dev_t {aka long unsigned int} | long long int | %ld utils.c: In function 'utils_reindex': utils.c:481:31: warning: pointer targets in passing argument 2 of 'do_read_vol_dir' differ in signedness [-Wpointer-sign] 481 | if (do_read_vol_dir(arch, tape, O_RDONLY, TRUE, TRUE, FALSE) == -1) | ^~~~ | | | signed char * In file included from taper.h:50, from utils.c:14: common.h:26:56: note: expected 'char *' but argument is of type 'signed char *' 26 | extern _errstat do_read_vol_dir(_u32 archive_id, char *tape, int mode, _s8 rvdir, _s8 exist, _s8 open_index); | ~~~~~~^~~~ utils.c:460:17: warning: variable 'vols' set but not used [-Wunused-but-set-variable] 460 | static _s32 vols; /* needs to be */ | ^~~~ utils.c: In function 'utils_recover': utils.c:695:9: error: implicit declaration of function 'restore_ed_engine' [-Wimplicit-function-declaration] 695 | restore_ed_engine(&ifd, lns); | ^~~~~~~~~~~~~~~~~ utils.c: In function 'utils_testlinks_dpd': utils.c:598:5: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 598 | getcwd(olddir, sizeof(olddir)); /* save current directory */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utils.c:600:5: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 600 | getcwd(curdir, sizeof(curdir)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utils.c:605:9: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 605 | chdir(olddir); | ^~~~~~~~~~~~~ utils.c:611:13: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 611 | chdir(olddir); | ^~~~~~~~~~~~~ utils.c: In function 'utils_testlinks': utils.c:631:5: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 631 | getcwd(olddir, sizeof(olddir)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ utils.c:632:5: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 632 | chdir(s); getcwd(s, sizeof(s)); | ^~~~~~~~ utils.c:632:15: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 632 | chdir(s); getcwd(s, sizeof(s)); | ^~~~~~~~~~~~~~~~~~~~ utils.c:633:5: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 633 | chdir(olddir); | ^~~~~~~~~~~~~ make: *** [Makefile:82: utils.o] Error 1 gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o sel_restore.o -c sel_restore.c sel_restore.c: In function 'restore_update_selected_sizes': sel_restore.c:104:44: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 104 | x = ntraverse(0, &i_key, NULL, &rec, TRAVERSE_SEARCH, INFO_NAME); | ^~~~ | | | _s32 * {aka int *} In file included from taper.h:50, from sel_restore.c:14: common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ sel_restore.c:122:48: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 122 | x = ntraverse(0, &i_key, NULL, &rec, TRAVERSE_CONTINUE, INFO_NAME); | ^~~~ | | | _s32 * {aka int *} common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ sel_restore.c: In function 'restore_print_voldir_line': sel_restore.c:182:29: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 182 | int top_left_width=files->_maxx-3; | ^~ sel_restore.c:180:15: warning: variable 't' set but not used [-Wunused-but-set-variable] 180 | struct tm t; | ^ sel_restore.c: In function 'restore_print_vol_dir': sel_restore.c:232:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 232 | if (strlen(s1) > win->_maxx-strlen(s)-2) { /* make sure dir name not too long */ | ^~ sel_restore.c:233:39: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 233 | strcpy(s2, &s1[strlen(s1)-(win->_maxx-strlen(s)-1)+2]); | ^~ In file included from taper.h:40: sel_restore.c:246:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 246 | mvwaddstr(win, 2, win->_maxx-6, "Size"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ sel_restore.c:247:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 247 | mvwaddstr(win, 2, win->_maxx-18, "Pos"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ sel_restore.c:248:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 248 | mvwaddstr(win, 2, win->_maxx-24, "Vol"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ sel_restore.c:259:55: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 259 | print_scroll_bar(win, no_in_archive, &file_sd, win->_maxy, | ^~ sel_restore.c:260:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 260 | win->_maxx, p_scroll); | ^~ sel_restore.c: In function 'restore_print_selected_line': sel_restore.c:274:72: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 274 | trunc_filename(mr->i.name, s2, win->_maxx-24)): | ^~ sel_restore.c:277:72: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 277 | trunc_filename(mr->i.name, s2, win->_maxx-24)); | ^~ sel_restore.c:282:76: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 282 | trunc_filename(mr->i.name, s2, win->_maxx-24)) : | ^~ sel_restore.c:285:76: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 285 | trunc_filename(mr->i.name, s2, win->_maxx-24)); | ^~ sel_restore.c:287:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 287 | (mr->incremental == 1) ? mvwaddstr(win, line+1, win->_maxx-5, "M ") : | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ sel_restore.c:288:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 288 | mvwprintw(win, line+1, win->_maxx-5, "%03d", abs(mr->i.f.volume)); | ^~ sel_restore.c: In function 'restore_print_selected_size': sel_restore.c:302:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 302 | mvwaddstr(win, 1, win->_maxx-5, "Vol"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ sel_restore.c: In function 'restore_print_selected': sel_restore.c:318:50: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 318 | print_scroll_bar(win, no_sel, &select_sd, win->_maxy, | ^~ sel_restore.c:319:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 319 | win->_maxx, p_scroll); | ^~ sel_restore.c: In function 'restore_ed_engine': sel_restore.c:384:38: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 384 | pr_filename(id->name, s, win_main->_maxx-20); | ^~ sel_restore.c: In function 'make_mydir': sel_restore.c:525:36: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 525 | if (ntraverse(0, &i_key, NULL, &c, TRAVERSE_SEARCH, INFO_NAME) == 2) return; | ^~ | | | _s32 * {aka int *} common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ sel_restore.c:559:40: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 559 | if (ntraverse(0, &i_key, NULL, &c, TRAVERSE_CONTINUE, INFO_NAME) != 0) break; | ^~ | | | _s32 * {aka int *} common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ sel_restore.c: In function 'select_restore_files': sel_restore.c:701:56: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 701 | if (ntraverse(0, &i_key, NULL, &c, TRAVERSE_SEARCH, INFO_NAME)) | ^~ | | | _s32 * {aka int *} common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ sel_restore.c:705:64: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 705 | x = ntraverse(0, &i_key, NULL, &c, TRAVERSE_CONTINUE, | ^~ | | | _s32 * {aka int *} common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ sel_restore.c:713:68: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 713 | x = ntraverse(0, &i_key, NULL, &c, TRAVERSE_TOP, | ^~ | | | _s32 * {aka int *} common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ sel_restore.c:752:46: warning: pointer targets in passing argument 5 of 'adjust_cur_entry' differ in signedness [-Wpointer-sign] 752 | &in_dir, c+1); | ^~~~~~~ | | | _s32 * {aka int *} In file included from taper.h:43: select_box.h:83:29: note: expected '_u32 *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 83 | _u32 *no_entries, _s32 cur_entry); | ~~~~~~^~~~~~~~~~ sel_restore.c:758:38: warning: pointer targets in passing argument 5 of 'adjust_cur_entry' differ in signedness [-Wpointer-sign] 758 | &in_dir, c+1); | ^~~~~~~ | | | _s32 * {aka int *} select_box.h:83:29: note: expected '_u32 *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 83 | _u32 *no_entries, _s32 cur_entry); | ~~~~~~^~~~~~~~~~ sel_restore.c:862:48: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 862 | if (ntraverse(0, &i_key, NULL, &c, TRAVERSE_SEARCH, INFO_NAME)) | ^~ | | | _s32 * {aka int *} common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ sel_restore.c: In function 'restore_restore_backupset': sel_restore.c:577:9: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] 577 | fgets(ln, sizeof(ln), f); /* get name */ | ^~~~~~~~~~~~~~~~~~~~~~~~ sel_restore.c:593:9: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] 593 | fgets(ln, sizeof(ln), f); /* ignore filter */ | ^~~~~~~~~~~~~~~~~~~~~~~~ make: *** [Makefile:82: sel_restore.o] Error 1 gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o sel_backup.o -c sel_backup.c sel_backup.c: In function 'backup_print_dir': sel_backup.c:139:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 139 | print_scroll_bar(win, directory_count, &dir_sd, win->_maxy, | ^~ sel_backup.c:140:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 140 | win->_maxx, p_scroll); | ^~ In file included from taper.h:40, from sel_backup.c:14: sel_backup.c:149:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 149 | mvwaddstr(win, 1, win->_maxx-strlen(s)-1, s); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ sel_backup.c:150:37: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 150 | if (strlen(global_cur_dir) > win->_maxx-strlen(s)-2) { | ^~ sel_backup.c:151:62: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 151 | strcpy(s, &global_cur_dir[strlen(global_cur_dir)-(win->_maxx-strlen(s)-1)+2]); | ^~ sel_backup.c: In function 'backup_print_selected_line': sel_backup.c:169:53: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 169 | trunc_filename(s->i.name, s3, win->_maxx-24)); | ^~ sel_backup.c:174:52: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 174 | trunc_filename(s->i.name, s3, win->_maxx-24)); | ^~ sel_backup.c: In function 'backup_print_selected': sel_backup.c:206:50: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 206 | print_scroll_bar(win, no_sel, &select_sd, win->_maxy, | ^~ sel_backup.c:207:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 207 | win->_maxx, p_scroll); | ^~ sel_backup.c: In function 'backup_print_exclude_line': sel_backup.c:233:53: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 233 | trunc_filename(s->i.name, s3, win->_maxx-24)); | ^~ sel_backup.c:238:52: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 238 | trunc_filename(s->i.name, s3, win->_maxx-24)); | ^~ sel_backup.c: In function 'backup_print_exclude': sel_backup.c:273:55: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 273 | print_scroll_bar(win, no_exclude, &exclude_sd, win->_maxy, | ^~ sel_backup.c:274:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 274 | win->_maxx, p_scroll); | ^~ sel_backup.c: In function 'backup_del_cur_selected_entry_engine': sel_backup.c:744:12: warning: variable 'mode' set but not used [-Wunused-but-set-variable] 744 | mode_t mode; | ^~~~ sel_backup.c: In function 'backup_del_cur_exclude_entry_engine': sel_backup.c:766:12: warning: variable 'mode' set but not used [-Wunused-but-set-variable] 766 | mode_t mode; | ^~~~ sel_backup.c: In function 'backup_select_files': sel_backup.c:1004:80: warning: pointer targets in passing argument 5 of 'adjust_cur_entry' differ in signedness [-Wpointer-sign] 1004 | adjust_cur_entry(files, &dir_sd, backup_print_dir, &p, &directory_count, c); | ^~~~~~~~~~~~~~~~ | | | _s32 * {aka int *} In file included from taper.h:43: select_box.h:83:29: note: expected '_u32 *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 83 | _u32 *no_entries, _s32 cur_entry); | ~~~~~~^~~~~~~~~~ sel_backup.c:1016:88: warning: pointer targets in passing argument 5 of 'adjust_cur_entry' differ in signedness [-Wpointer-sign] 1016 | adjust_cur_entry(files, &dir_sd, backup_print_dir, &p, &directory_count, c); | ^~~~~~~~~~~~~~~~ | | | _s32 * {aka int *} select_box.h:83:29: note: expected '_u32 *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 83 | _u32 *no_entries, _s32 cur_entry); | ~~~~~~^~~~~~~~~~ sel_backup.c:1115:25: warning: the address of 'old_dir' will always evaluate as 'true' [-Waddress] 1115 | if (old_dir) | ^~~~~~~ sel_backup.c: In function 'backup_restore_backupset': sel_backup.c:802:5: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 802 | getcwd(x, sizeof(x)); | ^~~~~~~~~~~~~~~~~~~~ sel_backup.c:806:5: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 806 | chdir(x); | ^~~~~~~~ sel_backup.c: In function 'backup_select_files': sel_backup.c:1112:19: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1112 | getcwd(cur_dir, MAX_FNAME); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ sel_backup.c:1138:41: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1138 | getcwd(cur_dir, MAX_FNAME); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [Makefile:82: sel_backup.o] Error 1 gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o select_box.o -c select_box.c select_box.c: In function 'my_werase': select_box.c:101:21: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 101 | for (y=0; y<=win->_maxy; y++) { | ^~ select_box.c:103:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 103 | for (x=0; x<=win->_maxx; x++) | ^~ select_box.c:106:12: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 106 | if (win->_maxy > 1) /* don't bother bordering */ | ^~ select_box.c: In function 'get_string': select_box.c:131:32: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 131 | mes = my_newwin(5, 40, (win->_maxy-5)/2, (win->_maxx-40)/2); | ^~ select_box.c:131:50: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 131 | mes = my_newwin(5, 40, (win->_maxy-5)/2, (win->_maxx-40)/2); | ^~ select_box.c: In function 'centre': select_box.c:190:21: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 190 | int maxs=min(win->_maxx-2, strlen(s)); | ^~ select_box.c:198:19: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 198 | for (c=0;c_maxx-1;c++) | ^~ In file included from select_box.h:15, from select_box.c:15: select_box.c:200:30: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 200 | mvwaddstr(win, line, (win->_maxx - maxs)/2+1, s1); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c: In function 'centre_invert': select_box.c:206:21: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 206 | int maxs=min(win->_maxx-2, strlen(s)); | ^~ select_box.c:211:11: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 211 | s1[win->_maxx-3] = 0; | ^~ select_box.c:212:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 212 | wmove(win, line, (win->_maxx - maxs)/2+1); | ^~ select_box.c: In function 'status_box': select_box.c:235:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 235 | screen_width = curscr->_maxx; | ^~ select_box.c:236:24: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 236 | screen_len = curscr->_maxy; | ^~ select_box.c: In function 'mb_options': select_box.c:270:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 270 | mvwaddstr(mes_box, mes_box_lines-1, mes_box->_maxx - 7, "ABORT"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c:275:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 275 | mvwaddstr(mes_box, mes_box_lines-1, mes_box->_maxx - 7, "ABORT"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c:284:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 284 | mvwaddstr(mes_box, mes_box_lines-1, mes_box->_maxx - 5, "NO"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c:289:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 289 | mvwaddstr(mes_box, mes_box_lines-1, mes_box->_maxx - 5, "NO"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c:298:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 298 | mvwaddstr(mes_box, mes_box_lines-1, mes_box->_maxx - 12, "OVERWRITE"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c:303:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 303 | mvwaddstr(mes_box, mes_box_lines-1, mes_box->_maxx - 12, "OVERWRITE"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c:312:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 312 | mvwaddstr(mes_box, mes_box_lines-1, mes_box->_maxx - 9, "CANCEL"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c:317:56: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 317 | mvwaddstr(mes_box, mes_box_lines-1, mes_box->_maxx - 9, "CANCEL"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c:323:52: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 323 | mvwaddstr(mes_box, mes_box_lines-1, mes_box->_maxx/2-1, "OK"); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c: In function 'message_box_engine': select_box.c:348:34: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 348 | int mes_box_lines=mes_box->_maxy; | ^~ select_box.c: In function 'message_box': select_box.c:391:28: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 391 | int screen_width=curscr->_maxx; | ^~ select_box.c:392:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 392 | int screen_len=curscr->_maxy; | ^~ select_box.c: In function 'multi_message_box': select_box.c:418:28: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 418 | int screen_width=curscr->_maxx - curscr->_begx; | ^~ select_box.c:418:44: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 418 | int screen_width=curscr->_maxx - curscr->_begx; | ^~ select_box.c:419:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 419 | int screen_len=curscr->_maxy - curscr->_begy; | ^~ select_box.c:419:42: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 419 | int screen_len=curscr->_maxy - curscr->_begy; | ^~ select_box.c: In function 'check_eop': select_box.c:474:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 474 | if (no_entries > win->_maxy - 2) { | ^~ select_box.c:475:30: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 475 | sd->cursor_line = win->_maxy-2; | ^~ select_box.c:476:40: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 476 | sd->top_entry = no_entries-(win->_maxy-2); | ^~ select_box.c: In function 'adjust_sd': select_box.c:515:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 515 | int screen_len = win->_maxy; | ^~ select_box.c: In function 'select_box': select_box.c:578:23: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 578 | screen_width = win->_maxx; | ^~ select_box.c:579:21: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 579 | screen_len = win->_maxy; | ^~ select_box.c:728:40: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 728 | help = my_newwin(24, curscr->_maxx-10, | ^~ select_box.c:729:34: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 729 | (curscr->_maxy-24)/2, | ^~ select_box.c:780:43: warning: pointer targets in passing argument 5 of 'adjust_sd' differ in signedness [-Wpointer-sign] 780 | adjust_sd(win, sd, ps, &p_scroll, no_entries); | ^~~~~~~~~~ | | | _s32 * {aka int *} select_box.c:511:88: note: expected '_u32 *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 511 | void adjust_sd(WINDOW *win, select_details *sd, print_screen ps, char *p_scroll, _u32 *no_entries) | ~~~~~~^~~~~~~~~~ select_box.c: In function 'select_menu': select_box.c:796:14: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 796 | int sl=win->_maxy, tl; | ^~ select_box.c:807:3: warning: this 'for' clause does not guard... [-Wmisleading-indentation] 807 | for (c=0; c<=no_items; c++) | ^~~ select_box.c:810:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for' 810 | cur_line = *in_op; | ^~~~~~~~ select_box.c: In function 'print_dir_line': select_box.c:999:5: error: implicit declaration of function 'pr_filename' [-Wimplicit-function-declaration] 999 | pr_filename(entry->entry.d_name, s3, dir_left_width-21); | ^~~~~~~~~~~ select_box.c: In function 'print_dir': select_box.c:1042:62: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1042 | print_scroll_bar(win, sb_directory_count, &sb_dir_sd, win->_maxy, | ^~ select_box.c:1043:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1043 | win->_maxx, p_scroll); | ^~ select_box.c:1052:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1052 | mvwaddstr(win, 1, win->_maxx-strlen(s)-1, s); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ select_box.c:1053:37: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1053 | if (strlen(global_cur_dir) > win->_maxx-strlen(s)-2) { | ^~ select_box.c:1054:62: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1054 | strcpy(s, &global_cur_dir[strlen(global_cur_dir)-(win->_maxx-strlen(s)-1)+2]); | ^~ select_box.c: In function 'select_file': select_box.c:1134:30: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1134 | dir_win = newwin(win_main->_maxy+1, win_main->_maxx, /* make window for directory */ | ^~ select_box.c:1134:49: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1134 | dir_win = newwin(win_main->_maxy+1, win_main->_maxx, /* make window for directory */ | ^~ select_box.c:1138:30: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1138 | dir_screen_ylen = dir_win->_maxy+1; | ^~ select_box.c:1139:32: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1139 | sb_dir_left_width = dir_win->_maxx; | ^~ select_box.c:1190:25: warning: the address of 'old_dir' will always evaluate as 'true' [-Waddress] 1190 | if (old_dir) | ^~~~~~~ select_box.c: In function 'read_dir': select_box.c:914:5: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 914 | chdir(dir_name); | ^~~~~~~~~~~~~~~ select_box.c:915:5: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 915 | getcwd(dir_name, MAX_FNAME); /* real name */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ select_box.c: In function 'select_file': select_box.c:1131:5: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1131 | getcwd(cur_dir, sizeof(cur_dir)); /* preserve existing dir */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ select_box.c:1165:13: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 1165 | chdir(cur_dir); | ^~~~~~~~~~~~~~ select_box.c:1170:13: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 1170 | chdir(cur_dir); | ^~~~~~~~~~~~~~ select_box.c:1183:25: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 1183 | chdir(cur_dir); | ^~~~~~~~~~~~~~ select_box.c:1187:23: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1187 | getcwd(dir_cur_dir, MAX_FNAME); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ select_box.c:1202:17: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 1202 | chdir(cur_dir); | ^~~~~~~~~~~~~~ make: *** [Makefile:82: select_box.o] Error 1 gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o taper.o -c taper.c taper.c: In function 'read_environment': taper.c:158:14: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 158 | strcpy(tape, getenv(TAPE_ENVIRON)); | ^~~~ | | | signed char * In file included from /usr/include/features.h:503, from /usr/include/bits/libc-header-start.h:33, from /usr/include/stdlib.h:26, from taper.h:14, from taper.c:22: /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:161:14: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 161 | strcpy(ntape, getenv(NTAPE_ENVIRON)); | ^~~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c: In function 'fill_in_defaults': taper.c:562:33: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 562 | if (*tape == -1) strcpy(tape, FTAPE_DEFAULT_TAPE); | ^~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:563:34: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 563 | if (*ntape == -1) strcpy(ntape, FTAPE_DEFAULT_NTAPE); | ^~~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:576:33: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 576 | if (*tape == -1) strcpy(tape, ZFTAPE_DEFAULT_TAPE); | ^~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:577:34: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 577 | if (*ntape == -1) strcpy(ntape, ZFTAPE_DEFAULT_NTAPE); | ^~~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:590:33: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 590 | if (*tape == -1) strcpy(tape, SCSI_DEFAULT_TAPE); | ^~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:591:34: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 591 | if (*ntape == -1) strcpy(ntape, SCSI_DEFAULT_NTAPE); | ^~~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:604:33: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 604 | if (*tape == -1) strcpy(tape, ""); | ^~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:605:34: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 605 | if (*ntape == -1) strcpy(ntape, ""); | ^~~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:618:33: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 618 | if (*tape == -1) strcpy(tape, REMOVABLE_DEFAULT_TAPE); | ^~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:619:34: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 619 | if (*ntape == -1) strcpy(ntape, REMOVABLE_DEFAULT_NTAPE); | ^~~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:632:33: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 632 | if (*tape == -1) strcpy(tape, IDE_DEFAULT_TAPE); | ^~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c:633:34: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 633 | if (*ntape == -1) strcpy(ntape, IDE_DEFAULT_NTAPE); | ^~~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ taper.c: In function 'print_option_screen': taper.c:755:32: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 755 | centre(win_main, win_main->_maxy-1, "Arrow keys to move, F5 abort, ESC finish", COLOR_FORM) : | ^~ taper.c:756:32: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 756 | centre(win_main, win_main->_maxy-1, "Arrow keys to move, ESC when finished", COLOR_FORM); | ^~ taper.c: In function 'taper_change_prefs': taper.c:941:20: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 941 | top = (win_main->_maxy - (count * step)) / 2; /* print screen template */ | ^~ taper.c:943:20: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 943 | top = (win_main->_maxy - (count * step)) / 2; /* print screen template */ | ^~ taper.c:1026:42: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1026 | help = my_newwin(13, curscr->_maxx-10, | ^~ taper.c:1027:39: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1027 | (curscr->_maxy-13)/2, | ^~ taper.c:1038:13: warning: this 'if' clause does not guard... [-Wmisleading-indentation] 1038 | if (allab) | ^~ taper.c:1040:15: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' 1040 | centre(help,11, "Press any key...", COLOR_HELP); | ^~~~~~ taper.c: In function 'taper_init_windows': taper.c:1211:29: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1211 | screen_xlen=whole_screen->_maxx+1; /* Dimensions of screen */ | ^~ taper.c:1212:29: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1212 | screen_ylen=whole_screen->_maxy; | ^~ taper.c: In function 'main': taper.c:1480:3: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1480 | getcwd(cur_dir, sizeof(cur_dir)); /* save current directory for backup */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ taper.c:1481:3: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1481 | getcwd(original_cur_dir, sizeof(original_cur_dir)); /* for restore */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ taper.c: In function 'taper_save_preference_file': taper.c:1093:9: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1093 | getcwd(s, sizeof(s)); | ^~~~~~~~~~~~~~~~~~~~ taper.c: In function 'taper_save_command_line': taper.c:1161:9: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1161 | getcwd(s, sizeof(s)); | ^~~~~~~~~~~~~~~~~~~~ make: *** [Makefile:82: taper.o] Error 1 gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o common.o -c common.c common.c: In function 'check_device_names': common.c:718:16: warning: pointer targets in passing argument 1 of 'strchr' differ in signedness [-Wpointer-sign] 718 | if (strchr(ntape, ':') == NULL) /* don't prefix if using */ | ^~~~~ | | | signed char * In file included from taper.h:18, from common.c:15: /usr/include/string.h:246:34: note: expected 'const char *' but argument is of type 'signed char *' 246 | extern char *strchr (const char *__s, int __c) | ~~~~~~~~~~~~^~~ common.c:721:20: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 721 | strcpy(ntape, s); | ^~~~~ | | | signed char * In file included from /usr/include/features.h:503, from /usr/include/bits/libc-header-start.h:33, from /usr/include/stdlib.h:26, from taper.h:14: /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ common.c:723:16: warning: pointer targets in passing argument 1 of 'strchr' differ in signedness [-Wpointer-sign] 723 | if (strchr(tape, ':') == NULL) /* don't prefix if using */ | ^~~~ | | | signed char * /usr/include/string.h:246:34: note: expected 'const char *' but argument is of type 'signed char *' 246 | extern char *strchr (const char *__s, int __c) | ~~~~~~~~~~~~^~~ common.c:726:20: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign] 726 | strcpy(tape, s); | ^~~~ | | | signed char * /usr/include/bits/string_fortified.h:77:1: note: expected 'char *' but argument is of type 'signed char *' 77 | __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) | ^~~~~ common.c: In function 'backrest_init_windows': common.c:1108:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1108 | screen_xlen=win_main->_maxx+1; /* Dimensions of screen */ | ^~ common.c:1109:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1109 | screen_ylen=win_main->_maxy+1; | ^~ common.c: In function 'print_on_voldir_line': common.c:1215:32: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1215 | pr_filename(s1, s2, win->_maxx-6); | ^~ common.c:1223:16: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1223 | spc[win->_maxx-2] = 0; | ^~ common.c: In function 'print_on_vol_dir': common.c:1238:10: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1238 | s[win->_maxx-1] = 0; | ^~ In file included from taper.h:40: common.c:1242:26: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1242 | mvwaddstr(win, 1, win->_maxx-strlen(s)-1, s); | ^~ /usr/include/ncurses/curses.h:1333:59: note: in definition of macro 'mvwaddstr' 1333 | #define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1)) | ^ common.c:1254:55: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1254 | print_scroll_bar(win, no_vol_details, &vol_sd, win->_maxy, | ^~ common.c:1255:25: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} 1255 | win->_maxx, p_scroll); | ^~ common.c: In function 'process_dir': common.c:1480:33: warning: pointer targets in passing argument 2 of 'strcmp' differ in signedness [-Wpointer-sign] 1480 | if (!strcmp(s1, tape) || !strcmp(s1, ntape))/* don't backup backup device */ | ^~~~ | | | signed char * /usr/include/string.h:156:50: note: expected 'const char *' but argument is of type 'signed char *' 156 | extern int strcmp (const char *__s1, const char *__s2) | ~~~~~~~~~~~~^~~~ common.c:1480:54: warning: pointer targets in passing argument 2 of 'strcmp' differ in signedness [-Wpointer-sign] 1480 | if (!strcmp(s1, tape) || !strcmp(s1, ntape))/* don't backup backup device */ | ^~~~~ | | | signed char * /usr/include/string.h:156:50: note: expected 'const char *' but argument is of type 'signed char *' 156 | extern int strcmp (const char *__s1, const char *__s2) | ~~~~~~~~~~~~^~~~ common.c: In function 'open_uncompress_file': common.c:2175:26: warning: pointer targets in passing argument 1 of 'little2machs32' differ in signedness [-Wpointer-sign] 2175 | id1 = little2machs32(&id); | ^~~ | | | _u32 * {aka unsigned int *} In file included from taper.h:52: endianize.h:21:34: note: expected '_s32 *' {aka 'int *'} but argument is of type '_u32 *' {aka 'unsigned int *'} 21 | extern _s32 little2machs32(_s32 *s); | ~~~~~~^ common.c: In function 'compress_file': common.c:2226:26: warning: pointer targets in passing argument 1 of 'little2machs32' differ in signedness [-Wpointer-sign] 2226 | id1 = little2machs32(&id); | ^~~ | | | _u32 * {aka unsigned int *} endianize.h:21:34: note: expected '_s32 *' {aka 'int *'} but argument is of type '_u32 *' {aka 'unsigned int *'} 21 | extern _s32 little2machs32(_s32 *s); | ~~~~~~^ common.c:2239:50: warning: pointer targets in passing argument 1 of 'mach2littles32' differ in signedness [-Wpointer-sign] 2239 | id = COMPRESSED_MAGIC; id1 = mach2littles32(&id); | ^~~ | | | _u32 * {aka unsigned int *} endianize.h:20:34: note: expected '_s32 *' {aka 'int *'} but argument is of type '_u32 *' {aka 'unsigned int *'} 20 | extern _s32 mach2littles32(_s32 *s); | ~~~~~~^ common.c: In function 'do_read_vol_dir': common.c:639:5: warning: ignoring return value of 'read' declared with attribute 'warn_unused_result' [-Wunused-result] 639 | read(info_fd, (char *) &ifd1, sizeof(struct info_file_header)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ common.c: In function 'close_logfile': common.c:827:17: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 827 | write(lf, "\n\n", strlen("\n\n")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ common.c:839:11: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 839 | write(lf, "\n\n", strlen("\n\n")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ common.c: In function 'process_dir': common.c:1449:5: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1449 | getcwd(old_dir, sizeof(old_dir)); /* save old directory */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ common.c:1460:9: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 1460 | chdir(cur_dir); | ^~~~~~~~~~~~~~ common.c:1532:5: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 1532 | chdir(old_dir); /* change back to old directory */ | ^~~~~~~~~~~~~~ common.c: In function 'open_one_index': common.c:2320:13: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 2320 | write(info_index[recnum], 0, sizeof(_u32)); /* magic # for compression */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [Makefile:82: common.o] Error 1 gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o bg_vars.o -c bg_vars.c gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o rtapelib.o -c rtapelib.c rtapelib.c: In function '__rmt_open': rtapelib.c:363:7: warning: ignoring return value of 'dup' declared with attribute 'warn_unused_result' [-Wunused-result] 363 | dup (to_rmt[i][0]); | ^~~~~~~~~~~~~~~~~~ rtapelib.c:368:7: warning: ignoring return value of 'dup' declared with attribute 'warn_unused_result' [-Wunused-result] 368 | dup (from_rmt[i][1]); | ^~~~~~~~~~~~~~~~~~~~ rtapelib.c:372:7: warning: ignoring return value of 'setuid' declared with attribute 'warn_unused_result' [-Wunused-result] 372 | setuid (getuid ()); | ^~~~~~~~~~~~~~~~~~ rtapelib.c:373:7: warning: ignoring return value of 'setgid' declared with attribute 'warn_unused_result' [-Wunused-result] 373 | setgid (getgid ()); | ^~~~~~~~~~~~~~~~~~ rtapelib.c:415:24: warning: ' ' directive writing 1 byte into a region of size between 0 and 63 [-Wformat-overflow=] 415 | sprintf (buffer, "O%s\n%d\n", device, oflag); | ^~ In file included from /usr/include/stdio.h:980, from taper.h:21, from rtapelib.c:34: In function 'sprintf', inlined from '__rmt_open' at rtapelib.c:415:3: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 5 and 78 bytes into a destination of size 64 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o mkinfo.o -c mkinfo.c gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o common_bg.o -c common_bg.c common_bg.c: In function 'mail_finish': common_bg.c:29:5: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 29 | write(mf, s, strlen(s)); | ^~~~~~~~~~~~~~~~~~~~~~~ common_bg.c: In function 'sendmail': common_bg.c:41:5: warning: ignoring return value of 'system' declared with attribute 'warn_unused_result' [-Wunused-result] 41 | system(s); | ^~~~~~~~~ common_bg.c: In function 'do_exit': common_bg.c:65:12: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 65 | write(lf, "\n\n", strlen("\n\n")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ common_bg.c:72:9: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 72 | write(mf, err, strlen(err)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ common_bg.c:74:9: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 74 | write(mf, err, strlen(err)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ common_bg.c: In function 'write_log': common_bg.c:154:5: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 154 | write(lf, s2, strlen(s2)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ common_bg.c: In function 'my_filecopy': common_bg.c:347:9: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 347 | write(newfd, tr_buffer, x); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ common_bg.c: In function 'sendmail': common_bg.c:40:56: warning: '%s' directive writing up to 254 bytes into a region of size 214 [-Wformat-overflow=] 40 | sprintf(s, "%s %s -s \"Taper Unattended Backup\" < %s", MAIL_PROG, MAIL_TO, mailfn); /* send mail */ | ^~ ~~~~~~ In file included from /usr/include/stdio.h:980, from taper.h:21, from common_bg.c:18: In function 'sprintf', inlined from 'sendmail' at common_bg.c:40:5: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 42 and 296 bytes into a destination of size 255 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ In function 'sprintf', inlined from 'pr_filename' at common_bg.c:408:5: /usr/include/bits/stdio2.h:30:10: warning: '__builtin___sprintf_chk' argument 5 overlaps destination object 's' [-Wrestrict] 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ common_bg.c: In function 'pr_filename': common_bg.c:398:36: note: destination object referenced by 'restrict'-qualified argument 1 was declared here 398 | char *pr_filename(char *org, char *s, int c) | ~~~~~~^ gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o restore.o -c restore.c restore.c: In function 'read_vol_dir': restore.c:575:37: warning: pointer targets in passing argument 2 of 'do_read_vol_dir' differ in signedness [-Wpointer-sign] 575 | if (do_read_vol_dir(archive_id, tape, O_RDONLY, TRUE, TRUE, TRUE) == TAPE_EXIST) | ^~~~ | | | signed char * In file included from taper.h:50, from restore.c:15: common.h:26:56: note: expected 'char *' but argument is of type 'signed char *' 26 | extern _errstat do_read_vol_dir(_u32 archive_id, char *tape, int mode, _s8 rvdir, _s8 exist, _s8 open_index); | ~~~~~~^~~~ restore.c: In function 'print_diff': restore.c:652:15: warning: this 'while' clause does not guard... [-Wmisleading-indentation] 652 | while (*xx++); xx +=sizeof(_s32); while (*xx++); | ^~~~~ restore.c:652:30: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while' 652 | while (*xx++); xx +=sizeof(_s32); while (*xx++); | ^~ restore.c: In function 'print_voldir': restore.c:729:36: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 729 | x = ntraverse(0, &i_key, NULL, &c, TRAVERSE_TOP, INFO_NAME); | ^~ | | | _s32 * {aka int *} common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ restore.c:743:40: warning: pointer targets in passing argument 4 of 'ntraverse' differ in signedness [-Wpointer-sign] 743 | x = ntraverse(0, &i_key, NULL, &c, TRAVERSE_CONTINUE, INFO_NAME); | ^~ | | | _s32 * {aka int *} common.h:119:26: note: expected 'dskblk *' {aka 'unsigned int *'} but argument is of type '_s32 *' {aka 'int *'} 119 | dskblk *rec, char command, int index); /* Traverse the tree */ | ~~~~~~~~^~~ restore.c: In function 'restore_start_child': restore.c:316:9: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 316 | chdir(original_cur_dir); | ^~~~~~~~~~~~~~~~~~~~~~~ restore.c: In function 'restore_mfn': restore.c:766:9: warning: ignoring return value of 'read' declared with attribute 'warn_unused_result' [-Wunused-result] 766 | read(fd, &ifd, sizeof(ifd)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ restore.c: In function 'taper_restore': restore.c:971:9: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 971 | chdir(original_cur_dir); /* change directory to ensure */ | ^~~~~~~~~~~~~~~~~~~~~~~ restore.c: In function 'restore_start_child': restore.c:318:44: warning: '%s' directive writing up to 254 bytes into a region of size 177 [-Wformat-overflow=] 318 | sprintf(l, "R:Executing bg_restore %s %d %s %d %d %d \"%s\"", | ^~ 319 | log_file, log_level, fifo_name, shm_id, ovrwrite, restore_mode, temp_dir); | ~~~~~~~~ restore.c:318:20: note: directive argument in the range [-128, 127] 318 | sprintf(l, "R:Executing bg_restore %s %d %s %d %d %d \"%s\"", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/stdio.h:980, from taper.h:21: In function 'sprintf', inlined from 'restore_start_child' at restore.c:318:2: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 36 and 831 bytes into a destination of size 200 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ restore.c: In function 'select_archive': restore.c:863:20: warning: '/taper_info.' directive writing 12 bytes into a region of size between 1 and 255 [-Wformat-overflow=] 863 | sprintf(df, "%s/taper_info.%lld", taper_info_files, th.archive_id); | ^~~~~~~~~~~~ restore.c:863:17: note: using the range [-9223372036854775808, 9223372036854775807] for directive argument 863 | sprintf(df, "%s/taper_info.%lld", taper_info_files, th.archive_id); | ^~~~~~~~~~~~~~~~~~~~ In function 'sprintf', inlined from 'select_archive' at restore.c:863:5: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 14 and 287 bytes into a destination of size 255 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o backup.o -c backup.c In file included from taper.h:55, from backup.c:94: backup.c: In function 'check_backup': backup.c:926:21: warning: pointer targets in passing argument 1 of 'strchr' differ in signedness [-Wpointer-sign] 926 | if ((fd=rmtopen(tape, O_RDONLY, S_IRWXU)) == -1) { | ^~~~ | | | signed char * rmt.h:67:62: note: in definition of macro '_remdev' 67 | #define _remdev(path) (!f_force_local && (__rmt_path=index(path, ':'))) | ^~~~ backup.c:926:13: note: in expansion of macro 'rmtopen' 926 | if ((fd=rmtopen(tape, O_RDONLY, S_IRWXU)) == -1) { | ^~~~~~~ In file included from taper.h:18: /usr/include/string.h:246:34: note: expected 'const char *' but argument is of type 'signed char *' 246 | extern char *strchr (const char *__s, int __c) | ~~~~~~~~~~~~^~~ backup.c:926:21: warning: pointer targets in passing argument 1 of 'open' differ in signedness [-Wpointer-sign] 926 | if ((fd=rmtopen(tape, O_RDONLY, S_IRWXU)) == -1) { | ^~~~ | | | signed char * rmt.h:70:100: note: in definition of macro 'rmtopen' 70 | #define rmtopen(path,oflag,mode) (_remdev(path) ? __rmt_open(path, oflag, mode, __REM_BIAS) : open(path, oflag, mode)) | ^~~~ In file included from /usr/include/fcntl.h:342, from taper.h:26: /usr/include/bits/fcntl2.h:41:19: note: expected 'const char *' but argument is of type 'signed char *' 41 | open (const char *__path, int __oflag, ...) | ~~~~~~~~~~~~^~~~~~ backup.c:930:25: warning: pointer targets in passing argument 1 of 'creat' differ in signedness [-Wpointer-sign] 930 | close(creat(tape, S_IREAD|S_IWRITE)); | ^~~~ | | | signed char * /usr/include/fcntl.h:255:31: note: expected 'const char *' but argument is of type 'signed char *' 255 | extern int creat (const char *__file, mode_t __mode) __nonnull ((1)); | ~~~~~~~~~~~~^~~~~~ backup.c:938:32: warning: pointer targets in passing argument 2 of 'do_read_vol_dir' differ in signedness [-Wpointer-sign] 938 | x= do_read_vol_dir(-1, tape, O_RDWR, append, FALSE, TRUE); | ^~~~ | | | signed char * In file included from taper.h:50: common.h:26:56: note: expected 'char *' but argument is of type 'signed char *' 26 | extern _errstat do_read_vol_dir(_u32 archive_id, char *tape, int mode, _s8 rvdir, _s8 exist, _s8 open_index); | ~~~~~~^~~~ backup.c:976:20: warning: pointer targets in passing argument 1 of 'unlink' differ in signedness [-Wpointer-sign] 976 | unlink(tape); /* regular files get deleted */ | ^~~~ | | | signed char * In file included from taper.h:27: /usr/include/unistd.h:858:32: note: expected 'const char *' but argument is of type 'signed char *' 858 | extern int unlink (const char *__name) __THROW __nonnull ((1)); | ~~~~~~~~~~~~^~~~~~ backup.c:977:25: warning: pointer targets in passing argument 1 of 'creat' differ in signedness [-Wpointer-sign] 977 | close(creat(tape, S_IREAD|S_IWRITE));/* and re-created to get zero length */ | ^~~~ | | | signed char * /usr/include/fcntl.h:255:31: note: expected 'const char *' but argument is of type 'signed char *' 255 | extern int creat (const char *__file, mode_t __mode) __nonnull ((1)); | ~~~~~~~~~~~~^~~~~~ backup.c: In function 'backup_file': backup.c:202:9: warning: ignoring return value of 'readlink' declared with attribute 'warn_unused_result' [-Wunused-result] 202 | readlink(fn, tmpf, sizeof(tmpf)); /* is written */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c: In function 'do_backup': backup.c:642:15: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 642 | chdir(original_cur_dir); | ^~~~~~~~~~~~~~~~~~~~~~~ backup.c:782:14: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 782 | if (mf) {write(mf, sa[2], strlen(sa[2])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:782:47: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 782 | if (mf) {write(mf, sa[2], strlen(sa[2])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~ backup.c:790:14: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 790 | if (mf) {write(mf, sa[3], strlen(sa[3])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:790:47: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 790 | if (mf) {write(mf, sa[3], strlen(sa[3])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~ backup.c:794:14: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 794 | if (mf) {write(mf, sa[5], strlen(sa[5])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:794:47: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 794 | if (mf) {write(mf, sa[5], strlen(sa[5])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~ backup.c:799:14: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 799 | if (mf) {write(mf, sa[6], strlen(sa[6])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:799:47: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 799 | if (mf) {write(mf, sa[6], strlen(sa[6])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~ backup.c:803:14: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 803 | if (mf) {write(mf, sa[8], strlen(sa[8])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:803:47: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 803 | if (mf) {write(mf, sa[8], strlen(sa[8])); write(mf, "\n", 1);} | ^~~~~~~~~~~~~~~~~~ backup.c: In function 'add_to_set': backup.c:819:17: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 819 | write(mf, " Selected ", strlen(" Selected ")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:823:17: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 823 | write(mf, " Excluded ", strlen(" Excluded ")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:825:13: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 825 | write(mf, ln, strlen(ln)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:826:13: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 826 | write(mf, " from fileset\n", strlen(" from fileset\n")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c: In function 'read_in_fileset': backup.c:856:17: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 856 | write(mf, ln, strlen(ln)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:858:17: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 858 | write(mf, ln, strlen(ln)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:866:21: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 866 | write(mf, ln, strlen(ln)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:870:17: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 870 | write(mf, ln, strlen(ln)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:875:25: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 875 | write(mf, ln, strlen(ln)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:877:25: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 877 | write(mf, ln, strlen(ln)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:885:25: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 885 | write(mf, s, strlen(s)); | ^~~~~~~~~~~~~~~~~~~~~~~ backup.c:893:21: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 893 | write(mf, s, strlen(s)); | ^~~~~~~~~~~~~~~~~~~~~~~ backup.c:901:5: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 901 | write(mf, ln, strlen(ln)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:907:21: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 907 | if (mf) write(mf, s, strlen(s)); | ^~~~~~~~~~~~~~~~~~~~~~~ backup.c:909:21: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 909 | if (mf) write(mf, "Backup NOT made\n", strlen("Backup NOT made\n")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c: In function 'check_backup': backup.c:948:25: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 948 | if (mf) write(mf, "Unknown data on tape. Tape not overwritten.\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 949 | strlen("Unknown data on tape. Tape not overwritten.\n")); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c:950:25: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 950 | if (mf) write(mf, "Use --tape-overwrite-on [+O] to force overwriting\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 951 | strlen("Use --tape-overwrite-on [+O] to force overwriting\n")); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c: In function 'taper_backup': backup.c:1048:9: warning: ignoring return value of 'chdir' declared with attribute 'warn_unused_result' [-Wunused-result] 1048 | chdir(cur_dir); | ^~~~~~~~~~~~~~ backup.c:1058:9: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1058 | getcwd(cur_dir, sizeof(cur_dir)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ backup.c: In function 'backup_file': backup.c:257:75: warning: '] - saving uncompressed' directive writing 23 bytes into a region of size between 9 and 263 [-Wformat-overflow=] 257 | sprintf(l, "Mismatch reading in FIFO output for %s [got %s] - saving uncompressed", fn, fn_child); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/stdio.h:980, from taper.h:21: In function 'sprintf', inlined from 'backup_file' at backup.c:257:3: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output 66 or more bytes (assuming 320) into a destination of size 305 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ backup.c: In function 'backup_file': backup.c:242:73: warning: ' - saving uncompressed' directive writing 22 bytes into a region of size between 9 and 263 [-Wformat-overflow=] 242 | sprintf(l, "EOF while reading filenames from FIFO for %s - saving uncompressed", fn); | ^~~~~~~~~~~~~~~~~~~~~~ In function 'sprintf', inlined from 'backup_file' at backup.c:242:3: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 65 and 319 bytes into a destination of size 305 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ backup.c: In function 'backup_file': backup.c:235:81: warning: ' - saving uncompressed' directive writing 22 bytes into a region of size between 1 and 255 [-Wformat-overflow=] 235 | sprintf(l, "Fatal error while reading filenames from FIFO for %s - saving uncompressed", fn); | ^~~~~~~~~~~~~~~~~~~~~~ In function 'sprintf', inlined from 'backup_file' at backup.c:235:3: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 73 and 327 bytes into a destination of size 305 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ backup.c: In function 'backup_file': backup.c:354:23: warning: ' grew while writing. Data at...' directive writing 54 bytes into a region of size between 51 and 305 [-Wformat-overflow=] 354 | sprintf(l, "%s grew while writing. Data at end of file not backed up", fn); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'sprintf', inlined from 'backup_file' at backup.c:354:2: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 55 and 309 bytes into a destination of size 305 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ backup.c: In function 'backup_file': backup.c:206:47: warning: '%s' directive writing up to 254 bytes into a region of size between 27 and 281 [-Wformat-overflow=] 206 | sprintf(l, "Writing link name for %s [%s]", fn, tmpf); | ^~ ~~~~ In function 'sprintf', inlined from 'backup_file' at backup.c:206:2: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 26 and 534 bytes into a destination of size 305 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ backup.c: In function 'do_backup': backup.c:644:54: warning: '%s' directive writing up to 254 bytes into a region of size 233 [-Wformat-overflow=] 644 | sprintf(tmpbuf, "B:Executing bg_backup %s %d %s %s %d %d \"%s\" %s %d", | ^~ 645 | log_file, log_level, cfile, fifo_name, compression, shm_id, exclude_compress, temp_dir, min_free); | ~~~~~~~~ In function 'sprintf', inlined from 'do_backup' at backup.c:644:8: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output 37 or more bytes (assuming 1053) into a destination of size 255 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ backup.c: In function 'read_in_fileset': backup.c:892:42: warning: '%s' directive writing up to 254 bytes into a region of size 246 [-Wformat-overflow=] 892 | sprintf(s, "WARNING: %s is not found\n", ln); | ^~ ~~ In function 'sprintf', inlined from 'read_in_fileset' at backup.c:892:7: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 24 and 278 bytes into a destination of size 255 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ backup.c: In function 'check_backup': backup.c:987:31: warning: 'taper_info.' directive writing 11 bytes into a region of size between 1 and 255 [-Wformat-overflow=] 987 | sprintf(info_file, "%staper_info.%u", info_file, oldarch); | ^~~~~~~~~~~ backup.c:987:28: note: using the range [0, 4294967295] for directive argument 987 | sprintf(info_file, "%staper_info.%u", info_file, oldarch); | ^~~~~~~~~~~~~~~~~ In function 'sprintf', inlined from 'check_backup' at backup.c:987:2: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 13 and 276 bytes into a destination of size 255 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ /usr/include/bits/stdio2.h:30:10: warning: '__builtin___sprintf_chk' argument 5 overlaps destination object 'info_file' [-Wrestrict] backup.c: In function 'check_backup': backup.c:923:10: note: destination object referenced by 'restrict'-qualified argument 1 was declared here 923 | char info_file[MAX_FNAME]; | ^~~~~~~~~ backup.c:994:35: warning: 'taper_info.' directive writing 11 bytes into a region of size between 1 and 255 [-Wformat-overflow=] 994 | sprintf(info_file, "%staper_info.%u.%d", info_file, oldarch, x); | ^~~~~~~~~~~ backup.c:994:32: note: using the range [0, 4294967295] for directive argument 994 | sprintf(info_file, "%staper_info.%u.%d", info_file, oldarch, x); | ^~~~~~~~~~~~~~~~~~~~ backup.c:994:32: note: directive argument in the range [0, 2] In function 'sprintf', inlined from 'check_backup' at backup.c:994:6: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 15 and 278 bytes into a destination of size 255 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ /usr/include/bits/stdio2.h:30:10: warning: '__builtin___sprintf_chk' argument 5 overlaps destination object 'info_file' [-Wrestrict] backup.c: In function 'check_backup': backup.c:923:10: note: destination object referenced by 'restrict'-qualified argument 1 was declared here 923 | char info_file[MAX_FNAME]; | ^~~~~~~~~ backup.c:994:35: warning: 'taper_info.' directive writing 11 bytes into a region of size between 1 and 255 [-Wformat-overflow=] 994 | sprintf(info_file, "%staper_info.%u.%d", info_file, oldarch, x); | ^~~~~~~~~~~ backup.c:994:32: note: using the range [0, 4294967295] for directive argument 994 | sprintf(info_file, "%staper_info.%u.%d", info_file, oldarch, x); | ^~~~~~~~~~~~~~~~~~~~ backup.c:994:32: note: directive argument in the range [0, 2] In function 'sprintf', inlined from 'check_backup' at backup.c:994:6: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 15 and 278 bytes into a destination of size 255 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ /usr/include/bits/stdio2.h:30:10: warning: '__builtin___sprintf_chk' argument 5 overlaps destination object 'info_file' [-Wrestrict] backup.c: In function 'check_backup': backup.c:923:10: note: destination object referenced by 'restrict'-qualified argument 1 was declared here 923 | char info_file[MAX_FNAME]; | ^~~~~~~~~ make depend make[1]: Entering directory '/home/pterjan/rpmbuild/BUILD/taper-7.0pre-1' gcc -M -I/usr/include/ncurses vars.c common.c endianize.c tapeio.c rtapelib.c sel_backup.c backup.c sel_restore.c restore.c utils.c mkinfo.c taper.c bg_backup.c \ bg_restore.c memory.c common_bg.c select_box.c bg_vars.c mtree.c library.c fifo.c > .depend make -C compress depend make[2]: Entering directory '/home/pterjan/rpmbuild/BUILD/taper-7.0pre-1/compress' gcc -M -I/usr/include/ncurses zip.c unzip.c bits.c trees.c deflate.c inflate.c util.c lzrw3.c > .depend make[2]: Leaving directory '/home/pterjan/rpmbuild/BUILD/taper-7.0pre-1/compress' make[1]: Leaving directory '/home/pterjan/rpmbuild/BUILD/taper-7.0pre-1' gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -m64 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -O3 -fno-strength-reduce -Wall -DLINUX -D_GNU_SOURCE -Dlint -DTRIPLE_BUFFER -D__USE_FILE_OFFSET64 -DGLIBC_2 -DBSD_SIGNALS -I/usr/include/ncurses -o tapeio.o -c tapeio.c tapeio.c: In function 'raw_write': tapeio.c:141:59: warning: format '%d' expects argument of type 'int', but argument 3 has type 'ssize_t' {aka 'long int'} [-Wformat=] 141 | sprintf(s, "W:Writing in error loop - rc=%d, count=%d, x1=%d", rc, count, x1); | ~^ ~~ | | | | int ssize_t {aka long int} | %ld tapeio.c:141:69: warning: format '%d' expects argument of type 'int', but argument 4 has type 'ssize_t' {aka 'long int'} [-Wformat=] 141 | sprintf(s, "W:Writing in error loop - rc=%d, count=%d, x1=%d", rc, count, x1); | ~^ ~~~~~ | | | | int ssize_t {aka long int} | %ld tapeio.c:141:76: warning: format '%d' expects argument of type 'int', but argument 5 has type 'ssize_t' {aka 'long int'} [-Wformat=] 141 | sprintf(s, "W:Writing in error loop - rc=%d, count=%d, x1=%d", rc, count, x1); | ~^ ~~ | | | | int ssize_t {aka long int} | %ld In file included from taper.h:55, from tapeio.c:14: tapeio.c: In function 'tape_rewind_engine': tapeio.c:599:24: warning: pointer targets in passing argument 1 of 'strchr' differ in signedness [-Wpointer-sign] 599 | if ((x=rmtopen(tape, O_RDWR, S_IRWXU)) == -1) /* try and open tape */ | ^~~~ | | | signed char * rmt.h:67:62: note: in definition of macro '_remdev' 67 | #define _remdev(path) (!f_force_local && (__rmt_path=index(path, ':'))) | ^~~~ tapeio.c:599:16: note: in expansion of macro 'rmtopen' 599 | if ((x=rmtopen(tape, O_RDWR, S_IRWXU)) == -1) /* try and open tape */ | ^~~~~~~ In file included from taper.h:18: /usr/include/string.h:246:34: note: expected 'const char *' but argument is of type 'signed char *' 246 | extern char *strchr (const char *__s, int __c) | ~~~~~~~~~~~~^~~ tapeio.c:599:24: warning: pointer targets in passing argument 1 of 'open' differ in signedness [-Wpointer-sign] 599 | if ((x=rmtopen(tape, O_RDWR, S_IRWXU)) == -1) /* try and open tape */ | ^~~~ | | | signed char * rmt.h:70:100: note: in definition of macro 'rmtopen' 70 | #define rmtopen(path,oflag,mode) (_remdev(path) ? __rmt_open(path, oflag, mode, __REM_BIAS) : open(path, oflag, mode)) | ^~~~ In file included from /usr/include/fcntl.h:342, from taper.h:26: /usr/include/bits/fcntl2.h:41:19: note: expected 'const char *' but argument is of type 'signed char *' 41 | open (const char *__path, int __oflag, ...) | ~~~~~~~~~~~~^~~~~~ tapeio.c: In function 'ntape_open': tapeio.c:759:18: warning: pointer targets in passing argument 1 of 'strchr' differ in signedness [-Wpointer-sign] 759 | dv = rmtopen(ntape, mode, S_IRWXU); | ^~~~~ | | | signed char * rmt.h:67:62: note: in definition of macro '_remdev' 67 | #define _remdev(path) (!f_force_local && (__rmt_path=index(path, ':'))) | ^~~~ tapeio.c:759:10: note: in expansion of macro 'rmtopen' 759 | dv = rmtopen(ntape, mode, S_IRWXU); | ^~~~~~~ /usr/include/string.h:246:34: note: expected 'const char *' but argument is of type 'signed char *' 246 | extern char *strchr (const char *__s, int __c) | ~~~~~~~~~~~~^~~ tapeio.c:759:18: warning: pointer targets in passing argument 1 of 'open' differ in signedness [-Wpointer-sign] 759 | dv = rmtopen(ntape, mode, S_IRWXU); | ^~~~~ | | | signed char * rmt.h:70:100: note: in definition of macro 'rmtopen' 70 | #define rmtopen(path,oflag,mode) (_remdev(path) ? __rmt_open(path, oflag, mode, __REM_BIAS) : open(path, oflag, mode)) | ^~~~ /usr/include/bits/fcntl2.h:41:19: note: expected 'const char *' but argument is of type 'signed char *' 41 | open (const char *__path, int __oflag, ...) | ~~~~~~~~~~~~^~~~~~ tapeio.c: In function 'tape_open_engine': tapeio.c:779:22: warning: pointer targets in passing argument 1 of 'strchr' differ in signedness [-Wpointer-sign] 779 | dv = rmtopen(tape, mode, S_IRWXU); | ^~~~ | | | signed char * rmt.h:67:62: note: in definition of macro '_remdev' 67 | #define _remdev(path) (!f_force_local && (__rmt_path=index(path, ':'))) | ^~~~ tapeio.c:779:14: note: in expansion of macro 'rmtopen' 779 | dv = rmtopen(tape, mode, S_IRWXU); | ^~~~~~~ /usr/include/string.h:246:34: note: expected 'const char *' but argument is of type 'signed char *' 246 | extern char *strchr (const char *__s, int __c) | ~~~~~~~~~~~~^~~ tapeio.c:779:22: warning: pointer targets in passing argument 1 of 'open' differ in signedness [-Wpointer-sign] 779 | dv = rmtopen(tape, mode, S_IRWXU); | ^~~~ | | | signed char * rmt.h:70:100: note: in definition of macro 'rmtopen' 70 | #define rmtopen(path,oflag,mode) (_remdev(path) ? __rmt_open(path, oflag, mode, __REM_BIAS) : open(path, oflag, mode)) | ^~~~ /usr/include/bits/fcntl2.h:41:19: note: expected 'const char *' but argument is of type 'signed char *' 41 | open (const char *__path, int __oflag, ...) | ~~~~~~~~~~~~^~~~~~ tapeio.c: In function 'read_from_buf': tapeio.c:847:39: warning: format '%u' expects argument of type 'unsigned int', but argument 3 has type 'ssize_t' {aka 'long int'} [-Wformat=] 847 | sprintf(s, "Read request for %u bytes", count); | ~^ ~~~~~ | | | | | ssize_t {aka long int} | unsigned int | %lu tapeio.c: In function 'do_write_block': tapeio.c:1036:47: warning: format '%d' expects argument of type 'int', but argument 3 has type 'ssize_t' {aka 'long int'} [-Wformat=] 1036 | sprintf(s, "Wrote block to tape [%d bytes]", c); | ~^ ~ | | | | int ssize_t {aka long int} | %ld tapeio.c:1050:68: warning: format '%d' expects argument of type 'int', but argument 5 has type 'ssize_t' {aka 'long int'} [-Wformat=] 1050 | sprintf(s, "W: Error %d doing writing. dv = %d. Wrote %d bytes", errno, dv, -c); | ~^ ~~ | | | | int ssize_t {aka long int} | %ld tapeio.c: In function 'do_write_child': tapeio.c:1261:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1261 | write_buf_no = (_vptr) (_s32) ret; /* write buf_no are zero */ | ^ tapeio.c: In function 'flush_buffers': tapeio.c:1450:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1450 | (_vptr) (_s32) do_write_block(w_current_buffer, w_cur_pos, (w_cur_pos != DOUBLE_BUFFER_SIZE)); | ^ tapeio.c: In function 'check_tape': tapeio.c:499:9: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 499 | write(mf, l, strlen(l)); | ^~~~~~~~~~~~~~~~~~~~~~~ tapeio.c: In function 'do_next_tape': tapeio.c:1102:21: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 1102 | if (mf) write(mf, "ERROR: End of tape reached - backup aborted\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1103 | strlen("ERROR: End of tape reached - backup aborted\n")); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tapeio.c: In function 'do_write_child': tapeio.c:1248:9: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] 1248 | fgets(s, sizeof(s), fd_pipetoc); /* wait until data ready */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tapeio.c: In function 'wait_finish_writing': tapeio.c:1296:9: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] 1296 | fgets(s, sizeof(s), fd_pipefc); /* wait until child ready */ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tapeio.c: In function 'tape_open_engine.constprop': tapeio.c:775:35: warning: '%s' directive writing up to 254 bytes into a region of size 182 [-Wformat-overflow=] 775 | sprintf(l, "Opening rewinding %s", tape); | ^~ ~~~~ In file included from /usr/include/stdio.h:980, from taper.h:21: In function 'sprintf', inlined from 'tape_open_engine.constprop' at tapeio.c:775:5: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 19 and 273 bytes into a destination of size 200 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ tapeio.c: In function 'tape_open_engine': tapeio.c:775:35: warning: '%s' directive writing up to 254 bytes into a region of size 182 [-Wformat-overflow=] 775 | sprintf(l, "Opening rewinding %s", tape); | ^~ ~~~~ In function 'sprintf', inlined from 'tape_open_engine' at tapeio.c:775:5: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 19 and 273 bytes into a destination of size 200 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ tapeio.c: In function 'ntape_open': tapeio.c:756:39: warning: '%s' directive writing up to 254 bytes into a region of size 178 [-Wformat-overflow=] 756 | sprintf(l, "Opening non-rewinding %s", ntape); | ^~ ~~~~~ In function 'sprintf', inlined from 'ntape_open' at tapeio.c:756:5, inlined from 'ntape_open' at tapeio.c:747:10: /usr/include/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 23 and 277 bytes into a destination of size 200 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 | __glibc_objsize (__s), __fmt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~ error: Bad exit status from /home/pterjan/rpmbuild/tmp/rpm-tmp.0xPH1R (%build) RPM build warnings: %patchN is deprecated (3 usages found), use %patch N (or %patch -P N) RPM build errors: Bad exit status from /home/pterjan/rpmbuild/tmp/rpm-tmp.0xPH1R (%build) I: [iurt_root_command] ERROR: chroot