Bonjour,

Avant tout, un fichier .cc c'est un fichier c++ ? Si "non", le modo peut déplacer, merci à lui.

Et donc, totalement newbie depuis 30 ans en C, désolé de vous importuner mais je suis face à un truc qui me laisse sans voix : j'ai récupéré les sources de cdrdao (pas tout jeune : circa 2019) et j'ai suivi le classique ./configure qui s'est bien déroulé, puis make qui a un peu crié lorsqu'il a trouvé un char qui devait être unsigned char, là j'ai trouvé avec l'aide de ggl, mais pour ce qui suit, je suis sec :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
ScsiIf-linux.cc: In static member function ‘static ScsiIf::ScanData* ScsiIf::scan(int*, char*)’:
ScsiIf-linux.cc:287:37: error: no matching function for call to ‘stat::stat(const char [22], stat*)287 |     if (stat(SYSFS_SCSI_DEVICES, &st) != 0) {
      |                                     ^
In file included from /usr/include/fcntl.h:78,
                 from ScsiIf-linux.cc:23:
/usr/include/x86_64-linux-gnu/bits/stat.h:46:8: note: candidate: ‘stat::stat()46 | struct stat
      |        ^~~~
Je ne vais pas aller trifouiller le /usr/include/x86_64-linux-gnu/bits/stat.h, donc la chose doit se régler là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
ScsiIf-linux.cc:287:37: error: no matching function for call to ‘stat::stat(const char [22], stat*)287 |     if (stat(SYSFS_SCSI_DEVICES, &st) != 0) {
      |                                     ^
et voilà l'extrait concerné du ScsiIf-linux.cc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Scan implementation uses sysfs to 
 
ScsiIf::ScanData *ScsiIf::scan(int *len, char* scsi_dev_path)
{
    struct stat st;
    int matches = 0;
    unsigned i;
    ScanData* sdata = NULL;
    char* path = NULL;
    glob_t pglob;
 
// la ligne 287 c'est celle qui est dessous :
    if (stat(SYSFS_SCSI_DEVICES, &st) != 0) {
	log_message(-2, "Unable to access sysfs filesystem at %s",
		    SYSFS_SCSI_DEVICES);
	goto fail;
    }

Grand merci à celui qui pourra me mettre sur la voie,