Open markusg17 opened 6 years ago
Hello. I have this issue too when trying to compile spirit. Im a bit lost, thought should work fine, since have l libimobiledevice-dev libplist-dev libusbmuxd-dev libssl-dev installed.. Running ubuntustudio 18.04.5 LTS, The whole compilation output:
"gcc -std=gnu99 -c -o spirit.o spirit.c
spirit.c: In function ‘send_files_thread’:
spirit.c:148:87: warning: passing argument 3 of ‘lockdownd_start_service’ from incompatible pointer type [-Wincompatible-pointer-types]
kdownd_error_t lockdown_err = lockdownd_start_service(lockdownd, "com.apple.afc", &port);
^
In file included from /usr/include/libimobiledevice/afc.h:32:0,
from spirit.c:30:
/usr/include/libimobiledevice/lockdown.h:212:19: note: expected ‘struct lockdownd_service_descriptor *’ but argument is of type ‘uint16_t {aka short unsigned int }’
lockdownd_error_t lockdownd_start_service(lockdownd_client_t client, const char identifier, lockdownd_service_descriptor_t service);
^~~~~~~
spirit.c:154:47: warning: passing argument 2 of ‘afc_client_new’ makes pointer from integer without a cast [-Wint-conversion]
afc_error_t afc_err = afc_client_new(device, port, &afc);
^~~~
In file included from spirit.c:30:0:
/usr/include/libimobiledevice/afc.h:109:13: note: expected ‘lockdownd_service_descriptor_t {aka struct lockdownd_service_descriptor }’ but argument is of type ‘uint16_t {aka short unsigned int}’
afc_error_t afc_client_new(idevice_t device, lockdownd_service_descriptor_t service, afc_client_t client);
^~~~~~
spirit.c: In function ‘start_restore’:
spirit.c:225:2: warning: implicit declaration of function ‘idevice_get_uuid’; did you mean ‘idevice_get_udid’? [-Wimplicit-function-declaration]
idevice_get_uuid(device, &uuid);
^~~~
idevice_get_udid
spirit.c:228:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(m1dict, "Version", plist_new_string("6.2"));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:229:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(m1dict, "DeviceId", plist_new_string(uuid));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:230:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(m1dict, "Applications", plist_new_dict());
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:231:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(m1dict, "Files", files);
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:238:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "Version", plist_new_string("2.0"));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:239:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "AuthSignature", plist_new_data(sha1_of_data(m1data, m1size), 20));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:240:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "IsEncrypted", plist_new_uint(0));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:241:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "Data", plist_new_data(m1data, m1size));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:244:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(mdict, "BackupMessageTypeKey", plist_new_string("kBackupMessageRestoreRequest"));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:245:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(mdict, "BackupNotifySpringBoard", plist_new_bool(1));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:246:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(mdict, "BackupProtocolVersion", plist_new_string("3.0"));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:247:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(mdict, "BackupPreserveCameraRoll", plist_new_bool(1));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:248:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(mdict, "BackupPreserveSettings", plist_new_bool(1));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:249:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(mdict, "BackupManifestKey", manifest);
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c: In function ‘add_file’:
spirit.c:263:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(dict, "Domain", plist_new_string(domain));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:264:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(dict, "Path", plist_new_string(path));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:265:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(dict, "Greylist", plist_new_bool(0));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:266:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(dict, "Version", plist_new_string("3.0"));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:267:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(dict, "Data", plist_new_data(crap, crap_size));
^~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char key, plist_t item);
^~~~~~
spirit.c:268:30: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
printf("DEBUG: Data size %llu:\n%s\n", crap_size, data_to_hex(crap, crap_size));
%lu
spirit.c:280:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "DataHash", plist_new_data(datahash, 20));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:281:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "Domain", plist_new_string(domain));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:282:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "FileLength", plist_new_uint(crap_size));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:283:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "Group ID", plist_new_uint(gid));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:284:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "User ID", plist_new_uint(uid));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:285:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "Mode", plist_new_uint(mode));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:286:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(manifest, "ModificationTime", plist_new_date(2020964986UL, 0));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:287:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(files, manifestkey, manifest);
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:292:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(info, "DLFileDest", plist_new_string(templateo));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:293:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(info, "Path", plist_new_string(path));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:294:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(info, "Version", plist_new_string("3.0"));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:295:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(info, "Crap", plist_new_data(crap, crap_size));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c: In function ‘send_file’:
spirit.c:310:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(info, "DLFileAttributesKey", plist_new_dict());
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:311:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(info, "DLFileSource", plist_new_string(dest));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:312:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(info, "DLFileIsEncrypted", plist_new_uint(0));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:313:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(info, "DLFileOffsetKey", plist_new_uint(0));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c:314:2: warning: ‘plist_dict_insert_item’ is deprecated: use plist_dict_set_item instead [-Wdeprecated-declarations]
plist_dict_insert_item(info, "DLFileStatusKey", plist_new_uint(2));
^~~~~~~~~~~~~~~~~~~~~~
In file included from spirit.c:29:0:
/usr/include/plist/plist.h:358:10: note: declared here
void plist_dict_insert_item(plist_t node, const char* key, plist_t item);
^~~~~~~~~~~~~~~~~~~~~~
spirit.c: In function ‘restore_thread’:
spirit.c:339:96: warning: passing argument 3 of ‘lockdownd_start_service’ from incompatible pointer type [-Wincompatible-pointer-types]
ror_t lockdown_err = lockdownd_start_service(lockdownd, "com.apple.mobilebackup", &port);
^
In file included from /usr/include/libimobiledevice/afc.h:32:0,
from spirit.c:30:
/usr/include/libimobiledevice/lockdown.h:212:19: note: expected ‘struct lockdownd_service_descriptor **’ but argument is of type ‘uint16_t * {aka short unsigned int *}’
lockdownd_error_t lockdownd_start_service(lockdownd_client_t client, const char *identifier, lockdownd_service_descriptor_t *service);
^~~~~~~~~~~~~~~~~~~~~~~
spirit.c:350:68: warning: passing argument 2 of ‘mobilebackup_client_new’ makes pointer from integer without a cast [-Wint-conversion]
mobilebackup_error_t backup_err = mobilebackup_client_new(device, port, &backup);
^~~~
In file included from spirit.c:32:0:
/usr/include/libimobiledevice/mobilebackup.h:68:22: note: expected ‘lockdownd_service_descriptor_t {aka struct lockdownd_service_descriptor *}’ but argument is of type ‘uint16_t {aka short unsigned int}’
mobilebackup_error_t mobilebackup_client_new(idevice_t device, lockdownd_service_descriptor_t service, mobilebackup_client_t * client);
^~~~~~~~~~~~~~~~~~~~~~~
gcc -std=gnu99 -c -o afc.o afc.c
gcc -o spirit spirit.o afc.o -limobiledevice -lplist -lcrypto
spirit.o: En la función `start_restore':
spirit.c:(.text+0x9c7): referencia a `idevice_get_uuid' sin definir
collect2: error: ld returned 1 exit status
Makefile:6: fallo en las instrucciones para el objetivo 'spirit'
make: *** [spirit] Error 1
"
Thanks in advance
A.
gcc -o spirit spirit.o afc.o -limobiledevice -lplist -lcrypto spirit.o: In function
start_restore': spirit.c:(.text+0x9c7): undefined reference to
idevice_get_uuid' collect2: error: ld returned 1 exit status Makefile:6: recipe for target 'spirit' failed make: *** [spirit] Error 1