Fedora 34 is a great Linux system release. It brings Gnome 4 and is the most stable Linux distro I've ever used. Then, with an excellent perfomance, it is the perfect environment to work with Houdini. This tutorial will show how to overcome little problems that occur when launching Houdini for the first time in this system.
The installation process is very straightforward: the Houdini artist only needs to execute the houdini.install script and follow the instructions.
OBS: I used the production build 18.563. I had problems installing the python 3 distribution. But this specific subject is for another post blog. Here, I'll concentrate in the standard Houdini version.
The issues will appear in the moment of the Houdini activation using hkey to call the Houdini License Administrator. The first error is related to the shared library file libnsl.so.1:
/opt/hfs18.5/bin/hkey-bin: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
This one is very easy to solve. Go to /usr/lib64 folder and look for the libnsl files that are installed:
bash-5.1$ ls libnsl*
The problem here is that houdini is expecting the libnsl.so.1 file but a higher version was installed instead (libnsl.so.2). The trick here is to deceive Houdini by creating a symbolic link with the name of the needed file. This link will be aimed to the existing file libnsl.so.2.
bash-5.1$ sudo ln -s libnsl.so.2 libnsl.so.1
Then, first issue solved.
Type hkey again then... a very ugly thing will appear:
/opt/hfs18.5/bin/hkey-bin: symbol lookup error: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
Yes, it's frightening, but actually, this monster is not so badass. Symbol lookup error is related to the library libcrypto. When we search for files from this library at /usr/lib64, we have the following result:
bash-5.1$ ls libcry*
libcrypto.so libcrypto.so.1.1 libcryptsetup.so.12 libcrypt.so libcrypt.so.1.1.0 libcrypt.so.2.0.0
libcrypto.so.10 libcrypto.so.1.1.1k libcryptsetup.so.12.6.0 libcrypt.so.1 libcrypt.so.2
The error above has happened because Houdini has it's own libcrypto files that engages in conflict with Fedora 34 libcrypto default installation. The solution here is to get rid of the Houdini libcrypto files and to create a symbolic link aiming to Fedora 34 files.
This symbolic link must be created at the same folder in which Houdini libcrypto files are present. Then, we have to go to the dsolib folder in our Houdini installation folder:
bash-5.1$ cd /opt/hfs18.5/dsolib
Here, we can looking for the culprits:
bash-5.1$ ls libcry*
The next step is to delete these files and to create the symbolic link aiming to the files present inside /usr/lib64:
bash-5.1$ sudo rm libcry*
Now, the creation of the symbolic links:
bash-5.1$ sudo ln -s /usr/lib64/libcrypto.so libcrypto.so
bash-5.1$ sudo ln -s /usr/lib64/libcrypto.so.1.1 libcrypto.so.1.1
And, this is it! Now, when we type hkey the license administrator app will show up and we can license the software. After that, we can launch Houdini without any problems.