The following packages will be installed: recoverdm Fetching README... 0%100%100%100%100%100%Done Fetching recoverdm.SlackBuild... 0%100%100%100%100%100%Done Fetching recoverdm.info... 0%100%100%100%100%100%Done Fetching slack-desc... 0%100%100%100%100%100%Done recoverdm-0.20/ recoverdm-0.20/error.h recoverdm-0.20/recoverdm.c recoverdm-0.20/io.h recoverdm-0.20/Makefile recoverdm-0.20/utils.h recoverdm-0.20/mergebad.c recoverdm-0.20/dev.h recoverdm-0.20/io.c recoverdm-0.20/utils.c recoverdm-0.20/gen.h recoverdm-0.20/error.c recoverdm-0.20/recoverdm.1 recoverdm-0.20/dev.c recoverdm-0.20/license.txt recoverdm-0.20/readme.txt cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -c -o recoverdm.o recoverdm.c recoverdm.c: In function ‘lba_to_msf’: recoverdm.c:55:27: warning: conversion from ‘off64_t’ {aka ‘long long int’} to ‘unsigned char’ may change value [-Wconversion] 55 | *minute = (lba + 150) / (60 * 75); | ^ recoverdm.c:57:27: warning: conversion from ‘off64_t’ {aka ‘long long int’} to ‘unsigned char’ may change value [-Wconversion] 57 | *second = (lba + 150) / 75; | ^ recoverdm.c:59:26: warning: conversion from ‘off64_t’ {aka ‘long long int’} to ‘unsigned char’ may change value [-Wconversion] 59 | *frame = (lba + 150); | ^ recoverdm.c:63:27: warning: conversion from ‘off64_t’ {aka ‘long long int’} to ‘unsigned char’ may change value [-Wconversion] 63 | *minute = (lba + 450150) / (60 * 75); | ^ recoverdm.c:65:27: warning: conversion from ‘off64_t’ {aka ‘long long int’} to ‘unsigned char’ may change value [-Wconversion] 65 | *second = (lba + 450150) / 75; | ^ recoverdm.c:67:26: warning: conversion from ‘off64_t’ {aka ‘long long int’} to ‘unsigned char’ may change value [-Wconversion] 67 | *frame = (lba + 450150); | ^ recoverdm.c: In function ‘create_sector’: recoverdm.c:75:57: warning: passing argument 2 of ‘mymalloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 75 | char *sector_out = (char *)mymalloc(block_size, "sector"); | ^~~~~~~~ In file included from recoverdm.c:13: utils.h:1:36: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void * mymalloc(size_t size, char *what); | ~~~~~~^~~~ recoverdm.c:107:53: warning: conversion from ‘int’ to ‘short int’ may change value [-Wconversion] 107 | chosen_byte_count = count[loop2]; | ^~~~~ recoverdm.c:108:47: warning: conversion from ‘int’ to ‘short int’ may change value [-Wconversion] 108 | chosen_byte = loop2; | ^~~~~ recoverdm.c:126:44: warning: conversion from ‘short int’ to ‘char’ may change value [-Wconversion] 126 | sector_out[loop] = chosen_byte; | ^~~~~~~~~~~ recoverdm.c:149:44: warning: conversion to ‘char’ from ‘unsigned char’ may change the sign of the result [-Wsign-conversion] 149 | sector_out[loop] = sectors[max_n_ok_index][loop]; | ^~~~~~~ recoverdm.c: In function ‘get_raw_cd’: recoverdm.c:169:71: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion] 169 | char **sector_list = (char **)mymalloc(sizeof(char *) * n_raw_retries, "sectorlist"); | ^ recoverdm.c:169:88: warning: passing argument 2 of ‘mymalloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 169 | char **sector_list = (char **)mymalloc(sizeof(char *) * n_raw_retries, "sectorlist"); | ^~~~~~~~~~~~ In file included from recoverdm.c:13: utils.h:1:36: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void * mymalloc(size_t size, char *what); | ~~~~~~^~~~ recoverdm.c:174:74: warning: passing argument 2 of ‘mymalloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 174 | sector_list[loop] = (char *)mymalloc(block_size, "sector"); | ^~~~~~~~ In file included from recoverdm.c:13: utils.h:1:36: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void * mymalloc(size_t size, char *what); | ~~~~~~^~~~ recoverdm.c:184:43: warning: passing argument 1 of ‘create_sector’ from incompatible pointer type [-Wincompatible-pointer-types] 184 | if (create_sector(sector_list, n_raw_retries, block_size, &dummy) == -1) | ^~~~~~~~~~~ | | | char ** recoverdm.c:71:35: note: expected ‘unsigned char **’ but argument is of type ‘char **’ 71 | int create_sector(unsigned char **sectors, int n_sectors, size_t block_size, char **psector_out) | ~~~~~~~~~~~~~~~~^~~~~~~ recoverdm.c: In function ‘main’: recoverdm.c:235:36: warning: conversion from ‘int’ to ‘char’ may change value [-Wconversion] 235 | dev_type = atoi(optarg); | ^~~~ recoverdm.c:256:37: warning: conversion from ‘int’ to ‘char’ may change value [-Wconversion] 256 | n_retries = atoi(optarg); | ^~~~ recoverdm.c:262:36: warning: conversion from ‘int’ to ‘char’ may change value [-Wconversion] 262 | cd_speed = atoi(optarg); | ^~~~ recoverdm.c:265:44: warning: conversion from ‘int’ to ‘char’ may change value [-Wconversion] 265 | n_raw_cd_retries = atoi(optarg); | ^~~~ recoverdm.c:307:47: warning: passing argument 2 of ‘mymalloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 307 | buffer = (char *)mymalloc(block_size, "sectorbuffer"); | ^~~~~~~~~~~~~~ In file included from recoverdm.c:13: utils.h:1:36: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void * mymalloc(size_t size, char *what); | ~~~~~~^~~~ recoverdm.c:308:48: warning: passing argument 2 of ‘mymalloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 308 | buffer2 = (char *)mymalloc(block_size, "sectorbuffer for retries"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from recoverdm.c:13: utils.h:1:36: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void * mymalloc(size_t size, char *what); | ~~~~~~^~~~ recoverdm.c:445:91: warning: conversion to ‘size_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion] 445 | fprintf(dsecfile, "%lld %ld\n", curpos, block_size*skip_value); | ^ recoverdm.c:445:67: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=] 445 | fprintf(dsecfile, "%lld %ld\n", curpos, block_size*skip_value); | ~~^ ~~~~~~~~~~~~~~~~~~~~~ | | | | long int size_t {aka unsigned int} | %d recoverdm.c:440:38: warning: variable ‘ok’ set but not used [-Wunused-but-set-variable] 440 | char ok = 1; | ^~ cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -c -o dev.o dev.c dev.c: In function ‘read_raw_cd’: dev.c:174:9: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration] 174 | memcpy(whereto, &pframe[12 + 4], 2048); | ^~~~~~ dev.c:23:1: note: include ‘’ or provide a declaration of ‘memcpy’ 22 | #include "dev.h" +++ |+#include 23 | dev.c:174:9: warning: incompatible implicit declaration of built-in function ‘memcpy’ [-Wbuiltin-declaration-mismatch] 174 | memcpy(whereto, &pframe[12 + 4], 2048); | ^~~~~~ dev.c:174:9: note: include ‘’ or provide a declaration of ‘memcpy’ cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -c -o io.o io.c io.c: In function ‘READ’: io.c:30:52: warning: passing argument 1 of ‘error_exit’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 30 | error_exit("unexpected error while reading: %s (%d)\n", strerror(errno), errno); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from io.c:12: error.h:1:23: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ io.c:42:29: warning: conversion to ‘size_t’ {aka ‘unsigned int’} from ‘ssize_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion] 42 | len -= rc; | ^~ io.c: In function ‘WRITE’: io.c:75:29: warning: conversion to ‘size_t’ {aka ‘unsigned int’} from ‘ssize_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion] 75 | len -= rc; | ^~ io.c: In function ‘phantom_write’: io.c:132:39: warning: conversion to ‘size_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion] 132 | move_a_little -= rc; | ^~ io.c:181:24: warning: conversion to ‘size_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion] 181 | nbytes -= rc; | ^~ cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -c -o utils.o utils.c utils.c: In function ‘mymalloc’: utils.c:21:28: warning: passing argument 1 of ‘error_exit’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 21 | error_exit("failed to allocate %d bytes for %s\n", size, what); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from utils.c:15: error.h:1:23: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ utils.c: In function ‘myrealloc’: utils.c:30:28: warning: passing argument 1 of ‘error_exit’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 30 | error_exit("failed to reallocate to %d bytes for %s\n", newsize, what); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from utils.c:15: error.h:1:23: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ utils.c: In function ‘get_filesize’: utils.c:40:28: warning: passing argument 1 of ‘error_exit’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 40 | error_exit("Failed to retrieve length of file %s: %s (%d)\n", filename, strerror(errno), errno); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from utils.c:15: error.h:1:23: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ In file included from utils.c:13: utils.c: In function ‘copy_block’: gen.h:1:25: warning: conversion from ‘off64_t’ {aka ‘long long int’} to ‘size_t’ {aka ‘unsigned int’} may change value [-Wconversion] 1 | #define min(x, y) ((x)<(y)?(x):(y)) | ^ utils.c:51:38: note: in expansion of macro ‘min’ 51 | size_t sector_size = min(block_size, 512); | ^~~ utils.c: In function ‘myseek’: utils.c:78:28: warning: passing argument 1 of ‘error_exit’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 78 | error_exit("Failed to seek in file to offset %lld: %s (%d)\n", offset, strerror(errno), errno); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from utils.c:15: error.h:1:23: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -c -o error.o error.c cc -Wall -W recoverdm.o dev.o io.o utils.o error.o -o recoverdm cc -Wall -Wshadow -Wconversion -Wwrite-strings -Winline -O2 -DVERSION=\"0.20\" -c -o mergebad.o mergebad.c mergebad.c: In function ‘read_mapfile’: mergebad.c:191:67: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion] 191 | bbs = (badblock *)myrealloc(bbs, sizeof(badblock) * (n_bb + 1), "badblocks list"); | ^ mergebad.c:191:81: warning: passing argument 3 of ‘myrealloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 191 | bbs = (badblock *)myrealloc(bbs, sizeof(badblock) * (n_bb + 1), "badblocks list"); | ^~~~~~~~~~~~~~~~ In file included from mergebad.c:14: utils.h:2:52: note: expected ‘char *’ but argument is of type ‘const char *’ 2 | void * myrealloc(void *oldp, size_t newsize, char *what); | ~~~~~~^~~~ mergebad.c:196:45: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 4 has type ‘int’ [-Wformat=] 196 | printf("%d] %lld %lld\n", n_bb, offset, block_size); | ~~~^ ~~~~~~~~~~ | | | | long long int int | %d mergebad.c: In function ‘select_most_occuring_byte’: mergebad.c:228:41: warning: conversion from ‘int’ to ‘char’ may change value [-Wconversion] 228 | selected_byte = loop; | ^~~~ mergebad.c:235:28: warning: passing argument 1 of ‘error_exit’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 235 | error_exit("Internal error: no byte found!"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from mergebad.c:15: error.h:1:23: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ mergebad.c: In function ‘main’: mergebad.c:269:62: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion] 269 | imgs = myrealloc(imgs, sizeof(image) * (n_imgs + 1), "image structure"); | ^ mergebad.c:269:78: warning: passing argument 3 of ‘myrealloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 269 | imgs = myrealloc(imgs, sizeof(image) * (n_imgs + 1), "image structure"); | ^~~~~~~~~~~~~~~~~ In file included from mergebad.c:14: utils.h:2:52: note: expected ‘char *’ but argument is of type ‘const char *’ 2 | void * myrealloc(void *oldp, size_t newsize, char *what); | ~~~~~~^~~~ mergebad.c:318:57: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘off64_t’ {aka ‘long long int’} [-Wformat=] 318 | printf("Length set to: %d\n", length); | ~^ ~~~~~~ | | | | int off64_t {aka long long int} | %lld mergebad.c:413:65: warning: conversion to ‘size_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion] 413 | guess_bytes = (unsigned char *)mymalloc(n_imgs, "temp buffer for bytes from each image to select from"); | ^~~~~~ mergebad.c:413:73: warning: passing argument 2 of ‘mymalloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 413 | guess_bytes = (unsigned char *)mymalloc(n_imgs, "temp buffer for bytes from each image to select from"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from mergebad.c:14: utils.h:1:36: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void * mymalloc(size_t size, char *what); | ~~~~~~^~~~ mergebad.c:419:44: warning: passing argument 1 of ‘error_exit’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 419 | error_exit("Internal error: could not find the badblock \"we're in\".\n"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from mergebad.c:15: error.h:1:23: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ mergebad.c:441:44: warning: passing argument 1 of ‘error_exit’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 441 | error_exit("Number of \"bytes to guess\" less then 1!\n"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from mergebad.c:15: error.h:1:23: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void error_exit(char *format, ...); | ~~~~~~^~~~~~ mergebad.c:449:50: warning: conversion from ‘off64_t’ {aka ‘long long int’} to ‘size_t’ {aka ‘unsigned int’} may change value [-Wconversion] 449 | output_buffer = mymalloc(n_to_guess, "guessed bytes"); | ^~~~~~~~~~ mergebad.c:449:62: warning: passing argument 2 of ‘mymalloc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 449 | output_buffer = mymalloc(n_to_guess, "guessed bytes"); | ^~~~~~~~~~~~~~~ In file included from mergebad.c:14: utils.h:1:36: note: expected ‘char *’ but argument is of type ‘const char *’ 1 | void * mymalloc(size_t size, char *what); | ~~~~~~^~~~ mergebad.c:472:66: warning: conversion from ‘off64_t’ {aka ‘long long int’} to ‘size_t’ {aka ‘unsigned int’} may change value [-Wconversion] 472 | if (phantom_write(fd_out, output_buffer, n_to_guess) != n_to_guess) | ^~~~~~~~~~ cc -Wall -W mergebad.o io.o utils.o error.o -o mergebad Slackware package maker, version 3.14159265. Searching for symbolic links: No symbolic links were found, so we won't make an installation script. You can make your own later in ./install/doinst.sh and rebuild the package if you like. This next step is optional - you can set the directories in your package to some sane permissions. If any of the directories in your package have special permissions, then DO NOT reset them here! Would you like to reset all directory permissions to 755 (drwxr-xr-x) and directory ownerships to root.root ([y]es, [n]o)? n Creating Slackware package: /usr/src/slapt-src-i486/system/recoverdm/recoverdm-0.20-i586-1salix15.0.txz ./ install/ install/slack-desc usr/ usr/bin/ usr/bin/mergebad usr/bin/recoverdm usr/doc/ usr/doc/recoverdm-0.20/ usr/doc/recoverdm-0.20/license.txt usr/doc/recoverdm-0.20/readme.txt usr/doc/recoverdm-0.20/recoverdm.SlackBuild Slackware package /usr/src/slapt-src-i486/system/recoverdm/recoverdm-0.20-i586-1salix15.0.txz created. Installing package recoverdm-0.20-i586-1salix15.0... | recoverdm (recover files/disks with damaged sectors) | | This program will help you recover disks with bad sectors. You can | recover files as well complete devices. This toolkit also has a | utility called 'mergebad': mergebad merges multiple images into one. | | Homepage: http://www.vanheusden.com/recoverdm/ | | | | | |