Package Details: java-matlab 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 (Java components)
Upstream URL: https://www.mathworks.com/products/matlab.html
Keywords: computation matlab numerical visualization
Licenses: custom:MATLAB EULA
Provides: java-matlab-release, java-matlab-version
Submitter: ido
Maintainer: vitaliikuzhdin
Last Packager: vitaliikuzhdin
Votes: 41
Popularity: 0.27
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 .. 15 16 17 18 19 20 21 22 23 24 25 .. 28 Next › Last »

a36233 commented on 2018-07-25 14:03 (UTC) (edited on 2018-07-25 14:22 (UTC) by a36233)

I'm having the following problem:

-> Modifying the installer settings
sed: can't read
<path>AUR/matlab/matlab/src/matlab/installer_input.txt: No such file or directory</path>
==> ERROR: A failure occurred in prepare().
Aborting...

"installer_input.txt" it at root of the tar file in r2018a

petronny commented on 2018-07-23 03:04 (UTC) (edited on 2018-07-23 03:08 (UTC) by petronny)

@hottea

1
 source=("file://matlab.tar"
-        "file://matlab.fik")
+       "file://matlab.fik"
+       "file://matlab.lic"
+       "matlab.png::https://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png")

,

-#_networkinstall=true
-
-## For network installations, apparently, a license file needs to be used for the installation.
-if [ ! -z ${_networkinstall+isSet} ]; then
-  source+=("file://license.dat")
-  md5sums+=('SKIP')
-fi

Why matlab.lic is added as source for non-network installations?

2
-  msg2 'Configuring mex options'
-  sed -i "s#CC='gcc'#CC='gcc-4.7'#g" "${pkgdir}/opt/tmw/${pkgname}/bin/mexopts.sh"
-  sed -i "s#CXX='g++'#CXX='g++-4.7'#g" "${pkgdir}/opt/tmw/${pkgname}/bin/mexopts.sh"
-  sed -i "s#FC='gfortran'#FC='gfortran-4.7'#g" "${pkgdir}/opt/tmw/${pkgname}/bin/mexopts.sh"

,

-  ## See $MATLABROOT/sys/os/glnxa64/README.libstdc++
-  msg2 'Removing unused library files'
-  rm ${pkgdir}/opt/tmw/${pkgname}/sys/os/glnxa64/{libstdc++.so.6.0.20,libstdc++.so.6,libgcc_s.so.1,libgfortran.so.3.0.0,libgfortran.so.3,libquadmath.so.0.0.0,libquadmath.so.0}

and

-  # make sure MATLAB can find libgfortran.so.3
-  sed -i 's,LD_LIBRARY_PATH="`eval echo $LD_LIBRARY_PATH`",LD_LIBRARY_PATH="`eval echo $LD_LIBRARY_PATH`:/usr/lib/gcc/x86_64-pc-linux-gnu/5.5.0",g' "${pkgdir}/opt/tmw/matlab/bin/matlab"

Why these are removed?

3
-## This PKGBUILD creates an Arch Linux package for the proprietary MATLAB application. A license from The MathWorks is needed in order to both build the package and to run MATLAB once the package is installed. In order to build the package the user must supply a plain text file installation key and the software. For network installations, in addition to the file installation key, a license file needs to be used for the installation. The tar archive file can be generated from an ISO downloaded from The MathWorks, generated from the official DVD, or created by using the interactive installer to download the toolboxes (installation can be made to a temporary directory and canceled once the toolboxes are downloaded). The contents of the tar archive must include: ./archives/ ./bin/ ./etc/ ./help/ ./java/ /sys ./activate.ini ./install ./installer_input.txt

Why these instructions are removed? They are much clearer.

4
$ pacman -Fo /usr/bin/mex
usr/bin/mex is owned by extra/texlive-bin 2017.44590-14

Please rename the mex binary in matlab.

greyltc commented on 2018-07-20 16:07 (UTC)

Done. Go ahead and make your changes folks!

hottea commented on 2018-07-20 15:35 (UTC)

@greyltc Ok, I'm glad to.

petronny commented on 2018-06-26 08:30 (UTC)

@greyltc OK if you approve my changes.

greyltc commented on 2018-06-20 17:36 (UTC)

@petronny and/or @hottea, would you like me to make you a co-maintainer?

petronny commented on 2018-05-08 21:58 (UTC) (edited on 2018-05-09 11:02 (UTC) by petronny)

@greyltc I wrote a 2018a PKGBUILD here. It behaves almost as same as your current one, except splitting the keys to a new package.

PS. You can just pull my repository to fetch these changes.

hottea commented on 2018-05-02 07:52 (UTC)

Hi all, I create a repo in Github. If interested, one could use this PKGBUILD for building a package. I remove all dependencies, install all products available by default, and no desktop entry is provided. I gonna add a desktop entry to wiki.

greyltc commented on 2018-05-01 14:26 (UTC)

@gunjah post a link here to a pastebin (or similar) of your 2018a PKGBUILD and I'll have a look at getting it in here

sadid commented on 2018-05-01 14:12 (UTC) (edited on 2018-05-01 14:12 (UTC) by sadid)

@gunjah, you can just copy/paste it here or create your own 2018a specific aur package.