User Tools

Site Tools


cryptlib

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cryptlib [2023/01/02 18:06] – [Linux] added info for Cryptlib and Ubuntu 22.04LTS avoncryptlib [2023/01/24 11:05] (current) g00r00
Line 37: Line 37:
 In Linux, Mystic looks for Cryptlib in the "libcl.so" file, which is created by compiling the source code. In Linux, Mystic looks for Cryptlib in the "libcl.so" file, which is created by compiling the source code.
  
-There are some pre-compiled versions available at the following link that may work if you copy it to your /usr/lib  directory and delete the ssl.cert file from Mystic's data folder if one exists: +=== Installing GCC ===
- +
-http://www.mysticbbs.com/downloads/cryptlib/ +
- +
-If you choose to attempt to compile your own from source code, you can use these instructions as a guide:+
  
 For many installs of Linux the compiler setup is not included by default, check by typing in a terminal: For many installs of Linux the compiler setup is not included by default, check by typing in a terminal:
-  whereis gcc+  gcc -v 
 +   
 +If GCC is installed you should see a bunch of stuff printed to the screen, including a version number such as  
 +"gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)".
  
-You should see several locations (like) +If you get no output from gcc then you need to install it.  Using a terminal do:
-  gcc: /usr/bin/gcc /usr/lib/gcc /usr/bin/X11/gcc /usr/share/man/man1/gcc.1.gz +
- +
-If you get no locations you need to install it, using a terminal do:+
  
   sudo apt-get update   sudo apt-get update
   sudo apt-get install build-essential   sudo apt-get install build-essential
  
-Then check again with 'whereis gcc' to make sure.+=== Compiling CryptLib v3.4.5 Notes === 
 + 
 +CryptLib 3.4.5 requires GCC version 9.x or less because of changes to the Makefile system in newer versions which caused the compilation to fail.  Use the following sections to compile CryptLib based on the version you see when typing "gcc -v". 
 + 
 +=== Compiling for Linux using GCC 9.x and lower ===
  
 The source is contained in the above download section.  Once the file has been downloaded, it must be extracted into its own directory on the Linux machine.  The archive has source files that are stored in the Windows format, so it must be extracted and converted to Linux format.  **This can be done by using the "-a" option of unzip.  If this step is skipped, the source code will not properly compile**. The source is contained in the above download section.  Once the file has been downloaded, it must be extracted into its own directory on the Linux machine.  The archive has source files that are stored in the Windows format, so it must be extracted and converted to Linux format.  **This can be done by using the "-a" option of unzip.  If this step is skipped, the source code will not properly compile**.
  
-The following steps can be executed to compile and install Cryptlib:+The following steps can be executed to compile and install Cryptlib for installations using GCC 9.x and below:
  
-  * Download the source code .zip into its own directory (lets say /cryptlib and cl3441.zip for this example) +  * Download the source code .zip into its own directory (lets say /cryptlib and cl345.zip for this example) 
-  * Switch to the /cryptlib directory where the cl3441.zip is located +  * Switch to the /cryptlib directory where the cl345.zip is located 
-  * Type "unzip -a cl3441.zip" to extract the source code ZIP into the /cryptlib directory+  * Type "unzip -a cl345.zip" to extract the source code ZIP into the /cryptlib directory
   * Type "sudo make shared"   * Type "sudo make shared"
-  * Type "ls libcl*.so*" to see the name of the generated library.  For example: libcl.so.3.4.4+  * Type "ls libcl*.so*" to see the name of the generated library.  For example: libcl.so.3.4.5
   * Move the library into the library path and rename it so that Mystic will find it.  Execute the following:   * Move the library into the library path and rename it so that Mystic will find it.  Execute the following:
-  * "sudo mv libcl.so.3.4./usr/lib/libcl.so"+  * "sudo mv libcl.so.3.4./usr/lib/libcl.so"
  
 You can now delete the /cryptlib directory if you wish.  The library is installed and read to be used by Mystic! You can now delete the /cryptlib directory if you wish.  The library is installed and read to be used by Mystic!
  
-=== Cryptlib on Debian/Ubuntu ===+=== Compiling for Linux using GCC 10.x and higher ===
  
-As of early 2023 the following info is known to get Cryptlib working with Mystic on Ubuntu 22.04LTS our thanks to Alisha Stutz of swissIRC BBS for these details.+Newer Linux distributions are now shipping with GCC 11 which has depreciated some functions used in the Makefile for Cryptlib 3.4.5 causing the compile to fail.  To work around this, either the source code needs to be updated, or a copy of GCC 9 must be installed in order to compile Cryptlib. 
 + 
 +These steps outline the instructions for compiling by installing an older gcc rather than making any changes to the actual source code.  Thanks to Alisha Stutz of swissIRC BBS for the steps below used to compile Cryptlib 3.4.5 on Ubuntu 22.04 LTS:
  
   sudo apt-get update   sudo apt-get update
Line 86: Line 88:
   sudo make shared   sudo make shared
   sudo mv libcl.so.3.4.5 /usr/lib/libcl.so   sudo mv libcl.so.3.4.5 /usr/lib/libcl.so
-  sudo rm /mystic/data/ssl.cert 
   sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11   sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11
   sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11   sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11
-  reboot the system + 
-  +If at this point you still have MIS running you must stop and restart it.  If you previously had attempted to install Cryptlib you may need to delete your ssl.cert when MIS is shutdown: 
 + 
 +  sudo rm /mystic/data/ssl.cert
  
 ==== Apple macOS (Intel) ===== ==== Apple macOS (Intel) =====
cryptlib.1672704382.txt.gz · Last modified: 2023/01/02 18:06 by avon

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki