Flyounet : (Digital|Real)? life

Une sorte de journal quotidien, mais en vachement plus espacé dans le temps

mbed TLS (anciennement polarSSL) : Comment se le compiler rapidement ?

Rédigé le . Édité le .

Attention, ça vient de loin... J'ai l'intention de m'installer un Rainloop. Pour cela j'ai besoin d'un serveur web sachant gérer PHP. Comme de l'Apache j'en bouffe tout le temps, je me suis dit qu'un petit Hiawatha ça le ferait suffisament. Mais c'est pas de l'openSSL qu'il ingurgite c'est du mbed TLS. Donc, j'en ai besoin.

Pre-requis

Ils ne sont pas nombreux :

  • cmake
  • make
  • perl (si vous voulez lancer les tests)

La méthode

Je ne supporte pas que mes builds se retrouvent dans les répertoires par défaut (la trouille peut-être). Aussi, dans le présent exemple, je vais l'installer dans ̀/tmp/mbeb-2.2.1̀.
Soyez pas con : changez l'emplacement. Ici c'est juste pour l'exemple... Vous allez voir c'est vachement compliqué :

  1. Servez-vous un verre d'alcool (fort de préférence)
  2. Récupérez l'archive : wget https://tls.mbed.org/download/mbedtls-2.2.1-apache.tgz
  3. Veuillez extraire le contenu : tar zxf mbedtls-2.2.1-apache.tgz
  4. Rendez vous dans le répertoire créé : cd mbedtls-2.2.1
  5. Prenez une gorgée du truc fort
  6. Comme ça bouffe du cmake, je fais un : cmake . -DCMAKE_INSTALL_PREFIX=/tmp/mbed-2.2.1 -DENABLE_ZLIB_SUPPORT=ON -DLINK_WITH_PTHREAD=ON -DUSE_SHARED_MBEDTLS_LIBRARY=ON (pour les arguments, si vous ne comprenez pas : faites du IIS)
  7. Finissez votre verre, pendant la commande suivante : make (ou un make no_test si vous n'avez pas perl)
  8. (optionnel) Faite un : make test (sauf si à la commande précédente vous avez choisi la deuxième méthode)
  9. Finissez-vous sur un splendide : make install

Veuillez noter qu'ill faut 5 bonnes minutes pour extraire/compiler sur Atom N450.

D'autres conseils

  • Pour avoir la liste des options de cmake, on fait : cmake -LH
  • Si vous êtes comme moi, vous allez devoir lancer vos binaires avec quelque chose comme : LD_LIBRARY_PATH="/tmp/mbed-2.2.1/lib/:$LD_LIBRARY_PATH" /tmp/mbed-2.2.1/bin/gen_key
  • Si la license Apache vous emmerde, mbed TLS existe aussi en GPL flavour.
  • Certaines des étapes ci-dessus peuvent être itérées entre amis. Vous verrez alors que mbed TLS rempli son office puisque seuls ceux étant aussi plein que vous pourront déchiffrer vos propos.