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 .. 9 10 11 12 13 14 15 16 17 18 19 .. 28 Next › Last »

magnetron2.4ghz commented on 2021-01-04 23:53 (UTC)

I tried swapping the Build() function from the makepkg version bbaserdem mentioned (2020a), which seems to have fixed that error but now I'm getting a different, generic build() error:

==> ERROR: A failure occurred in build(). Aborting...

It seems the error occurs on this line (I figured this out using a couple echo statements)

"${srcdir}/${pkgname}/install" -inputFile "${srcdir}/${pkgname}/installer_input.txt"

For today I will use MATLAB online, but I will be back to do more troubleshooting tonight!

sukanka, which installation script do you refer to? the one listed in your comment? would that have the same effect as swapping the whole build function as I have done?

P.S. Thank you bbaserdem and sukanka for the quick replies!

sukanka commented on 2021-01-04 12:48 (UTC) (edited on 2021-01-04 12:51 (UTC) by sukanka)

I change gcc9 to gcc and it just works! As for the python3.9, I guess we can add "3.9" to the list. But I use anaconda, and I make it use python provided by anaconda. And I have to use the legacy installation script, or it will fail.

sed -i 's|install_unix"|install_unix_legacy"|g'  "${srcdir}/${pkgname}/install"
# add this to build(){}

silverbluep commented on 2021-01-04 02:09 (UTC)

I have a fix for the python 3.9 (i fixed this issue within the pkgbuild before) however I won't be able to test it and roll it ouh; as I did not have access to my PC until the end of January.

If you feel confident; you can dig out the fix in the PKGBUILD commit history; i believe either 2019b or 2020a versions were using an outdated version of python and I had the fix for either one of the versions. If not; I ask for patience until I get back home to make sure the spoofing works before i publish.

magnetron2.4ghz commented on 2021-01-03 22:50 (UTC)

The installer for matla-engine-for-python doesnt currently support python 3.9, as this error in build() illustrates

Traceback (most recent call last): File "/home/<username>/MATLAB/matlab/src/build/extern/engines/python/setup.py", line 15, in <module> raise EnvironmentError('MATLAB Engine for Python supports Python version' OSError: MATLAB Engine for Python supports Python version 2.7, 3.6, 3.7, and 3.8, but your version of Python is 3.9

I tried installing python38 from AUR but no dice. Same Error.

daniel_shub commented on 2020-12-18 02:09 (UTC)

@tornado99 it gets installed in /opt/tmw because that is where the FHS says it should go: /opt is reserved for the installation of add-on application software packages. (https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s13.html). Now you might be thinking, but TMW defaults to /usr/local and that is where all the online tutorials say it goes. And that is right, and consistent with the FHS: The /usr/local hierarchy is for use by the system administrator when installing software locally. (https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.html). The difference is that this package essentially removes the system administrator from the process and in general, a package manager should never install anything in /usr/local.

tornado99 commented on 2020-12-17 19:23 (UTC) (edited on 2020-12-17 19:42 (UTC) by tornado99)

Any clues where this is installed? Followed the Readme and installation finished without errors. However /usr/local/MATLAB is empty apart from an older version I installed manually.

Edit: found it at /opt/tmw. Why this location?

moetayuko commented on 2020-12-06 08:17 (UTC)

Please update for python 3.9

W47MPUSv commented on 2020-12-03 15:54 (UTC) (edited on 2020-12-03 15:54 (UTC) by W47MPUSv)

From the supported compiler page, it seems that GCC 8.X is better supported and the supported gfortran version seems to be only 8.3?

jimmy_979 commented on 2020-12-03 11:21 (UTC)

Can I use license.dat file instead of license.lic?

kyak commented on 2020-10-02 08:56 (UTC)

@daniel_shub you can request a trial version of MATLAB here: https://www.mathworks.com/campaigns/products/trials.html