Salut,
je tente "désespérement" de compiler le noyaux mach-lkm qui permet d'émuler MacOSX sous Linux
j'ai bien suivi les instructions situées ici https://docs.darlinghq.org/build-instructions.html
j'ai compilé en désactivant les bibliothèques 32 bits, car glibc-32bit n'est pas trouvé par le compilateur (clang, je suppose?). Je suis parvenu à compiler darling en lui-même avec sudo make && sudo make install, mais pas moyen d'installer le noyau mach-lkm.
voici le message d'erreur
unixman@tagomago:~/git/darling/build> sudo make lkm
Built target migcom
Built target migexe
Generating osfmk/mach/upl_user.c, osfmk/mach/upl.h, osfmk/mach/upl_server.c, osfmk/mach/upl_server.h, osfmk/mach/uplXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/host_notify_reply_user.c, osfmk/mach/host_notify_reply.h, osfmk/mach/host_notify_reply_server.c, osfmk/mach/host_notify_reply_server.h, osfmk/mach/host_notify_replyXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/vm32_map_user.c, osfmk/mach/vm32_map.h, osfmk/mach/vm32_map_server.c, osfmk/mach/vm32_map_server.h, osfmk/mach/vm32_mapXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/mach_notify_user.c, osfmk/mach/mach_notify.h, osfmk/mach/mach_notify_server.c, osfmk/mach/mach_notify_server.h, osfmk/mach/mach_notifyXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/mach_voucher_attr_control_user.c, osfmk/mach/mach_voucher_attr_control.h, osfmk/mach/mach_voucher_attr_control_server.c, osfmk/mach/mach_voucher_attr_control_server.h, osfmk/mach/mach_voucher_attr_controlXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/memory_entry_user.c, osfmk/mach/memory_entry.h, osfmk/mach/memory_entry_server.c, osfmk/mach/memory_entry_server.h, osfmk/mach/memory_entryXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/memory_object_control_user.c, osfmk/mach/memory_object_control.h, osfmk/mach/memory_object_control_server.c, osfmk/mach/memory_object_control_server.h, osfmk/mach/memory_object_controlXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/memory_object_user.c, osfmk/mach/memory_object.h, osfmk/mach/memory_object_server.c, osfmk/mach/memory_object_server.h, osfmk/mach/memory_objectXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/memory_object_default_user.c, osfmk/mach/memory_object_default.h, osfmk/mach/memory_object_default_server.c, osfmk/mach/memory_object_default_server.h, osfmk/mach/memory_object_defaultXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/mach_voucher_user.c, osfmk/mach/mach_voucher.h, osfmk/mach/mach_voucher_server.c, osfmk/mach/mach_voucher_server.h, osfmk/mach/mach_voucherXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/vm_map_user.c, osfmk/mach/vm_map.h, osfmk/mach/vm_map_server.c, osfmk/mach/vm_map_server.h, osfmk/mach/vm_mapXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/resource_notify_user.c, osfmk/mach/resource_notify.h, osfmk/mach/resource_notify_server.c, osfmk/mach/resource_notify_server.h, osfmk/mach/resource_notifyXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/restartable_user.c, osfmk/mach/restartable.h, osfmk/mach/restartable_server.c, osfmk/mach/restartable_server.h, osfmk/mach/restartableXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/exc_user.c, osfmk/mach/exc.h, osfmk/mach/exc_server.c, osfmk/mach/exc_server.h, osfmk/mach/excXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/mach_exc_user.c, osfmk/mach/mach_exc.h, osfmk/mach/mach_exc_server.c, osfmk/mach/mach_exc_server.h, osfmk/mach/mach_excXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/notify_user.c, osfmk/mach/notify.h, osfmk/mach/notify_server.c, osfmk/mach/notify_server.h, osfmk/mach/notifyXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/task_user.c, osfmk/mach/task.h, osfmk/mach/task_server.c, osfmk/mach/task_server.h, osfmk/mach/taskXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/clock_user.c, osfmk/mach/clock.h, osfmk/mach/clock_server.c, osfmk/mach/clock_server.h, osfmk/mach/clockXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/clock_priv_user.c, osfmk/mach/clock_priv.h, osfmk/mach/clock_priv_server.c, osfmk/mach/clock_priv_server.h, osfmk/mach/clock_privXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/processor_user.c, osfmk/mach/processor.h, osfmk/mach/processor_server.c, osfmk/mach/processor_server.h, osfmk/mach/processorXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/host_priv_user.c, osfmk/mach/host_priv.h, osfmk/mach/host_priv_server.c, osfmk/mach/host_priv_server.h, osfmk/mach/host_privXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/host_security_user.c, osfmk/mach/host_security.h, osfmk/mach/host_security_server.c, osfmk/mach/host_security_server.h, osfmk/mach/host_securityXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/lock_set_user.c, osfmk/mach/lock_set.h, osfmk/mach/lock_set_server.c, osfmk/mach/lock_set_server.h, osfmk/mach/lock_setXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/mach_port_user.c, osfmk/mach/mach_port.h, osfmk/mach/mach_port_server.c, osfmk/mach/mach_port_server.h, osfmk/mach/mach_portXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/mach_vm_user.c, osfmk/mach/mach_vm.h, osfmk/mach/mach_vm_server.c, osfmk/mach/mach_vm_server.h, osfmk/mach/mach_vmXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/mach_host_user.c, osfmk/mach/mach_host.h, osfmk/mach/mach_host_server.c, osfmk/mach/mach_host_server.h, osfmk/mach/mach_hostXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/processor_set_user.c, osfmk/mach/processor_set.h, osfmk/mach/processor_set_server.c, osfmk/mach/processor_set_server.h, osfmk/mach/processor_setXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/thread_act_user.c, osfmk/mach/thread_act.h, osfmk/mach/thread_act_server.c, osfmk/mach/thread_act_server.h, osfmk/mach/thread_actXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/mach/clock_reply_user.c, osfmk/mach/clock_reply.h, osfmk/mach/clock_reply_server.c, osfmk/mach/clock_reply_server.h, osfmk/mach/clock_replyXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/device/device_user.c, osfmk/device/device.h, osfmk/device/device_server.c, osfmk/device/device_server.h, osfmk/device/deviceXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Generating osfmk/UserNotification/UNDReplyUser.c, osfmk/UserNotification/UNDReply.h, osfmk/UserNotification/UNDReplyServer.c, osfmk/UserNotification/UNDReplyServer.h, osfmk/UserNotification/UNDReplyXtraceMig.c
clang-14.0: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
Built target lkm_generate
Built target rtsig
Built target rtsig_h
Building the Linux kernel module
make[4] : on entre dans le répertoire « /home/unixman/git/darling/src/external/lkm »
Running kernel version is 5.18.6-1-default
rm -f darling-mach.mod.o
make -C /lib/modules/5.18.6-1-default/build M=/home/unixman/git/darling/src/external/lkm modules
make[5] : on entre dans le répertoire « /home/unixman/git/darling/src/external/lkm »
make[5]: *** /lib/modules/5.18.6-1-default/build : Aucun fichier ou dossier de ce type. Arrêt.
make[5] : on quitte le répertoire « /home/unixman/git/darling/src/external/lkm »
make[4]: *** [Makefile:618 : default] Erreur 2
make[4] : on quitte le répertoire « /home/unixman/git/darling/src/external/lkm »
make[3]: *** [src/external/lkm/CMakeFiles/lkm.dir/build.make:71 : src/external/lkm/CMakeFiles/lkm] Erreur 2
make[2]: *** [CMakeFiles/Makefile2:93866 : src/external/lkm/CMakeFiles/lkm.dir/all] Erreur 2
make[1]: *** [CMakeFiles/Makefile2:93873 : src/external/lkm/CMakeFiles/lkm.dir/rule] Erreur 2
make: *** [Makefile:35542 : lkm] Erreur 2
il semblerait qu'il échoue à trouver au moment du passage du compilateur par les modules (pas de "build' - comment obtenir ce répertoire?), mais il y a peut être aussi une étape que j'ai loupé, sait-on jamais? J'ai bien installé les kernel-source, kernel-devel && co
donc voila si quelqu'un peut me filer un coup de main ce serait vraiment apprécié.
Bon dimanche à tous et toutes!
Lucky
@chalu oui sûrement, mais ça n'a pas l'air d'être une erreur liée à openssl
je pense que ça foire car il n'y a pas de répertoire "build" dans /lib/modules/"uname-r"/build
lkm ne le trouve pas, et pour cause il n'y est pas! donc je cherche un moyen de créer ce répertoire build sous SUSE.
j'ai essayé avec plusieurs noyaux: kernel-défault, kernel-vanilla et kernel-preempt, même résultat à chaque fois (même si j'ai eu le build sous vanilla et preempt.)
je commence à me demander si je ne dois pas recompiler le noyau pour que ça fonctionne, mais bon ça ne fait pas parti de mes talents!
Mais je vais essayer de faire un rapport là bas et je vous tiens au jus.
Bon j'ai finalement réussi à l'installer après une réinstall de Tumbleweed.
Ça a l'air d'être un truc similaire à WSL (pas de fenêtre graphique, je m'attendais à avoir une émulation de MacOSX totalement virtualisée ce qui me déçoit un peu). A voir avec le temps ce que je pourrais en tirer.
Pour ceux qui voudraient tenter l'aventure, il faut désactiver les librairies 32 bits et Javascript, comme indiqué sur le site
https://docs.darlinghq.org/build-instructions.html (à faire au moment de cmake..)
Merci à Chalu du coup de main.