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.38
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-07-30 21:03 (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 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

1 2 3 4 5 6 .. 28 Next › Last »

vitaliikuzhdin commented on 2025-07-30 20:28 (UTC)

It seems like my license expires tomorrow and I won't be using MATLAB anymore, meaning I'll have to disown everything related to the ecosystem. I've left some comments in the PKGBUILD, so hopefully the next maintainer(s) will have it easier. I'll leave the current TODO list for the same purpose too.

On a side note, gnutls version 3.8.10 has hit Debian Experimental, which means someone should file an issue with MATLAB Support soon.

vitaliikuzhdin commented on 2025-07-21 21:45 (UTC)

@Fitti, a missing dependency could logically explain the irreproducibility. Could you or someone else (using a virtual machine or chroot) test whether installing the commented-out dependencies (lines 25–77) resolves the issue? I unfortunately don’t have the resources to test it myself right now.

Fitti commented on 2025-07-21 13:47 (UTC)

Cannot test it myself at the moment, but MathWorks support said this about the issue:

"Thank you for contacting MathWorks regarding your start up issue. 

The error and the crashes seem to be occurring due to incompatible libstdc++.so.6. The current workaround is to follow the instructions in this article:

Why does MATLAB fail to install with a "'std::runtime_error' what(): Unable to launch the MATLABWindow application" error on Linux? https://www.mathworks.com/matlabcentral/answers/540707"

Could be helpful.

Fitti commented on 2025-07-19 02:41 (UTC)

@vitaliikuzhdin Yeah, I did apply the patch! Before the patch, it would take a while to launch, and then crash. After the patch, it crashes almost instantaneously.

I might have the time to test with 2024b later today. I will comment here with my results if I do.

vitaliikuzhdin commented on 2025-07-18 20:32 (UTC)

@Fitti, given that MathWorksProductActivation works, this should (?) no longer be a gnutls issue. Can you please confirm that you’ve tried the patch for the execstack issue (just so I can be 100% sure)? Also, could you try the R2024b release once you resolve your license issues? It still requires the same gnutls downgrade, but aside from that, it has no execstack issues and doesn’t require manual activation before the first launch. You can either do a manual install or wait a few days for me to upload a matlab-r2024b package.

Fitti commented on 2025-07-18 17:11 (UTC)

@daniel_shub They actually changed it to /opt/MATLAB/R2025a/..., which is where I placed the files. I tried your symlink method, as well as dumping them in there directly. I tried multiple different installation methods, aside from this AUR package, and none of them worked. All that happens is that MathWorksProductActivation works, which would otherwise also crash, and the [ 0] entry in the stack trace changes. Sadly, I will no longer be able to test for a bit, as the license itself is apparently "used up" now, despite me having precisely none working installs. I hope they fix my license.

daniel_shub commented on 2025-07-18 16:41 (UTC) (edited on 2025-07-18 16:42 (UTC) by daniel_shub)

I would guess you would replace

MATLABPATH=/opt/tmw/matlab-r2024b/bin/glnxa64/

with

MATLABPATH=/opt/tmw/matlab-r2025a/bin/glnxa64/

Can you see files in "${MATLABPATH}"/gnutls and symbolic links to those files in "${MATLABPATH}"?

Fitti commented on 2025-07-18 11:09 (UTC) (edited on 2025-07-18 11:19 (UTC) by Fitti)

@aoneko I'm trying to apply the fix to R2025a as well, but haven't had any success so far. It still crashes with the same error. How exactly did you modify the commands from Daniel's fix to work for you?

I just noticed that the first line in my stack trace is different, though the 15 following it are identical: [ 0] 0x00007fd45c441c68 /opt/MATLAB/R2025a/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so+02366568 lc_new_job+00000216

aoneko commented on 2025-07-17 06:19 (UTC)

@daniel_shub Thank you for this important information. After pasting gnutls 3.8.9 for Matlab R2025a, it can be both activation and operation. Thank you and Vitaliikuzhdin for all those hard work!

daniel_shub commented on 2025-07-16 17:00 (UTC) (edited on 2025-07-18 16:39 (UTC) by daniel_shub)

@vitaliikuzhdin I would hold off until gnutls 3.8.10 hits the Fedora and/or Debian repos to see if it breaks other things and how people fix it.

Right now I a using

# MATLABPATH=/opt/tmw/matlab-r2024b/bin/glnxa64/
# GNUTLSPATH=/tmp/gnutls-3.8.9-1-x86_64.pkg
# wget https://archive.archlinux.org/packages/g/gnutls/gnutls-3.8.9-1-x86_64.pkg.tar.zst
# mkdir -p "${GNUTLSPATH}"
# tar -xvf gnutls-3.8.9-1-x86_64.pkg.tar.zst -C ${GNUTLSPATH}
# mkdir "${MATLABPATH}"/gnutls
# cp -a "${GNUTLSPATH}"/usr/lib/* "${MATLABPATH}"/gnutls/
# cd "${MATLABPATH}"
# ln -s gnutls/* ./

So we could create a gnutls389 package and create the needed links in matlab-r2024b/bin/glnxa64/ or just add the old package as binary source and put them in matlab-r2024b/bin/glnxa64/.