Skip to content

add support for Mathematica / Wolfram 14.1#3417

Closed
jose-d wants to merge 1 commit intoeasybuilders:developfrom
jose-d:patch-3
Closed

add support for Mathematica / Wolfram 14.1#3417
jose-d wants to merge 1 commit intoeasybuilders:developfrom
jose-d:patch-3

Conversation

@jose-d
Copy link
Contributor

@jose-d jose-d commented Aug 22, 2024

With Mathematica 14.1, the core app was renamed from Mathematica to Wolfram.

  • f-strings are used so, Easybuild 5 is the target version of this PR.

Another change is replacement of custom command mathematica --version with echo \'Quit[0]\' | WolframKernel. WolframKernel is not linking to libGL so it doesn't fail at headless build nodes / and we do not need GL as dependency.

also instead of mathematica, the standard gui is to be started with wolframnb now.

wolfram_screenshot
`

@jose-d
Copy link
Contributor Author

jose-d commented Aug 22, 2024

testing on previous versions revealed some older problem.

this easyblock uses:

custom_commands = ['mathematica --version']

but the binary links to libGL.so, not present eg. at our build server, and not being part of osdependencies.

[swbuild@cvmfs2 site_local]$ /cvmfs/system.phoebe.lan/software/Mathematica/13.1.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica --version
/cvmfs/system.phoebe.lan/software/Mathematica/13.1.0/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
[swbuild@cvmfs2 site_local]$

It seems that we can use WolframKernel which is not linked to anything too fancy:

$ echo 'Quit[0]' | /cvmfs/system.phoebe.lan/software/Mathematica/13.1.0/bin/WolframKernel
Mathematica 13.1.0 Kernel for Linux x86 (64-bit)
Copyright 1988-2022 Wolfram Research, Inc.

In[1]:= [swbuild@cvmfs2 site_local]$ ^C
$

@jose-d jose-d marked this pull request as draft August 22, 2024 10:17
@jose-d
Copy link
Contributor Author

jose-d commented Aug 22, 2024

check on three versions I have around:

[swbuild@cvmfs2 site_local]$ eb --rebuild --include-easyblocks=./mathematica.py ./Mathematica-14.1.0.eb
== Temporary log file in case of crash /mnt/cache/eb-dnp32pmc/easybuild-imh0edqi.log
== found valid index for /home/swbuild/.local/easybuild/easyconfigs, so using it...
== processing EasyBuild easyconfig /cvmfs/system.phoebe.lan/site_local/Mathematica-14.1.0.eb
== building and installing Mathematica/14.1.0...
== fetching files...
== ... (took 4 secs)
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== ... (took 2 mins 5 secs)
== taking care of extensions...
== restore after iterating...
== postprocessing...
== sanity checking...
== ... (took 1 secs)
== cleaning up...
== creating module...
== permissions...
== ... (took 1 secs)
== packaging...
== COMPLETED: Installation ended successfully (took 2 mins 13 secs)
== Results of the build can be found in the log file(s) /cvmfs/system.phoebe.lan/software/Mathematica/14.1.0/easybuild/easybuild-Mathematica-14.1.0-20240822.133049.log
== Build succeeded for 1 out of 1
== Temporary log file(s) /mnt/cache/eb-dnp32pmc/easybuild-imh0edqi.log* have been removed.
== Temporary directory /mnt/cache/eb-dnp32pmc has been removed.
[swbuild@cvmfs2 site_local]$ eb --rebuild --include-easyblocks=./mathematica.py /home/swbuild/.local/easybuild/easyconfigs/m/Mathematica/Mathematica-13.1.0.eb
== Temporary log file in case of crash /mnt/cache/eb-n6nt75_w/easybuild-wefcpn4e.log
== found valid index for /home/swbuild/.local/easybuild/easyconfigs, so using it...
== processing EasyBuild easyconfig /home/swbuild/.local/easybuild/easyconfigs/m/Mathematica/Mathematica-13.1.0.eb
== building and installing Mathematica/13.1.0...
== fetching files...
== ... (took 3 secs)
== creating build dir, resetting environment...
== unpacking...
== ... (took 1 secs)
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== ... (took 1 min 58 secs)
== taking care of extensions...
== restore after iterating...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== ... (took 1 secs)
== packaging...
== COMPLETED: Installation ended successfully (took 2 mins 8 secs)
== Results of the build can be found in the log file(s) /cvmfs/system.phoebe.lan/software/Mathematica/13.1.0/easybuild/easybuild-Mathematica-13.1.0-20240822.133317.log
== Build succeeded for 1 out of 1
== Temporary log file(s) /mnt/cache/eb-n6nt75_w/easybuild-wefcpn4e.log* have been removed.
== Temporary directory /mnt/cache/eb-n6nt75_w has been removed.
[swbuild@cvmfs2 site_local]$ eb --rebuild --include-easyblocks=./mathematica.py /home/swbuild/.local/easybuild/easyconfigs/m/Mathematica/Mathematica-11.3.0.eb
== Temporary log file in case of crash /mnt/cache/eb-9wxz6mph/easybuild-srnscsia.log
== found valid index for /home/swbuild/.local/easybuild/easyconfigs, so using it...
== processing EasyBuild easyconfig /home/swbuild/.local/easybuild/easyconfigs/m/Mathematica/Mathematica-11.3.0.eb
== building and installing Mathematica/11.3.0...
== fetching files...
== ... (took 9 secs)
== creating build dir, resetting environment...
== unpacking...
== ... (took 4 secs)
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== ... (took 2 mins 26 secs)
== taking care of extensions...
== restore after iterating...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== permissions...
== ... (took 1 secs)
== packaging...
== COMPLETED: Installation ended successfully (took 2 mins 43 secs)
== Results of the build can be found in the log file(s) /cvmfs/system.phoebe.lan/software/Mathematica/11.3.0/easybuild/easybuild-Mathematica-11.3.0-20240822.133620.log
== Build succeeded for 1 out of 1
== Temporary log file(s) /mnt/cache/eb-9wxz6mph/easybuild-srnscsia.log* have been removed.
== Temporary directory /mnt/cache/eb-9wxz6mph has been removed.
[swbuild@cvmfs2 site_local]$ 

@jose-d jose-d marked this pull request as ready for review August 22, 2024 16:08
@Micket
Copy link
Contributor

Micket commented Aug 22, 2024

This PR would need to be rebased on 5.0.x branch, which should not use the new run_shell_cmd function (which is the primary check in 5.0.x.

@jose-d jose-d marked this pull request as draft August 23, 2024 06:51
@jose-d
Copy link
Contributor Author

jose-d commented Aug 23, 2024

I see. so related #3298.

@jose-d
Copy link
Contributor Author

jose-d commented Aug 23, 2024

oki, as I'm not sure how to rebase in existing PR, I'm opening new one here: #3419.

@jose-d jose-d closed this Aug 23, 2024
@boegel boegel added this to the 4.x milestone Aug 28, 2024
@boegel boegel added the update label Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants