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 .. 17 18 19 20 21 22 23 24 25 26 27 28 Next › Last »

otaj commented on 2017-11-27 17:04 (UTC)

Why is there added the weird number after version 9.3 (aka current version 9.3.0.713579)? As far as I know, it's not MathWorks' numbering (they use just 9.3) and when I tweaked the PKGBUILD manually from previous release before you bumped the version up to comply with our school's installation of MATLAB, I just put there 9.3 and now pacaur (pacman helper) wants me to update it every time, since 9.3.0.713579 is newer version than 9.3. I know, I can add it to IgnorePkg (and that's the current status), but it's sort of annoying. Anyway, not to sound so negative, thanks for the PKGBUILD, it's awesome to have something to build it upon ;)

streckus commented on 2017-11-19 18:03 (UTC) (edited on 2017-11-19 18:05 (UTC) by streckus)

I modified the PKGBUILD to correctly link to gcc49 (for mex), link mex as /usr/bin/matlab-mex for avoiding conflicts with texlive etc. and include the fixes for Addon Manager and Help Browser from the Wiki mentioned in Turtizzles comment below. You can find my version here: https://pastebin.com/wyKwL728 (Also, I dropped the ncurses5-compat-libs dependency since its not needed anymore, see https://wiki.archlinux.org/index.php/matlab#Installing_from_the_MATLAB_installation_software )

alienzj commented on 2017-11-02 00:23 (UTC)

sudo pacman -U matlab-9.2.0.556344-3-x86_64.pkg.tar [sudo] password for alienzj: loading packages... resolving dependencies... looking for conflicting packages... Packages (1) matlab-9.2.0.556344-3 Total Installed Size: 14088.64 MiB :: Proceed with installation? [Y/n] y (1/1) checking keys in keyring [########################################################################] 100% (1/1) checking package integrity [########################################################################] 100% (1/1) loading package files [########################################################################] 100% (1/1) checking for file conflicts [########################################################################] 100% error: failed to commit transaction (conflicting files) matlab: /usr/bin/mcc exists in filesystem matlab: /usr/bin/mex exists in filesystem Errors occurred, no packages were upgraded.

Turtizzle commented on 2017-10-25 16:48 (UTC) (edited on 2017-10-25 16:59 (UTC) by Turtizzle)

gcc5 was updated to version 5.5, now the path to libgfortran.so.3 changed to /usr/lib/gcc/x86_64-pc-linux-gnu/5.5.0/libgfortran.so.3. The last line in package() needs a change. :) For everyone who does not want to build the entire package again because of this small change: Open /opt/tmv/matlab/bin/matlab in the editor of your choice and change the two paths manually. Edit: As we're already editing links: we could also include the fixes from "Addon Manager not working": https://wiki.archlinux.org/index.php/matlab#Addon_manager_not_working (In addition to the update, ofc)

yiping_huang commented on 2017-10-21 17:23 (UTC)

==> Entering fakeroot environment... ==> Starting package()... -> Starting MATLAB installer -> Installing license install: cannot stat '/home/_MyName_/.cache/pacaur/matlab/pkg/matlab/opt/tmw/matlab/license_agreement.txt': No such file or directory ==> ERROR: A failure occurred in package(). Aborting... :: failed to build matlab package(s) Same as @xcabal, there is no pacaur/matlab/pkg/matlab/opt folder.

daniel_shub commented on 2017-10-18 13:48 (UTC)

@21violins you need to download the software from the Mathworks and put the software in the build directory. the PKGBUILD tells you how to do this.

21violins commented on 2017-10-18 02:58 (UTC)

I'm getting the following error when trying to install R2017b. ==> Making package: matlab 9.2.0.556344-3 (Tue Oct 17 22:13:06 EDT 2017) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... ==> ERROR: Unknown download protocol: file Aborting...

daniel_shub commented on 2017-09-08 14:14 (UTC)

@Turtizzle the Arch packaging guidelines (https://wiki.archlinux.org/index.php/Arch_packaging_standards) say "Packages should never be installed to /usr/local". I think the best thing to do is probably just create a link in /usr/bin called matlab-mex instead of just mex. If that causes problems for users, then they can add /opt/tmw/matlab/bin to their path variable.

Turtizzle commented on 2017-09-08 07:51 (UTC)

I just moved all executables to /usr/local/bin, as I believe that inofficial packages shouldn't mess with /usr/bin for exactly such conflict reasons anyway. This "fixes" the conflict-problem, unless you rely on directly calling "mex" for whatever reason in your tex-workflow. (Usually, you'd use a building script for that anyway, which probably includes the full path.)

streckus commented on 2017-09-07 17:25 (UTC)

@noel: You can change the PKGBUILD link mex to /usr/bin/matlab-mex or similar. From inside MATLAB, you won't get any difference to normal usage of mex but you might have to point build tools to the right file if you build libraries using mex.