MATLAB: When running the MathWorks Installer on Linux, why do I get the error “install_unix: error while loading shared libraries and libexpat.so.1: file too short”

When running the MathWorks installer on Linux for R2020a or newer, I get the following error:

/home/user/Downloads/matlab_R2020a_glnxa64/bin/glnxa64/bin/glnxa64/install_unix: error while loading shared libraries: /home/user/Downloads/matlab_R2020a_glnxa64/bin/glnxa64/libexpat.so.1: file too short

Best Answer

This error is typically caused by broken symbolic links within the installer as a result of downloading and zipping the Download Only contents on a Windows machine before moving them over to the Linux machine.
To resolve this error, you may redownload the Download Only installation package on a Linux machine, or you may perform the following solutions:
A) Unzip the Download Only installation files with -X -K flags.  For example:
unzip -X -K matlab_R2020b_glnxa64.zip
B) Perform the following workaround:
  1. Locate and extract the matlab_R2020b_glnxa64 file located in the installation package.
  2. In the extracted matlab_R2020b_glnxa64 folder, verify that the install script can now launch the MathWorks Installer, then close the Installer before continuing.  (If it can not, you may need to redownload the installation files on a Linux machine.)
  3. Rename the archives folder in the extracted matlab_R2020b_glnxa64 folder to archives_old.
  4. Copy and paste the archives folder from the original download only files into the new extracted folder.
  5. Proceed with the installation