MATLAB Answers

Why do I get a permission denied error message referring to the java folder when installing MATLAB on Linux?

246 views (last 30 days)
When installing MATLAB R2010b on 64-bit Linux, I receive a permission denied message:
Preparing installation files ...
Installing ...
eval: 1: /tmp/mathworks_13113/java/jre/glnxa64/jre/bin/java: Permission
denied
Finished
The permissions of my /tmp folder are fine. How can I install MATLAB?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 18 Oct 2013
This error occurs when the installer file (for example, matlab_R2010b_glnxa64_installer.zip or matlab_R2010b_glnx86_installer.zip) is not extracted properly. This commonly happens if the installer is downloaded on a Windows machine, is extracted, and then copied to a Linux machine.
To ensure that the installer runs properly, the installation archives should be extracted on a Linux machine. To extract the installer, you can use the command line tool "unzip" to extract the file. For example:
unzip matlab_R20*_glnxa64_installer.zip
If you still experience a permission error when running the installer, please see the related solutions below:
Why do I receive the error "Exception in thread "main" com.google.inject.ProvisionException" when installing MATLAB on Linux?
Why do I get the message "xsetup: Permission denied" when running the installer on Linux/Unix?

More Answers (3)

andrea
andrea on 13 Nov 2015
I just solved this Problem!
Got to change 'execute permission' on 2 files in the folder you create on your PC before installing the program : install in the default Folder java in /Matlab/sys/java/jre/glnxa64/jre/bin
To do so go on each file and: right-click -> Properties -> Go on the permission features and check the executable box. And it's Done! ./install

  0 Comments

Sign in to comment.


andrea
andrea on 13 Nov 2015
I just solved this Problem!
Got to change 'execute permission' on 2 files in the folder you create on your PC before installing the program : install in the default Folder
java in /Matlab/sys/java/jre/glnxa64/jre/bin
To do so go on each file and: right-click -> Properties -> Go on the permission features and check the executable box. And it's Done!
./install

  0 Comments

Sign in to comment.


Charlie Pearson
Charlie Pearson on 19 Feb 2020
Edited: Charlie Pearson on 19 Feb 2020
I had a similar problem but the answer for me was completely different than what others found:
To meet STIGS requrierments (security hardening), the /tmp partition is mounted with the noexec option. MATLAB copies a bunch of files to a temp folder within /tmp and then runs them. When the program from the /tmp folder was run, the noexec clause took effect and the execution of the program failed.
The solution is to either remove the noexec option in /etc/fstab or comment out the /tmp entry in that file. If you do the second option, you also have to disable the tmp.mount setting (systemctl disable tmp.mount). I did the latter and rebooted the machine. When it came up, I mounted the .iso and started the install program and it worked!
EDIT: This was for a Centos 7 machine

  2 Comments

Benjamin McCabe
Benjamin McCabe on 11 Apr 2020
There is a no-root-permission-required solution to this problem.
The install shell script takes a -tmpdir argument, which it will use instead of /tmp for the executables it copies and runs.
It also takes arguments for non-gui installation (-mode silent), specifying the installation folder for the runtime (-destinationFolder) and agreeing to the license (-agreeToLicense yes) on the command line, but at least these other arguments are documented on the page for the installer.
So, if you want to install the runtime in ~/runtime, using temporary directory ~/tmp, and have it all Just Work with no GUI intervention, the command line that works is:
./install -mode silent -agreeToLicense yes -destinationFolder ~/runtime -tmpdir ~/tmp

Sign in to comment.

Sign in to answer this question.

Tags

No tags entered yet.

Products


Release

R2011b