cococry / lyssa

Aestethic, minimal, suckless music player
157 stars 5 forks source link

building error #2

Open formadi opened 4 months ago

formadi commented 4 months ago

❯ make [INFO] Building leif. make[1]: Entering directory '/home/elsa/workspace/lyssa' make -C ./vendor/leif/ make[2]: Entering directory '/home/elsa/workspace/lyssa/vendor/leif' mkdir lib gcc pkg-config --cflags glfw3 cglm libclipboard -Ivendor/glad/include -Ivendor/stb_image/ -Ivendor/stb_truetype -Ivendor/stb_image_resize -DLF_GLFW -O3 -ffast-math -c leif.c -o lib/leif.o Package libclipboard was not found in the pkg-config search path. Perhaps you should add the directory containing `libclipboard.pc' to the PKG_CONFIG_PATH environment variable Package 'libclipboard', required by 'virtual:world', not found gcc -c vendor/glad/src/glad.c -o lib/glad.o ar cr lib/libleif.a lib/.o make[2]: Leaving directory '/home/elsa/workspace/lyssa/vendor/leif' make[1]: Leaving directory '/home/elsa/workspace/lyssa' mkdir bin [INFO]: Building Lyssa. g++ -O3 -ffast-math -DGLFW_INCLUDE_NONE src/.cpp -o bin/lyssa -Ivendor/miniaudio -Ivendor/leif/include -Ivendor/leif/vendor/glad/include -lleif -lclipboard -Lvendor/leif/lib -lglfw -ltag -lm -Lvendor/miniaudio/lib -lminiaudio /usr/bin/ld: skipping incompatible vendor/miniaudio/lib/libminiaudio.a when searching for -lminiaudio /usr/bin/ld: cannot find -lminiaudio: No such file or directory collect2: error: ld returned 1 exit status make: *** [Makefile:26: build] Error 1

check please

cococry commented 4 months ago

I updated the installation instructions in the readme. Just execute the new instructions and you should be good to go :)

LA208602-Gouthiere commented 2 months ago

I have a similar error, am I supposed to install manually libclipboard ?

I'm on ubuntu

ue108@ue108-VirtualBox:~/projects$ cd lyssa
ue108@ue108-VirtualBox:~/projects/lyssa$ sudo apt install make gcc libglfw3 libglfw3-dev libcglm-dev libtag1-dev yt-dlp jq ffmpeg libimage-exiftool-perl
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
gcc is already the newest version (4:11.2.0-1ubuntu1).
jq is already the newest version (1.6-2.1ubuntu3).
libtag1-dev is already the newest version (1.11.1+dfsg.1-3ubuntu3).
make is already the newest version (4.3-4.1build1).
libcglm-dev is already the newest version (0.8.4-3).
libglfw3 is already the newest version (3.3.6-1).
libglfw3-dev is already the newest version (3.3.6-1).
libimage-exiftool-perl is already the newest version (12.40+dfsg-1).
yt-dlp is already the newest version (2022.04.08-1).
ffmpeg is already the newest version (7:4.4.2-0ubuntu0.22.04.1).
0 upgraded, 0 newly installed, 0 to remove and 61 not upgraded.
ue108@ue108-VirtualBox:~/projects/lyssa$ make && sudo make install
[INFO] Building leif.
make[1]: Entering directory '/home/ue108/projects/lyssa'
make -C ./vendor/leif/
make[2]: Entering directory '/home/ue108/projects/lyssa/vendor/leif'
mkdir lib
gcc `pkg-config --cflags glfw3 cglm` -Ivendor/glad/include -Ivendor/stb_image/ -Ivendor/stb_truetype -Ivendor/stb_image_resize -DLF_GLFW -O3 -ffast-math  -c leif.c -o lib/leif.o
leif.c:13:10: fatal error: libclipboard.h: No such file or directory
   13 | #include <libclipboard.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:9: lib/leif.o] Error 1
make[2]: Leaving directory '/home/ue108/projects/lyssa/vendor/leif'
make[1]: *** [Makefile:22: leif] Error 2
make[1]: Leaving directory '/home/ue108/projects/lyssa'
make: *** [Makefile:14: check-leif] Error 2
cococry commented 2 months ago

hey there, so you can either just build libclipboard urself by following those instructions: https://github.com/jtanx/libclipboard?tab=readme-ov-file#building

And also you would probably need to build cglm from source: https://github.com/recp/cglm?tab=readme-ov-file#-build

Or you can wait a bit (like 1 day) because i will add leif to be automatically building its dependencies into lyssa.

LA208602-Gouthiere commented 2 months ago

After doing this I still get warnings

[INFO]: Leif already built.
[INFO]: Building Lyssa.
g++ -O3 -ffast-math -DGLFW_INCLUDE_NONE -std=c++17 src/*.cpp -o bin/lyssa -Ivendor/miniaudio -Ivendor/leif/include -Ivendor/leif/vendor/glad/include -Ivendor/stb_image_write -lleif -lclipboard -Lvendor/leif/lib -lglfw -ltag -lm -Lvendor/miniaudio/lib -lminiaudio -lxcb 
src/lyssa.cpp: In function ‘void renderOnPlaylist()’:
src/lyssa.cpp:1434:15: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1434 |         system(std::string(LYSSA_DIR + "/scripts/download-yt.sh \"" + currentPlaylist.url + "\" " + LYSSA_DIR + "/downloaded_playlists/ &").c_str());
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lyssa.cpp: In function ‘int main(int, char**)’:
src/lyssa.cpp:3533:11: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 3533 |     system("pkill yt-dlp");
      |     ~~~~~~^~~~~~~~~~~~~~~~
src/lyssa.cpp: In function ‘void renderDownloadPlaylist()’:
src/lyssa.cpp:1200:17: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1200 |           system(downloadCmd.c_str());
      |           ~~~~~~^~~~~~~~~~~~~~~~~~~~~
src/lyssa.cpp:1232:13: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1232 |       system(downloadThumbnailCmd.c_str());
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lyssa.cpp:1311:15: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1311 |         system("pkill yt-dlp &");
      |         ~~~~~~^~~~~~~~~~~~~~~~~~
src/popups.cpp: In member function ‘virtual void PlaylistFileDialoguePopup::render()’:
src/popups.cpp:277:19: warning: ignoring return value of ‘int system(const char*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  277 |             system(cmd.c_str());
      |             ~~~~~~^~~~~~~~~~~~~

And then when I run the app, it opens and instantly closes with the message : buffer overflow detected : terminated Aborted (core dumped)

I'm running it on virtual box, is this a ressources issue ?

cococry commented 2 months ago

does it give you any other error? and does the window open or does it instantly just terminate?

LA208602-Gouthiere commented 2 months ago

no other error, the window simply opens then closes itself with this message in the terminal

cococry commented 2 months ago

Try if opening a GLFW window works:

https://github.com/cococry/lyssa/issues/8#issuecomment-2104664878

LA208602-Gouthiere commented 2 months ago

The Hello World windows opens, but I get this message in the terminal

MESA: error: ZINK: failed to choose pdev glx: failed to create drisw screen

cococry commented 2 months ago

okay bro so i disabled threading by default now. Try pulling and rebuilding and see if the error still persists. But thats the main thing thats unstable right now so it should technically work now.

LA208602-Gouthiere commented 2 months ago

Getting this error

MESA: error: ZINK: failed to choose pdev
glx: failed to create drisw screen
*** buffer overflow detected ***: terminated
Aborted (core dumped)
cococry commented 2 months ago

i'm sorry but it looks like your graphics driver isn't capable of starting the app. it's likely that that is due to the fact that you are in a vm. But you could try going into the src/Window.hpp file and search for glfwSwapInterval and remove the line that contains that. Maybe that could help.

LA208602-Gouthiere commented 2 months ago

When I turn on hardware acceleration, this error disappears :

MESA: error: ZINK: failed to choose pdev
glx: failed to create drisw screen

and then I get the buffer overflow error.

I'll try to install your program on a native Linux as soon as I get the chance.

prljav commented 2 months ago

compile it from source from here