Installation de Talend Open Studio 8 sur un Mac avec puce Apple Silicon

Posted on Tue, Dec 27, 2022 Apple Silicon M1 M2 Talend Tuto ETL

La dernière version de Talend n'est pas optimisée pour les machines Apple Silicon, il faut donc passer par Rosetta pour le faire fonctionner.

Télécharger la dernière version de Talend Open Studio 8 ici

Installer Talend Open Studio.

Montez l'image .dmg. Pour forcer l'installation de la version X86, ouvrez un terminal et lancez la commande suivante :

/Volumes/Talend\\ Open\\ Studio\\ for\\ Data\\ Inte/TOSDI-8.0.1-osx-installer.app/Contents/MacOS/osx-x86_64

Le programme d'installation devrait s'ouvrir et vous n'aurez qu'à suivre les étapes pour terminer l'installation.

Installer JDK 11

Télécharger le jdk 11 mais pour processeur X86 et non ARM ici

Installer le normalement et ignorez le message vous recommandant d'utiliser plutôt la version pour processeur ARM.

Modifier le fichier Info.plist

Une fois l'installation terminée, on va modifier le fichier plist de Talend pour le forcer à utiliser la JVM que l'on vient d'installer.

En effet, sans cette modification, vous pouvez vous retrouver avec le message d'erreur suivant à l'ouverture de Talend :

The JVM shared library "/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/../lib/server/libjvm.dylib"
does not contain the JNI_CreateJavaVM symbol.

Ouvrez donc un terminal et lancez la commande suivante :

/usr/libexec/java_home -V

Cela vous donnera le chemin vers votre jdk qui devrait ressembler à ça :

‌/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home

Ensuite on se rend dans le dossier d'installation de Talend

/Applications/TOSDI-8.0.1/studio/TOS_DI-macosx-cocoa.app/Contents

On édite le fichier Info.plist

Dans la partie du code où se trouve array suivie des balises string on rajoute une ligne sur le même principe avec le contenu suivant :

<string>-vm</string><string>/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/java</string>

On sauvegarde le fichier et à partir de là, le studio arrive à se lancer.