revery-ui/revery

Failure to build examples on Arch linux

Opened this issue · 11 comments

I installed everything mentioned on the build instructions and got this error:

$ esy x Examples
...
error: build failed with exit code: 1
  build log:
    # esy-build-package: building: esy-nasm@github:revery-ui/esy-nasm#64a802b
    # esy-build-package: pwd: /home/justin/.esy/3/b/esy_nasm-f2002482
    # esy-build-package: running: 'bash' 'esy-build.sh' 'linux'
    Error: nasm is not installed
    error: command failed: 'bash' 'esy-build.sh' 'linux' (exited with 1)
    esy-build-package: exiting with errors above...

After I installed nasm, I hit /bin/sh: clang: command not found. After installing clang, the examples finally ran.

Perhaps these should be added to build instructions?

Et7f3 commented

It is weird I have managed to build revery inside a arch docker with the instruction I wrote.

Perhaps you already had nasm / clang installed? The instructions don't mention them, and both seem to be required to build the examples.

Et7f3 commented

Do you see esy-nasm in the esy.lock folder ?

No. This is what my esy.lock folder looks like: https://gist.github.com/justinmoon/ce76e4635529b837524a19cc609c0569

Here's a tarball of that directory in case that helps: esy.lock.tar.gz

Et7f3 commented

Can you send also esy.lock/index.json

Here's the index.json. Had to upload as index.txt b/c GitHub wouldn't allow a .json extension ...

Et7f3 commented

Because we make sure it is available for you: https://github.com/revery-ui/revery/blob/master/esy.lock/index.json#L315-L326.
esy-nasm is required by esy-libjpeg-turbo
can you clone it: https://github.com/revery-ui/libjpeg-turbo, remove nasm, run esy inside. Does it build ? If no can you send the error.

It is very strange because: I have a arch without nasm and it build.

Ok it is because we have added support for CentOS so we don't download nasm.

Thanks it is modified.

Et7f3 commented

@bryphe What should we do ? Should we mix the old with the new bahaviour ? revery-ui/esy-nasm@64a802b

@Et7f3 - the best fix would be to get esy-nasm building across CentOS and all Linux - fix whatever issues are blocking it - then we have it in our esy sandbox and don't have to think about it.

Otherwise, we should add it to the docs as a dependency.

I'm getting the same issue on Ubuntu 20.04, but I have clang and nasm in my PATH on my host and it's still saying that nasm isn't intalled. How did you get it working @justinmoon ?

@zicklag I just went through the process of figuring out how to get Revery building on Ubuntu 20.04 last night, this is what I had to do:

  1. Install all the packages listed here: https://github.com/revery-ui/revery/wiki/Building-&-Installing#for-linux-users
  2. Make sure you're on a recent version of esy
  3. Then I used this configuration for package.json: https://github.com/kyldvs/template-revery-app

(step 1 installing nasm fixed the missing nasm issue for me)

Edit: One of the main problems I had to figure out is that the note about adding a resolution for harfbuzz in the wiki isn't quite right, and the linked commit doesn't build on ubuntu (due to Et7f3/esy-harfbuzz#1), so this line is important: https://github.com/kyldvs/template-revery-app/blob/main/package.json#L42