How to install Maya 2019 On Ubuntu 18.04 on Acer

There is much more to be done in order to get Maya to work on Ubuntu: installing libpng1.5.15 is only one out of many steps.

The full process is described here: https://knowledge.autodesk.com/support/maya/learn-explore/caas/simplecontent/content/installing-maya-2020-ubuntu.html

To solve the libpng problem, simply download libpng1.5.15 from the libpng project: https://sourceforge.net/projects/libpng/files/libpng15/older-releases/1.5.15/, and install it to /usr (where Maya expects it to be. You can also let it install to the default /usr/local and set up LD_LIBRARY_PATH instead). It can perfectly fine coexist with modern versions of libpng.

To build it, make sure autotools and libtool is installed, and do:

tar xvzf libpng-1.5.15.tar.gz
cd libpng-1.5.15
./autogen.sh 
./configure --prefix=/usr
make
sudo make install

Now the Maya installer will run, and then complain about not supporting the operating system and exit. The full process described on the AutoDesk Knowledge Network linked above has 14 steps. By following them exactly, I just got it to work.


I used the Install Maya 2017 link and the Install Maya 2020 link along with downloading libpng from their site, and compiling it (using make) to get things to work. The process is very long, and arduous... And it will probably give you a segmentation fault when it cannot save the default scene in your home dir. However... what you want is "libpng15.so.15.30" from http://www.libpng.org/pub/png/ and then you'll need libpcre16.so.0 from http://www.pcre.org/

You'll also need to do these steps, replacing yum with apt... https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/Installation-Maya/files/GUID-D2B5433C-E0D2-421B-9BD8-24FED217FD7F-htm.html

It's a lot of work, and you should note that if you drop the "mesa-" in front of the libGLU and libGLw you should be able to install them. (I'm doing it on Ubuntu 21.10, but I included the Xenial package repository.) I know that the simple answer will get you past the initial hurdle, but I am also doing this for anyone that comes across this in the future (Like I wish that I had, would have saved me a ton!)

Anyway, on to the actual help! I highly recommend taking the code snippets and making a script. Packages to install:

sudo apt-get update
sudo apt-get upgrade

echo 'deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse' | sudo tee /etc/apt/sources.list.d/xenial.list

sudo apt-get update
sudo apt install -y libtbb-dev libtiff5-dev libssl-dev libpng12-dev libssl1.1 gcc libjpeg62 libcurl4
sudo apt-get install -y libaudiofile-dev libgstreamer-plugins-base0.10-0
sudo apt install -y libglw1-mesa libglw1-mesa-dev mesa-utils
sudo apt install -y xfonts-100dpi xfonts-75dpi ttf-mscorefonts-installer fonts-liberation
sudo apt install -y csh tcsh libfam0 libfam-dev xfstt

The libxp6 package is not available in the Ubuntu repositories, so you will first need to download its .deb file. Issue the following command in the Terminal to do so:

cd /tmp
wget http://launchpadlibrarian.net/183708483/libxp6_1.0.2-2_amd64.deb

Then, install the libxp6 package using the command below in the Terminal:

sudo dpkg -i libxp6_1.0.2-2_amd64.deb
sudo apt install -y alien elfutils  #you'll need this for the next step, install them. 

Convert the Maya .rpm Installer Files into .deb

  1. Convert all the Maya installer files, which are currently in .rpm format, into .deb format. Use the Alien program to do so:

    sudo alien –cv *.rpm

(Install with the following)

sudo dpkg -i *.deb

Create a source file using the below command:

echo "int main (void) {return 0;}" > mayainstall.c

Then, compile it using the following command:

gcc mayainstall.c

After compilation, move the binary to the /usr/bin/rpm. But before doing this, create a backup of the /usr/bin/rpm using the following command:

sudo mv -v /usr/bin/rpm /usr/bin/rpm.backup

Move the binary to the /usr/bin/rpm using the following command:

sudo cp -v a.out /usr/bin/rpm

To revert rpm back, so that you can use it for other packages, use:

sudo rm -v /usr/bin/rpm
sudo mv -v /usr/bin/rpm_backup /usr/bin/rpm

The above allows you to use the ./setup-bin executable to "install" Maya and set up the basic license entry. After that, you create the symbolic links so that Maya can make use of the "correct" .so libraries. The symbolic links that you need to make:

sudo ln -s /usr/lib/x86_64-linux-gnu/libtbb.so /usr/lib/x86_64-linux-gnu/libtbb_preview.so.2
sudo ln -s /usr/lib/x86_64-linux-gnu/libtiff.so /usr/lib/libtiff.so.3
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/autodesk/maya2019/lib/libssl.so.10
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so /usr/autodesk/maya2019/lib/libcrypto.so.10
sudo ln -s /usr/lib/x86_64-linux-gnu/libpcre16.so /usr/autodesk/maya2019/lib/libpcre16.so.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libpng15.so.15.30 /usr/autodesk/maya2019/lib/libpng15.so.15   #may need adjusting.

You can use this to set the tempdir that Maya uses... I'd add it to your profile, or in the start script that calls 'maya'.

export TMPDIR=${HOME}/tmp

Remember to chmod 777 the directory so that Maya can write to it. (Otherwise you'll get a write error in the console.) After that, run maya, and see what it does. This process is literally fix one thing, run it, facepalm, and fix the next thing. :D

I'll try to remember to update this answer with anything else that I find, and as always - if you found this helpful please upvote it!

EDIT: Do note that trying to use a later version of libpng, such as what apt search suggests will fail. other helpful information to add to this:

Trying to get Autodesk to change the libraries used is never going to happen, despite what other answers may tell you. We know it's an issue that the developers need to address, they won't. Put simply it's specialized software designed for windows, and they produce a version for linux that never sees updates and targets RHEL 6 LTS. Their Customer Support directs you to the forums, and if it's not a windows question, odds are it won't get answers. I know... my question still has no answers. Additionally, I left out the command prompts in the coded sections, because most will turn this into a script, or simply get annoyed because the prompt is there and has to be edited out when you copy and paste it.