Package Details: matlab-gcc 1:R2025a+25.1.0.2973910-1

Git Clone URL: https://aur.archlinux.org/matlab.git (read-only, click to copy)
Package Base: matlab
Description: A high-level language for numerical computation and visualization (GCC runtime dependency)
Upstream URL: https://www.mathworks.com/products/matlab.html
Keywords: computation matlab numerical visualization
Licenses: custom:MATLAB EULA
Provides: matlab-gcc, matlab-gcc-release, matlab-gcc-version
Submitter: ido
Maintainer: None
Last Packager: vitaliikuzhdin
Votes: 41
Popularity: 0.30
First Submitted: 2015-08-15 09:33 (UTC)
Last Updated: 2025-07-30 20:23 (UTC)

Dependencies (5)

Required by (1)

Sources (1)

Pinned Comments

vitaliikuzhdin commented on 2025-07-16 13:12 (UTC) (edited on 2025-08-05 20:05 (UTC) by vitaliikuzhdin)

TODO:

  1. Figure out the users and permissions. Currently, /opt/MATLAB/${_release} has 777 permissions, which is obviously undesired. It might be better to create a user group and require users to manually add themselves to it for security reasons.

  2. Improve the installer. For example, the current inotify watcher spams stdout and does not account for the end of the download/installation or the width of the terminal, which results in flaky output.

  3. Figure out the dependencies. The list of Debian/RHEL dependencies is public, but it includes some seemingly unneeded packages. This might be because they are required by dependent products/add-ons. Additionally, the current logic for removing bundled dependencies should probably be rewritten. Maintaining an exhaustive list for a single release is very difficult, and these components change without notice. Moreover, the current approach may go against the Arch KISS philosophy. Ideally, we should remove only the problematic components like Qt, XCB, libtiff, gcc-libs, fontconfig, etc.

  4. Add auto-discovery for packages written for MATLAB. My plan was to use /usr/lib/MATLAB/${_release} for release-specific modules and /usr/lib/MATLAB/common for shared (mostly architecture-independent) packages. However, load order matters, and "common" modules need to specify which releases they are compatible with. This means we need to implement our own logic for discovering and loading these, likely via hooks, shell scripts, and configuration files (perhaps TOML could work?).

  5. Fix the Python components. python-matlabengine does install the Python components built against the version of Python shipped by Arch. However, some proprietary CPython components are not included and are built against ancient Python versions. This likely requires version spoofing or some alternative approach.

  6. Write and upload packages for previous MATLAB releases. It is entirely possible to have multiple releases installed simultaneously. I have a few of these packages myself, but they are drafts and not suitable for upload to the AUR.

  7. Write and upload packages for MATLAB-dependent add-ons and products. When installing MATLAB required user intervention for source access, it was acceptable to break reproducibility and manually specify required products for installation. Now that we use MPM, it would be better to separate products into individual packages. These packages would install themselves and their dependencies into a specific location, then use appdata to install only the component's files. The problem is that MATLAB often includes conflicting files that need to be combined or overwritten. Obviously, we can't allow that, so a hook must be implemented to, for example, combine *.combine@matlab-simulink and replace *.replace@matlab-documentation files with backups. Needless to say, this is challenging to implement, so the previous approach (having users specify the product list) might still be preferred.

  8. Write and upload the matlab-runtime package. I have a draft, but the problem with this package is that it installs the runtime for every available product. Ideally, for source-built packages, we would want to makedepend on matlab-$product and depend on matlab-$product-runtime. However, this is not possible without splitting the runtime packages, which poses the challenges described above. I’ll try my best to revisit this sometime later.

vitaliikuzhdin commented on 2025-07-16 12:55 (UTC)

@aoneko, @Reexys, please read the post-installation instructions. If you've lost them, you can find the same information here.

Latest Comments

« First ‹ Previous 1 .. 16 17 18 19 20 21 22 23 24 25 26 .. 28 Next › Last »

jclsn commented on 2018-04-19 08:31 (UTC)

I updated the PKGBUILD for 2018a. How can I upload it?

hottea commented on 2017-12-20 12:02 (UTC) (edited on 2017-12-20 12:08 (UTC) by hottea)

Hello, I write a PKGBUILD based on this one.

Changes:

  • default installation folder: /opt/matlab
  • license.dat is installed in /opt/matlab/licenses. I'm sure how matlab activing, but just copying license.dat to /etc/matlab/licenses/, and create a soft link from /opt/matlab/licenses to /etc/matlab/licenses/ not work for me.
  • matlab.tar is created by just copying all file in matlab iso file to folder matlab, and tar cvf matlab.tar matlab

However, I just test with _networkinstall=true, and everything works fine. I'm not sure if other activating method would work.

hottea commented on 2017-12-20 02:10 (UTC)

@daniel_shub Hi, it seems that the package don't install the license.dat when _networkinstall=true. It just create a soft link to /etc/matlab/licenses/, but /etc/matlab/licenses/ is not created, license.dat is not installed either. So after installation, one still need to activate matlab.

As for the ISO file, only license Administrator could download the ISO file. I just download it from school website (our school buy licenses). Or one could always down the ISO in some other way. As long as one has the proper license, I think it's OK to do that.

daniel_shub commented on 2017-12-19 19:17 (UTC)

@hottea the tarball is a pain. When I first packaged things, TMW was making getting the ISO file difficult, but you could download zip files of everything you needed from your TMW account. Then they changed the installer so that you could only download the files from the installer. Getting the files into a place that makepkg can find them is a moving target. I no longer have access to new versions of MATLAB and am no longer sure what the easiest or best thing to do it. If I had access to ISO files I would probably just use the ISO and add a checksum.

I used /opt/tmw/matlab based on Adobe Reader (https://aur.archlinux.org/packages/acroread/) which puts the package in /opt/Adobe/Reader9 and Google Earth (https://aur.archlinux.org/packages/google-earth/) which puts the package in /opt/google/earth/free/. I think the FHS requirement for subdirectories to be the LANANA names only came about recently, maybe it is time to just use /opt/matlab.

hottea commented on 2017-12-19 15:07 (UTC)

It seems that the matlab.tar contains all file in the matlab iso, I think it would be better if it one could create a matlab folder, and copy files in matlab iso to the matlab folder, and then create a tarball by tar cvf matlab.tar matlab/. Also why the installation dir is /opt/tmw/matlab? It's a little weird.

@t4mmi In package function, the MATLAB installer output is redirected to /dev/null, you might wanna change it and see the log. In fact, I think it MathWorks's mistake that matlab installer and some other scripts are without x permission. Just chmod +x -R matlab before create matlab.tar might fix it.

jkhsjdhjs commented on 2017-12-04 17:22 (UTC)

@t4mmi You need to place matlab.tar and matlab.fik (a file with your installation key inside) in the directory where you cloned this package. If you used pacaur it is ~/.cache/pacaur/matlab. Further instructions are in the head of the PKGBUILD.

t4mmi commented on 2017-12-04 16:35 (UTC) (edited on 2017-12-04 16:36 (UTC) by t4mmi)

was unable to build ...

[user@workstation matlab]$ makepkg -si

==> Making package: matlab 9.3.0.713579-2 (Mon Dec 4 17:31:29 CET 2017)

==> Checking runtime dependencies...

==> Checking buildtime dependencies...

==> Retrieving sources...

==> ERROR: Unknown download protocol: file Aborting...

jkhsjdhjs commented on 2017-12-04 16:32 (UTC) (edited on 2017-12-04 16:32 (UTC) by jkhsjdhjs)

@streckus: very nice, thank you! It would also be nice if the PKGBUILD would check the exit code of the matlab installer for failure because if the matlab installer fails you won't know, it will only show:

install: cannot stat '/home/MyName/.cache/pacaur/matlab/pkg/matlab/opt/tmw/matlab/license_agreement.txt': No such file or directory

The error, that @yiping_huang, @xcabal and I experienced. For me it failed because I entered a wrong installation key.

<deleted-account> commented on 2017-11-28 15:06 (UTC)

What are the steps to install Matlab using this PKGBUILD? Wiki tells about an ISO, but MathWorks lets download a ZIP, and the PKGBUILD uses a TAR. Any example how to proeed?