oprypin / crsfml

Crystal bindings to SFML multimedia/game library
https://oprypin.github.io/crsfml
zlib License
350 stars 14 forks source link

Execution of command failed in Gentoo #43

Closed Fulgurance closed 2 years ago

Fulgurance commented 2 years ago

Hello, today I tried to install crsfml for a project I have, and I just followed your Wiki to install and tried with the example provided. I have the same SFML version as the version file, and it's the same ( the last version: 2.5.1)

When I tried to run the snake example, I had this error (I didn't have an error when shard builded sfml for crystal):


~/Documents/Programmation/Crystal SFML ❯❯❯ eix sfml
[I] media-libs/libsfml
     Available versions:  2.5.1(0/2.5) {debug doc examples}
     Installed versions:  2.5.1(0/2.5)(20:10:28 04/12/2021)(-debug -doc -examples)
     Homepage:            https://www.sfml-dev.org/ https://github.com/SFML/SFML
     Description:         Simple and Fast Multimedia Library (SFML)

~/Documents/Programmation/Crystal SFML ❯❯❯ cp lib/crsfml/examples/snakes.cr .
~/Documents/Programmation/Crystal SFML ❯❯❯ crystal snakes.cr 
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld : ne peut pas trouver /home/zohran/Documents/Programmation/Crystal : Aucun fichier ou dossier de ce type
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld : ne peut pas trouver SFML/lib/crsfml/src/graphics/ext.o : Aucun fichier ou dossier de ce type
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld : ne peut pas trouver /home/zohran/Documents/Programmation/Crystal : Aucun fichier ou dossier de ce type
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld : ne peut pas trouver SFML/lib/crsfml/src/window/ext.o : Aucun fichier ou dossier de ce type
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld : ne peut pas trouver /home/zohran/Documents/Programmation/Crystal : Aucun fichier ou dossier de ce type
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld : ne peut pas trouver SFML/lib/crsfml/src/system/ext.o : Aucun fichier ou dossier de ce type
collect2: erreur: ld a retourné le statut de sortie 1
Error: execution of command failed with code: 1: `cc "${@}" -o /home/zohran/.cache/crystal/crystal-run-snakes.tmp  -rdynamic -L/usr/bin/../lib/crystal /home/zohran/Documents/Programmation/Crystal SFML/lib/crsfml/src/graphics/ext.o -lsfml-graphics -lsfml-window -lsfml-system  /home/zohran/Documents/Programmation/Crystal SFML/lib/crsfml/src/window/ext.o -lsfml-window -lsfml-system  /home/zohran/Documents/Programmation/Crystal SFML/lib/crsfml/src/system/ext.o -lsfml-system  -lstdc++ -lpcre -lm -lgc -lpthread -levent  -lrt -ldl`
oprypin commented 2 years ago

Did you install crsfml via shards, which would've run postinstall? If not, did you run make inside crsfml folder?

Fulgurance commented 2 years ago

But normally shards do that automatically no ? It's write: During installation this will invoke make to build the C++ wrappers as object files. If that fails, see Custom SFML location.

And I didn't have any error messages about that. But I will try your suggestion

Fulgurance commented 2 years ago

And nothing:

~/Documents/Programmation/Crystal SFML/lib/crsfml ❯❯❯ LC_ALL=C make -j16
make: Nothing to be done for 'all'.
oprypin commented 2 years ago

You're correct that it should've just worked. make manually is a fallback. Unfortunately I don't think I'll be able to solve your issue with just this information

Fulgurance commented 2 years ago

No worries, very nice of you to help me :)

oprypin commented 2 years ago

Oh sorry, actually it really seems like the issue is coming from the space character in the name of the directory "Crystal SFML". Please rename it as a workaround. And I should fix this issue later.

Fulgurance commented 2 years ago

Yes ! This solve the problem xD. It was so simple