Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#999803: missing dependencies in the emscripten package

88 views
Skip to first unread message

Ophir Lojkine

unread,
Nov 16, 2021, 4:40:03 PM11/16/21
to
Package: emscripten
Version: 2.0.12~dfsg-2


It looks like the emscripten debian package contains a few errors. It does not contain symlinks to the emscripten executables in the emscripten root directory, which makes compilation with emcmake fail. The missing symlinks are:

sudo ln -s /usr/share/emscripten/emcc.py /usr/share/emscripten/emcc && \
sudo ln -s /usr/share/emscripten/emar.py /usr/share/emscripten/emar && \
sudo ln -s /usr/share/emscripten/emranlib.py /usr/share/emscripten/emranlib && \
sudo ln -s /usr/share/emscripten/em++.py /usr/share/emscripten/em++
The package misses a dependency to the acorn js library, which raises the following error:

Error: Cannot find module 'acorn'
Require stack:
- /usr/share/emscripten/tools/acorn-optimizer.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/usr/share/emscripten/tools/acorn-optimizer.js:1:13)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/usr/share/emscripten/tools/acorn-optimizer.js' ]
}
emcc: error: '/usr/local/bin/node /usr/share/emscripten/tools/acorn-optimizer.js /tmp/emscripten_temp_g7n6r4of/highs.js.pp.js AJSDCE --closureFriendly' failed (1)
 


Tested while compiling https://github.com/ERGO-Code/HiGHS (as a part of https://github.com/lovasoa/highs-js )

Ophir Lojkine

unread,
Nov 16, 2021, 5:00:03 PM11/16/21
to
emscripten also depends on closure-compiler, which is not listed as a
dependency to the emscripten package

Ophir Lojkine

unread,
Nov 16, 2021, 5:40:04 PM11/16/21
to
There is also a bug in debian's patch to tools/building.py :

https://github.com/emscripten-core/emscripten/issues/15545


On 16/11/2021 22:51, Debian Bug Tracking System wrote:
> Thank you for the additional information you have supplied regarding
> this Bug report.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> Debian Javascript Maintainers <pkg-javasc...@lists.alioth.debian.org>
>
> If you wish to submit further information on this problem, please
> send it to 999...@bugs.debian.org.
>
> Please do not send mail to ow...@bugs.debian.org unless you wish
> to report a problem with the Bug-tracking system.
>

Jonas Smedegaard

unread,
Nov 16, 2021, 7:50:03 PM11/16/21
to
Quoting Ophir Lojkine (2021-11-16 22:47:04)
> emscripten also depends on closure-compiler, which is not listed as a
> dependency to the emscripten package

Please file each issue separately.

- Jonas

--
* Jonas Smedegaard - idealist & Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/

[x] quote me freely [ ] ask before reusing [ ] keep private
signature.asc

Jonas Smedegaard

unread,
Nov 16, 2021, 8:10:03 PM11/16/21
to
Hi Ophir,

Quoting Ophir Lojkine (2021-11-16 22:30:03)
> It looks like the emscripten debian package contains a few errors. It
> does not contain symlinks to the emscripten executables in the
> emscripten root directory, which makes compilation with emcmake fail.
> The missing symlinks are:
>
> sudo ln -s /usr/share/emscripten/emcc.py /usr/share/emscripten/emcc && \
> sudo ln -s /usr/share/emscripten/emar.py /usr/share/emscripten/emar && \
> sudo ln -s /usr/share/emscripten/emranlib.py
> /usr/share/emscripten/emranlib && \
> sudo ln -s /usr/share/emscripten/em++.py /usr/share/emscripten/em++

Debian packaging of emscripten provides executables in $PATH.

Please try use those.


> The package misses a dependency to the acorn js library, which raises the following error:
>
> Error: Cannot find module 'acorn'
> Require stack:
> - /usr/share/emscripten/tools/acorn-optimizer.js
> at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
> at Function.Module._load (node:internal/modules/cjs/loader:778:27)
> at Module.require (node:internal/modules/cjs/loader:1005:19)
> at require (node:internal/modules/cjs/helpers:102:18)
> at Object.<anonymous> (/usr/share/emscripten/tools/acorn-optimizer.js:1:13)
> at Module._compile (node:internal/modules/cjs/loader:1101:14)
> at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
> at Module.load (node:internal/modules/cjs/loader:981:32)
> at Function.Module._load (node:internal/modules/cjs/loader:822:12)
> at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
> code: 'MODULE_NOT_FOUND',
> requireStack: [ '/usr/share/emscripten/tools/acorn-optimizer.js' ]
> }
> emcc: error: '/usr/local/bin/node /usr/share/emscripten/tools/acorn-optimizer.js /tmp/emscripten_temp_g7n6r4of/highs.js.pp.js AJSDCE --closureFriendly' failed (1)

emscripten 2.0.12~dfsg-2 depends on node-acorn, so the cause for above
error must be a different one.
signature.asc

Ophir Lojkine

unread,
Nov 17, 2021, 6:40:03 AM11/17/21
to

> Debian packaging of emscripten provides executables in $PATH.
>
> Please try use those.

It's not me who is trying to use the executables from
/usr/share/emscripten, it's emscripten itself. Notably, emcmake requires
it in /usr/share/emscripten/cmake/Modules/Platform/Emscripten.cmake,
which is where I initially encountered the error, but the entire
codebase of emscripten expects the executables to be present in
EMSCRIPTEN_ROOT, which is /usr/share/emscripten/ in debian.

> emscripten 2.0.12~dfsg-2 depends on node-acorn, so the cause for above
> error must be a different one.

Well, you can try it yourself. The require in
/usr/share/emscripten/tools/acorn-optimizer.js fails unless acorn is
manually installed to  /usr/share/emscripten/node_modules.
0 new messages