Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erorrs in bundle process on Ubuntu 20.04 #5

Open
trenta3 opened this issue Nov 1, 2021 · 3 comments
Open

Erorrs in bundle process on Ubuntu 20.04 #5

trenta3 opened this issue Nov 1, 2021 · 3 comments

Comments

@trenta3
Copy link

trenta3 commented Nov 1, 2021

Thank you very much for this project!
I'm encountering a couple of problems when building and bundling all of luapower on an Ubuntu 20.04 docker.

In particular:

  1. The mgit repositories logging and queue are not available for download from github
  2. Some build scripts have to be grated execution permissions
  3. In bundling I continue receiving the error
    patch: **** Can't create file ../../../bundle/luajit.c : Invalid cross-device link
    
    which I don't know how to resolve.

My current build process:

user$ docker run -it --rm ubuntu:20.04 bash
docker# apt update -y && apt install -y git make build-essential gcc cmake libasound-dev
docker# git clone https://github.com/capr/multigit luapower
docker# cd luapower
docker# ./mgit clone https://github.com/luapower/luapower-repos
docker# ./mgit clone-all
...
Initialized empty Git repository in /luapower/.mgit/logging/.git/
Username for 'https://github.com': 
...
Initialized empty Git repository in /luapower/.mgit/queue/.git/
Username for 'https://github.com': 
docker# cd csrc
docker# for dir in $(ls -1); do (cd "$dir" && chmod +x build*.sh); done
docker# cd ..
docker# ./mgit build-all --all
...
docker# # ./mgit bundle -a --all -m --all -M main -o mainout
luajit: ui_list.lua:16: '<name>' expected near 'if'
{standard input}: Assembler messages:
{standard input}:6: Error: file not found: .bundle-tmp/linux64/ui_list.lua.o.luac
patch: **** Can't create file ../../../bundle/luajit.c : Invalid cross-device link
g++: error: .bundle-tmp/linux64/ui_list.lua.o: No such file or directory
chmod: cannot access 'mainout': No such file or directory

docker# ./mgit bundle -a 'sha2' -m 'sha2' -M main -o mainout
patch: **** Can't create file ../../../bundle/luajit.c : Invalid cross-device link
@capr
Copy link
Member

capr commented Nov 1, 2021

Hi. Thanks for the heads up.

  1. I added the queue and logging modules to the zip file (FYI modules are always available to download from github from their own repos since that's how I develop all modules, but sometimes I wait a little before I add them to the luapower-all bundle).
  2. Fixed. Sorry about that, I develop on Windows and sometimes forget. To fix that yourself you can do mgit --all update-perms.
  3. Looks like you have a file-not-found before that? In general, don't use -a to bundle the whole luapower since not all modules are stable (eg. you should not have any expectations about the WIP ones). Only bundle what you need and know what you're doing (read the code, run the demos etc.).

@capr
Copy link
Member

capr commented Nov 1, 2021

Wait, I see that you get an error even with just sha2... So the file-not-found is irrelevant to this. Hmm, why does patch try to create a hard-link? which it can't do since you're on docker? Try bundling outside docker see if that works at least... sorry if I can't be of much help with that.

@trenta3
Copy link
Author

trenta3 commented Nov 1, 2021

Thank you a lot for the very quick reply!
Yes I get an error with just sha2. I think the Invalid cross-device link is due to patch trying to patch a file ../../../bundle/luajit.c which is trying to go up more levels than available in the repository.
I also get the same error when trying to locally bundle luapower (on Fedora).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants