Open blasphemetheus opened 1 year ago
https://github.com/blasphemetheus/gchess/actions/runs/5148659826/jobs/9270657949
This is an example run of a github action using a yaml file (link to yaml file) https://github.com/blasphemetheus/gchess/blob/main/.github/workflows/elixir.yml
@blasphemetheus is this still an issue for you?
Checklist
Versions and Environment
Elixir:
Erlang:
Scenic:
OS:
Steps to reproduce
Try to run the scenic new app and do
mix scenic.run
ormix deps.get && mix test
. Do it on Ubuntu 22.04 LTSB.Notice that the C library dependencies (I tried
sudo apt-get install pkgconf libglfw3 libglfw3-dev libglew2.2 libglew-dev
do not appear to work properly)I also tried "libtommath1" because there was a reference to tommy in the error msg, but that didn't help.
Expected Behavior
The documented dependencies for scenic should compile on the current LTSB Ubuntu version. I'm not interested in downgrading an OS to run an app. I'd like to be able to use scenic. Apparently there are undocumented dependencies for scenic on Ubuntu. I also had trouble deploying to raspberry pi (older debian version), but I'm sure that's fixable by trying some combination of the documented old dependencies.
Oh actually, dependencies compiled with warnings. Then running scenic didn't work. Expected behavior is to apt-get documented C dependencies for all the reasonable versions in use, have a UI pop if doing mix scenic.run. Not error out.
Actual Behavior
Stack Trace
cenic mkdir -p /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../priv mkdir -p /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../obj cc -c -I/home/runner/work/_temp/.setup-beam/otp/usr/include -fPIC -o /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../obj/line.o c_src/line.c cc /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../obj/line.o -L/home/runner/work/_temp/.setup-beam/otp/usr/lib -shared -dynamiclib -o /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../priv/line.so cc -c -I/home/runner/work/_temp/.setup-beam/otp/usr/include -fPIC -o /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../obj/matrix.o c_src/matrix.c cc /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../obj/matrix.o -L/home/runner/work/_temp/.setup-beam/otp/usr/lib -shared -dynamiclib -o /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../priv/matrix.so cc -c -I/home/runner/work/_temp/.setup-beam/otp/usr/include -fPIC -o /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../obj/bitmap.o c_src/bitmap.c cc /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../obj/bitmap.o -L/home/runner/work/_temp/.setup-beam/otp/usr/lib -shared -dynamiclib -o /home/runner/work/gchess/gchess/_build/test/lib/scenic/ebin/../priv/bitmap.so Compiling 84 files (.ex) Generated scenic app ==> scenic_driver_local Compiling 8 files (.ex) warning: use Bitwise is deprecated. import Bitwise instead Warning: lib/to_port.ex:9: Scenic.Driver.Local.ToPort
Generated scenic_driver_local app SCENIC_LOCAL_TARGET: glfw mkdir -p /home/runner/work/gchess/gchess/_build/test/lib/scenic_driver_local/priv cc -O3 -std=c99
pkg-config --static --cflags glfw3 glew
-fPIC -o /home/runner/work/gchess/gchess/_build/test/lib/scenic_driver_local/priv/scenic_driver_local c_src/device/glfw.c c_src/main.c c_src/nanovg/nanovg.c c_src/comms.c c_src/unix_comms.c c_src/utils.c c_src/script.c c_src/image.c c_src/font.c c_src/tommyds/src/tommyhashlin.c c_src/tommyds/src/tommyhash.cpkg-config --static --libs glfw3 glew
-lGL -lm -lrt In file included from c_src/tommyds/src/tommyhash.h:35, from c_src/tommyds/src/tommyhashlin.h:143, from c_src/tommyds/src/tommyhashlin.c:28: c_src/tommyds/src/tommyhashlin.c: In function ‘tommy_hashlin_done’: c_src/tommyds/src/tommytypes.h:102:20: warning: ‘free’ called on pointer ‘*(tommy_hashlin_node **)((char )hashlin+ ivtmp*8)’ with nonzero offset [512, 17179869184] [-Wfree-nonheap-object] 102 | #define tommy_free free c_src/tommyds/src/tommyhashlin.c:82:17: note: in expansion of macro ‘tommy_free’ 82 | tommy_free(&segment[((tommy_ptrdiff_t)1) << i]); | ^~~~~~ ==> genomeur Compiling 46 files (.ex)Additional Comments
Scenic is Great. Just need documentation of it's out of elixir-scope dependencies. C Libraries I think. It's not useful if it break for opaque reasons on random OS's.