Installation de Darling sous Ubuntu afin de lancer des logiciels MacOS

Quelques informations sur mon système :

$ uname -r
5.3.0-40-generic
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) 

La première étape de l’installation :

$ sudo apt-get install cmake clang bison flex xz-utils libfuse-dev libudev-dev pkg-config libc6-dev:i386 linux-headers-generic gcc-multilib libcap2-bin libcairo2-dev libgl1-mesa-dev libtiff5-dev libfreetype6-dev libfreetype6-dev:i386 git libelf-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev libbsd-dev

Ensuite on charge les sources :

$ git clone --recursive https://github.com/darlinghq/darling.git

Après on fait le build :

$ cd darling
$ mkdir build && cd build
$ cmake ..
...
CMake Error at cmake/FindFFmpeg.cmake:86 (message):
  Could not find libavcodec or libavformat or libavutil
...

J’ai donc fait ceci :

sudo sudo apt-get install -y \
    libavformat-dev libavcodec-dev libavdevice-dev \
    libavutil-dev libswscale-dev libavresample-dev

J’ai relancé un cmake :

$ cmake ..
...
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find PulseAudio! (missing: PULSEAUDIO_LIBRARIES
  PULSEAUDIO_INCLUDE_DIRS)
...

J’ai donc essayé ceci :

$ sudo apt-get install pulseaudio libpulse0 
...

Mais j’avais déjà les librairies. J’ai donc fait le plan B :

$ sudo apt-get install libpulse-dev pulseaudio apulse

Je relancé un cmake pour la troisème fois :

$ cmake ..
...
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find GIF (missing: GIF_LIBRARY GIF_INCLUDE_DIR)
...

J’ai donc essayé ceci :

$ sudo apt-get install libgif-dev

La quatrième cmake est donc le bon :

$ cmake ..
...
$ make
...
ld: file not found: /System/Library/PrivateFrameworks/FMDB.framework/Versions/A/FMDB for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
src/external/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:24779: recipe for target 'src/external/JavaScriptCore/JavaScriptCore' failed
make[2]: *** [src/external/JavaScriptCore/JavaScriptCore] Error 1
CMakeFiles/Makefile2:62019: recipe for target 'src/external/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/all' failed
make[1]: *** [src/external/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

A noter que le reste de l’installation fonctionne :

$ make lkm
...
$ sudo make lkm_install
...

Je vais refaire un test avec la commande :

$ git clone --recurse-submodules https://github.com/darlinghq/darling.git

Puis j’ai relancer le build :

$ time sudo make
...
[100%] Linking CXX shared library JavaScriptCore
ld: warning: OS dylibs should not add rpaths (linker option: -rpath) (Xcode build setting: LD_RUNPATH_SEARCH_PATHS)
ld: file not found: /System/Library/PrivateFrameworks/FMDB.framework/Versions/A/FMDB for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
src/external/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:24779: recipe for target 'src/external/JavaScriptCore/JavaScriptCore' failed
make[2]: *** [src/external/JavaScriptCore/JavaScriptCore] Error 1
CMakeFiles/Makefile2:62019: recipe for target 'src/external/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/all' failed
make[1]: *** [src/external/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

real	208m3,434s
user	188m7,313s
sys	18m55,609s

Le but était de tester : https://www.rubitrack.com/ .

Sniff.

UPDATE :

J’ai finalement réussi (merci Luc) :

$ darling shell
Loaded the kernel module

$ uname -a
Darwin CYBERNEURONES 16.0.0 Darwin Kernel Version 16.0.0 x86_64

$ hdiutil attach ../../../Téléchargements/rubiTrack-5.3.1.dmg 
/Volumes/rubiTrack-5.3.1

$ cp -r /Volumes/rubiTrack-5.3.1/rubiTrack\ 5\ Pro.app /Applications/

$ /Applications/rubiTrack\ 5\ Pro.app/Contents/MacOS/rubiTrack\ 5\ Pro 
dyld: Symbol not found: _WebActionNavigationTypeKey
  Referenced from: /Applications/rubiTrack 5 Pro.app/Contents/MacOS/rubiTrack 5 Pro (which was built for Mac OS X 10.11)
  Expected in: /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit
 in /Applications/rubiTrack 5 Pro.app/Contents/MacOS/rubiTrack 5 Pro
abort_with_payload: reason: Symbol not found: _WebActionNavigationTypeKey
  Referenced from: /Applications/rubiTrack 5 Pro.app/Contents/MacOS/rubiTrack 5 Pro (which was built for Mac OS X 10.11)
  Expected in: /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit
 in /Applications/rubiTrack 5 Pro.app/Contents/MacOS/rubiTrack 5 Pro; code: 4
Abort trap: 6

Internet Explorer sous Ubuntu 18.04 , c’est possible ? (en mode virtualbox et non libvrt)

Je fais donc suite à mon précédent article : https://www.cyber-neurones.org/2020/04/internet-explorer-sous-ubuntu-18-04-cest-possible-jai-pas-reussi/ . J’ai fixé un des problème ici : https://www.cyber-neurones.org/2020/04/ubuntu-18-issue-lvm2-lvmetad-service-unit-lvm2-lvmetad-socket-is-masked/ .

Maintenant j’essaye en mode virtualbox :

$ vagrant box add windows/win10-edge 'MSEdge - Win10.box'
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'windows/win10-edge' (v0) for provider: 
    box: Unpacking necessary files from: file:///datadisk/Vagrant/MSEdge%20-%20Win10.box
    box: Progress: 0% (Rate: 0/s, Estimated time remaini    box: Progress: 4% (Rate: 341M/s, Estimated time rema    box: Progress: 12% (Rate: 525M/s, Estimated time rem    box: Progress: 20% (Rate: 524M/s, Estimated time rem    box: Progress: 27% (Rate: 524M/s, Estimated time rem    box: Progress: 35% (Rate: 523M/s, Estimated time rem    box: Progress: 43% (Rate: 523M/s, Estimated time rem    box: Progress: 50% (Rate: 523M/s, Estimated time rem    box: Progress: 58% (Rate: 523M/s, Estimated time rem    box: Progress: 66% (Rate: 523M/s, Estimated time rem    box: Progress: 73% (Rate: 521M/s, Estimated time rem    box: Progress: 81% (Rate: 522M/s, Estimated time rem    box: Progress: 88% (Rate: 521M/s, Estimated time rem    box: Progress: 96% (Rate: 520M/s, Estimated time rem==> box: Successfully added box 'windows/win10-edge' (v0) for 'virtualbox'!

$ vagrant up --no-destroy-on-error
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'windows/win10-edge'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: Vagrant_default_1587474217541_88035
Vagrant is currently configured to create VirtualBox synced folders with
the `SharedFoldersEnableSymlinksCreate` option enabled. If the Vagrant
guest is not trusted, you may want to disable this option. For more
information on this option, please refer to the VirtualBox manual:

  https://www.virtualbox.org/manual/ch04.html#sharedfolders

This option can be disabled globally with an environment variable:

  VAGRANT_DISABLE_VBOXSYMLINKCREATE=1

or on a per folder basis within the Vagrantfile:

  config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate: false
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: ....
    default: SSH auth method: password


Ensuite il faut lancer VirtualBox :

Et on a ceci :

Le mot de passe est : Passw0rd! ce qui donne Pqssz)rd/ ou encore Pqsszàrd1.

Ensuite il est préférable de passer en Francais :

Ubuntu 18 : Issue : lvm2-lvmetad.service: Unit lvm2-lvmetad.socket is masked.

L’erreur complète que j’avais :

Paramétrage de lvm2 (2.02.176-4.1ubuntu3.18.04.2) ...
update-initramfs: deferring update (trigger activated)
insserv: warning: script 'douane' missing LSB tags and overrides
insserv: warning: script 'douane' missing LSB tags and overrides
Failed to restart lvm2-lvmetad.service: Unit lvm2-lvmetad.socket is masked.
invoke-rc.d: initscript lvm2-lvmetad, action "restart" failed.
● lvm2-lvmetad.service - LVM2 metadata daemon
   Loaded: loaded (/lib/systemd/system/lvm2-lvmetad.service; static; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:lvmetad(8)
dpkg: erreur de traitement du paquet lvm2 (--configure) :
 installed lvm2 package post-installation script subprocess returned error exit status 1
dpkg: des problèmes de dépendances empêchent la configuration de libguestfs0:amd64 :
 libguestfs0:amd64 dépend de lvm2 ; cependant :
 Le paquet lvm2 n'est pas encore configuré.

Pour fixer le problème j’ai du faire :

sudo apt-get purge lvm2
sudo apt autoremove
sudo apt install lvm2

 

Installation Citrix Workspace sous Ubuntu 18

La première étape est le téléchargement du soft sur : https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html .

Le lien direct : https://downloads.citrix.com/16914/icaclient_19.12.0.19_amd64.deb

$ sudo dpkg -i icaclient_19.12.0.19_amd64.deb 

Sélection du paquet icaclient précédemment désélectionné.
(Lecture de la base de données... 370627 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de icaclient_19.12.0.19_amd64.deb ...
Dépaquetage de icaclient (19.12.0.19) ...
Paramétrage de icaclient (19.12.0.19) ...
Traitement des actions différées (« triggers ») pour gnome-menus (3.13.3-11ubuntu1.1) ...
Traitement des actions différées (« triggers ») pour bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Traitement des actions différées (« triggers ») pour desktop-file-utils (0.23-1ubuntu3.18.04.2) ...
Traitement des actions différées (« triggers ») pour mime-support (3.60ubuntu1) ...

$ sudo cp /usr/share/ca-certificates/mozilla/*.crt /opt/Citrix/ICAClient/keystore/cacerts/

Ensuite il faut faire la congiguration via :

$ /opt/Citrix/ICAClient/util/configmgr

Ensuite je fais un petit check :

$ /opt/Citrix/ICAClient/util/hdxcheck.sh
=========================================================
= Pre-requisite check for the Citrix Workspace for Linux =
=                 Version 1.4 (June 2015)               =
=========================================================

-------------------------------
-- Client Information...      -
-------------------------------
Client version:
19.12.0.19
Install location:
/opt/Citrix/ICAClient

-------------------------------
-- Checking Kernel Version... -
-------------------------------
Success, a compatible kernel version(5.3.0) has been found.
--------------------------------------------
-- Checking Audio support dependencies..   -
--------------------------------------------

------------------------------------------------------------------
-- Checking that ALSA Support is installed...
------------------------------------------------------------------
Success! - ALSA is installed!

-----------------------------------------------------
-- Checking for SPEEX and VORBIS Audio Support...
-----------------------------------------------------
Success! All SPEEX and VORBIS dependencies found!

--------------------------------------------
-- Checking HDX MediaStream dependencies.. -
--------------------------------------------

/opt/Citrix/ICAClient/util/gst_play0.10: error while loading shared libraries: libgstinterfaces-0.10.so.0: cannot open shared object file: No such file or directory
The minimum required version of GStreamer is 0.10.25
You are using version  of GStreamer
Warning! - A compatible version of GStreamer could not be located!

The minimum required version of GStreamer 1.0 is 1.2.4
You are using version 1.14.5 of GStreamer 1.0
Success! - A compatible version of GStreamer 1.0 is installed!

Your version of libcurl is: 7.58.0
Sucesss! Correct libCurl version found

------------------------------------------------------------------
-- Checking GStreamer webcam Support ...
------------------------------------------------------------------
Warning! - some dependencies required for webcam support are missing.
	libgstinterfaces-0.10.so.0 => not found
	libgstapp-0.10.so.0 => not found
	libgstbase-0.10.so.0 => not found
	libgstreamer-0.10.so.0 => not found
	libgstreamer-0.10.so.0 => not found
	libgstapp-0.10.so.0 => not found
	libgstpbutils-0.10.so.0 => not found

------------------------------------------------------------------
-- Checking GStreamer 1.0 webcam Support ...
------------------------------------------------------------------
Success! - Gstreamer 1.0 webcam dependencies installed!

--------------------------------------
-- Checking for printing support ... -
--------------------------------------
Success! - Printing system found

The following printers are installed in your system: 
lpstat: Aucune destination ajoutée.

-----------------------------------
-- Checking Display Server Support ... -
-----------------------------------
Success! - Your display server is X11, compatible with your Desktop and App sessions

-----------------------------------
-- Checking Webkit Support ... -
-----------------------------------
Success! - libwebkit2gtk-4.0.so.37 is installed. Selfservice support is present. Recommended version for libwebkit2gtk is (>=2.16.6),

-----------------------------------
-- Checking if libpng is present ... -
-----------------------------------
Success! - libpng is present.,

-----------------------------------
-- Checking SaaS App Support ... -
-----------------------------------
Success! All SaaS App Support dependencies found!

-----------------------------------
-- Checking Smartcard Support ... -
-----------------------------------
Success! - Libpcsclite.so installed. Smartcard support enabled.
libpcsclite was found on your system but it's version could not be determined.
Make sure you have version 1.5.6 or later

------------------------------------
--- Checking other dependencies .. -
------------------------------------

-----------------------------------------------------
-- Checking Client Library dependencies...
-----------------------------------------------------
Success! All client dependencies found!

-----------------------------------------------------
-- Checking OS Library dependencies...
-----------------------------------------------------
Success! All OS dependencies found!

-----------------------------
-- Checking For USB Support..
-----------------------------

--------------------------------------------------------------
-- Checking that a compatible version of udev is installed...
--------------------------------------------------------------
A compatible version of udev is installed!

---------------------------------------------------------------
-- Checking that a compatible version of glibc is installed...
---------------------------------------------------------------
The minimum required version is 2.7
You are using version 2.27 of glibc
A compatible version of glibc is installed!

----------------------------------------------------------------
-- Checking that a compatible version of libcap is installed...
----------------------------------------------------------------
A compatible version of libcap is installed!
Success! All USB dependencies found!

-----------------------------------
- Checking X-window dependencies  -
-----------------------------------
-----------------------------------------------------------------
-- Checking that your system supports the minimum color depth...
-----------------------------------------------------------------
The minimum required color depth is 8 bit
Your system supports up to 32 bit
Success! - A compatible color depth is available!

------------------------------------------------------------
-- Checking that your XServer supports Seamless Windows...
------------------------------------------------------------
Success! - Seamless windows are supported!
-------------------------------------------------------
-- Checking that your XServer supports Multi-Monitor...
-------------------------------------------------------
Success! - Multi-monitor is supported!
Found the following Monitors:
  head #0: 1920x1080 @ 0,0


-----------------------------------
- Checking Instrumentation support  -
-----------------------------------
----------------------------------------------------------------
-- Checking that a compatible version of libjson is installed on your system...
----------------------------------------------------------------
A compatible version of libjson-c is installed! CAS and CEIP will be supported

Success! Instrumentation support will be provided!

===================================================================
= Pre-requisite check for the Citrix Workspace for Linux Completed =
===================================================================
Logfile: /tmp/logfile.txt

Ensuite il suffit de lancer l’application : Citrix Workspace :