Mathematica Linux Free

0 views
Skip to first unread message

Versie Rons

unread,
Jul 25, 2024, 11:58:43 PM7/25/24
to asarirleb

An issue with Mathematica 8 is a reproducible crash when performing WolframAlpha[] functions. By default, Mathematica is configured to detect the system's proxy settings when configuring how to connect to the internet to fetch data. A "bug" exists that will eventually crash Mathematica when the calling library is used. A workaround is to avoid this library call altogether by configuring Mathematica to "directly connect" to the internet. (Edit > Preferences > Internet Connectivity > Proxy Settings). This bug has been reported to Wolfram.

Install mathematicaAUR (need historical version). The Mathematica_10.XX.YY_LINUX.sh installation script is required; you will need to download this separately from Wolfram.com, your university, etc. You will also need an activation key.

Install mathematicaAUR. Obtain Mathematica_11.XX.YY_LINUX.sh from Wolfram Research, along with an activation key, and save it to the package build directory. Successful install may throw non-critical errors: xdg-icon-resource, mkdir, xdg-desktop-menu. For more details see the mathematica PKGBUILD file.

The Mathematica package includes a number of its own libraries, located in /SystemFiles/Libraries/Linux-x86-64. They may lead to some compatibility issues and fallback to the system versions of some of these libraries may be necessary.

I have a huge set of events in Mathematica that I need to react to, and it's not practical always checking for it, especially since events are randomly distributed in time.
So I wanted to add a simple sound to remind me to go check the event. I wanted to use Beep[] but I get no results, in fact, I didn't realize till now that Mathematica is making no sounds whatsoever.

As far as I know, Mathematica has never really supported sound in Linux. The command Play was introduced in version 3, and the whole sound system overhauled in version 6. If you search comp.soft-sys.math.mathematica, you'll find questions going back all the way to version 3. In version 6, the command EmitSound was introduced. This now underlies most of the Mathematica sound generation, but I couldn't find a quick way to fix/hack it for linux, since EmitSound does some preprocessing (figuring out what types of objects its been given) before passing the sound to the frontend to evaluate.

The default sound driver/API used in most linux installs is ALSA (wiki). It became the default in 2002 in the linux kernel 2.6 and OSS was marked as "depreciated" (although OSS is still under active development). Many Linux distributions now use PulseAudio which sits on top of the underlying ALSA sound. (Anyone with a better understanding of Linux sound should feel free to edit this!)

Mathematica introduced sound in version 3 (1996) and thus used OSS for its *nix variants. This is still the case, despite OSS no longer being the default in almost any Linux variant. Knowing this gives us a possible solution: use an OSS emulation layer (see, e.g., ).

The problem with both of these is that it only works with MIDI sounds, not with sampled sounds. At least this is true on my Ubuntu 10.10 system and the linux system of Scott Kruger (of the WRI Technical Support team).A bug report has been filed on this issue.

and you can add snd_pcm_oss and snd_mixer_oss to /etc/modules to load them at boottime.These modules are not readily available in Ubuntu 10.10 since they decided to remove the backwards compatibility. I can not test the above without recompiling my kernel...

Since the above OSS emulation is not currently working perfectly,here's a couple of quick work-arounds based on some of the discussions I've seen (e.g., a b c) and rewritten to use default ALSA commands.

This is essentially equivalent to setting $SoundDisplayFunction, as recommended by many of the discussions around the internet.This option setting will play the sound, then output the normal graphics.

Fortunately it works on my i686 laptop. So I tried to install it with schroot and also chroot on my x86_64 chrooting to my small i686 system inside. But none of them worked and I also had the same checksum (as outside chroot).

I tried many, many times to download it again from the webpage of the university but the checksum is always different. The checksum has also already been wrong on the x86_64 while for the i686 the same copy of the shell-script would have worked.

I think there must be something wrong with the checksum and the setup of my desktop. The problem is that the shell-script is quite huge (>1GB) so it's hard for me to look for what could not work in the shell-script and my arch machine. (The other reason is that my coding skills are pretty low.)

Mathematica 8.0.1 works fine here on Arch x64. Maybe the image that your university provides is corrupt. Maybe you could try to change line 4 in "Mathematica_8.0.1_LINUX.sh" to the MD5 sum that is computed in your version of mathematica - just to see if it installs then.
Greetings
matse

The problem lies in the fact that Mathematica is only available as an armhf binary; this no problem on Raspberry Pi OS, since it includes the necessary multilib libraries, but it is obviously a show stopper on arm64 Arch/Manjaro.

So even you have setup a Debian chroot - the chroot still runs atop of a 64-bit Arch kernel and this may be why the app is stalling - the app makes assumptions on the environment which is invalid - the specific instruction is most likely targeting another ABI and fixing such issue is hard if not impossible.

In either case, the author points out that the (64bit) kernel must be compiled with CONFIG_ARMV8_DEPRECATED=y for some necessary commands to be available. This is currently not the case for linux-rpi, so I will also have to compile a new kernel.

In either case, the author points out that the (64bit) kernel must be compiled with CONFIG_ARMV8_DEPRECATED=y for some necessary commands to be available.This is currently not the case for linux-rpi , so I will also have to compile a new kernel.

Update: The Raspberry Pi Mathematica executables now rely on the existence ofRaspberry Pi specific graphics interfaces being present in /dev. As a result,this method no longer works for recent releases.

Ensuring the correct shared libraries are in the places Mathematica expectsthem has the potential to be the most difficult part. For most thingsMathematica will check the LD_LIBRARY_PATH, but wants/lib/ld-linux-armhf.so.3 to exist and point to an appropriate glibc library.

to install an entire ALARM distribution for the new architecture to /armv6h,along with several libraries Mathematica will look for. Follow the Arch installguide to set up the locale, and perhaps install a terminfo package.

I have installed Mathematica Version 11.3 at a Linux system (openSUSE Leap 15.1) on a partition "math", i.e. separated from the Linux home and system partition. I have tried to send Mathematica expressions from SageMath to Mathematica in the manner described in the SageMath reference by using a SageMath Notebook or its command line interface. They are rejected with:

In the course of the installation of Mathematica I added the path to the math command line interface of Mathematica to the common PATH-sequence. Therefore I am able to access the Mathematica command line interface by simply entering math or the command:

using a bash-terminal outside SageMath. I have checked that I can do it without the need for specifying the complete path to math. However, entering the same command within a Sage-session by using the Python's OS- interface is only successful if the full path to math is specified:

The error appearing otherwise is the same as that one returned by the above described trials to send mathematica objects. The protocol shows that the mathematica objects are sent to Mathematica without detailed path info. Thus, obviously the SageMath-Mathematica interface does not recognize the complete path info that is availabe in the basic Linux system. Maybe the missing info is caused by the fact that Mathematica is located on a remote partition. Therefore my question: Is it possible to provide sageMath with the needed full path to math?

Comment: I am not using Mathematica and don't have it installed on my computer; I came to this answer by taking a look at the source code of SageMath's mathematica command, which one can easily access via the double question mark (it's so nice to be open-source ;-) ):

I am glad that it works. Actually this looks like a bug to me: this should work without the need to set up this environment variable by hand. I am waiting for the feedback from other Sage devs to see if we should open a ticket about it. Meanwhile, I am editing the answer to tell how I came to this workaround.

A large amount of software available to managed Engineering Linux computers is available via environment modules. These modules allow Engineering IT to distribute large software packages without having to install the software on individual machines. They also allow Engineering Linux users access to multiple versions of popular software, such as Mathematica or MATLAB.

While you may see a software module that you may want to use listed as available, some are only available to specific research groups or instructional labs due to difference in licensing or licenses purchased by individual research groups. For instance, in the above list you see two versions of the Abaqus module. The module called "abaqus" uses the general instructional license, while "abaqus-research" uses the research license.

That's all it takes to load a module and you may immediately begin using the software. Note that you do not need to use the full module name of software/version that is displayed through module avail unless you are trying to load a specific version of the software. In the example above, 'module load mathematica' and 'module load mathematica/8.0' would mean the same thing.

Although it is not necessary to unload modules when you are no longer using the software, by doing so you can switch between multiple versions of software while keeping your environment clean and consistent.

Reply all
Reply to author
Forward
0 new messages