Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Making a Simple Deb Package NixOS Compatible (Mathematica's wolframscript)

Tags:

nix

nixos

Consider this simple debian package: wolframscript.deb. After unpacking, it has the following file structure:

├── opt
│   └── Wolfram
│       └── WolframScript
│           └── bin
│               └── wolframscript
└── usr
    ├── local
    │   └── share
    │       └── man
    │           └── man1
    │               └── wolframscript.1
    └── share
        ├── icons
        │   └── hicolor
        │       ├── 128x128
        │       │   └── mimetypes
        │       │       └── application-vnd.wolfram.wls.png
        │       ├── 32x32
        │       │   └── mimetypes
        │       │       └── application-vnd.wolfram.wls.png
        │       └── 64x64
        │           └── mimetypes
        │               └── application-vnd.wolfram.wls.png
        └── mime
            └── packages
                └── application-vnd.wolfram.wls.xml

The only relevant file is the opt/Wolfram/WolframScript/bin/wolframscript binary (I think). I tried executing this plainly but I get a bash: ./wolframscript: No such file or directory error. How do I make this binary/package usable in NixOS?


EDIT: Answering Bastian's question:

$ file "$F"
opt/Wolfram/WolframScript/bin/wolframscript: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=7df4a6e1ea2c78bdac9b63bdb6a8486dcfa19876, stripped
NixBox:/home/george/Downloads/wolframscriptdeb
$ strace "$F"
execve("opt/Wolfram/WolframScript/bin/wolframscript", ["opt/Wolfram/WolframScript/bin/wo"...], 0x7ffcf5578410 /* 82 vars */) = -1 ENOENT (No such file or directory)
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
getpid()                                = 32004
exit_group(1)                           = ?
+++ exited with 1 +++

$ opt/Wolfram/WolframScript/bin/wolframscript -cloud -code 2+2
bash: opt/Wolfram/WolframScript/bin/wolframscript: No such file or directory
like image 370
George Avatar asked Oct 17 '22 15:10

George


1 Answers

It seems there are libraries missing.

What is the output of

F='opt/Wolfram/WolframScript/bin/wolframscript'
file "$F"
strace "$F"
like image 187
Bastian Bittorf Avatar answered Oct 21 '22 03:10

Bastian Bittorf