Closed domichel closed 7 months ago
Thanks for your interest in Luz and this really good issue report.
I'm afraid I can't help with the build issues. Note that you don't need the Spectrum Analyzer, and you can do without the Input Manager (though you'll be limited to mouse and keyboard keys for input).
I've actually been working on Luz 3, built from scratch on the Godot game engine, so it naturally runs on Linux, OSX, Windows, and more. Very nice to not have to deal with porting at all. It's not released yet but will be soon.
Thanks for your fast answer.
I get the input manager to compile and it seam to work fine. I will need utils/video_file and it compiled fine. But Luz crash at startup:
$ ./go
Using Ruby 3.2.3
Using SDL2 bindings version 0.3.6
/home/dom/softs/Luz/utils/sdl_application.rb:134: warning: undefining the allocator of T_DATA class SDL2::GL::Context
Running at 1920x1080 @ 0bpp, 60fps (max)
/home/dom/.local/share/gem/ruby/3.2.0/gems/syck-1.4.1/lib/syck.rb:142: warning: undefining the allocator of T_DATA class Syck::Node
/home/dom/softs/Luz/engine/engine/engine_images.rb:74:in `block in find_file_by_relative_path': undefined method `exists?' for File:Class (NoMethodError)
File.exists?(p)
^^^^^^^^
Did you mean? exist?
from /home/dom/softs/Luz/engine/engine/engine_images.rb:73:in `each'
from /home/dom/softs/Luz/engine/engine/engine_images.rb:73:in `find'
from /home/dom/softs/Luz/engine/engine/engine_images.rb:73:in `find_file_by_relative_path'
from /home/dom/softs/Luz/engine/engine/engine_images.rb:30:in `load_images'
from /home/dom/softs/Luz/engine/engine/engine_images.rb:13:in `load_image'
from /home/dom/softs/Luz/gui/gui_interface.rb:7:in `initialize'
from /home/dom/softs/Luz/gui/gui_default.rb:27:in `initialize'
from luz.rb:52:in `new'
from luz.rb:52:in `block in <main>'
from luz.rb:54:in `<main>'
Congrats on getting it compiled. :)
It looks like you're using Ruby 3.2.3
It looks like Ruby 3.2 removed File.exists? in favor of File.exist? so you could try just removing that "s'. But there will likely be more changes needed. I recommend trying earlier Ruby versions. Any Ruby version before 3.2 should avoid that issue.
The last version I used with Luz 2 was Ruby 2.5.1, so that is known to work. The latest Ruby 2 version seems to be 2.7.8, so that might be worth a try.
The oldest gentoo ruby version is 3.1, and I have both 3.1 and 3.2 installed. After shifting to 3.1, Luz is running and the demo is working fine. Thank You for the good work.
Now, I am ready to follow the video tutorials. And how do I find utils/video_file in Luz?
And how do I find utils/video_file in Luz?
That's a directory with more code to compile to be able to play videos.
I get the spectrum-analyzer to compile. The issue is that gtkglextm is outdated on gentoo, and as nothing depend on it into the main tree, it was removed. Is is possible to download an ebuild here: https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-cpp/gtkglextmm?id=deba87d7ea08f6e3457289c2df004f2afb65c510
EDIT: Into it, it is just to change the EAPI to EAPI=8 and it work fine.
Into the spectrum-analyzer Makefile, I changed:
gcc -o spectrum-analyzer *.cc -lasound -lm -lstdc++ `pkg-config --cflags --libs fftw3 gl glu liblo gtkmm-2.4 gtkglextmm-1.2`
and it compile fine.
I get several errors:
1:
2:
I changed the following into input-manager/Makefile:
wiimote don't exist on gentoo and this was causing an error too, so I removed that option. -lporttime don't exist in my system. Not sure, I guess a part of portmidi on some systems.
I get:
x11-libs/gtkglext-1.2.0 is installed.
I changed spectrum-analyzer/Makefile:
and now I get:
In my system, drawingarea.h is in usr/include/gtkmm-2.4/gtkmm/drawingarea.h gtkglmm.h don't exist, and I don't know for init.h:
Partial output of 'locate init.h':
And I don't know what to do here.