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

Not finding libfmt but libfmt-dev version 5.2.1 installed #2719

Closed
Exarkuniv opened this issue Jan 31, 2022 · 18 comments
Closed

Not finding libfmt but libfmt-dev version 5.2.1 installed #2719

Exarkuniv opened this issue Jan 31, 2022 · 18 comments

Comments

@Exarkuniv
Copy link

Thank you for supporting EasyRPG Player.
Before creating an issue, please verify that your bug still occurs in the "continuous builds" of the Player.
You can get them at the bottom of our download section: https://easyrpg.org/player/downloads


Please fill in the following fields before submitting an issue:

Name of the game: N/A

Player platform:

Linux
Raspberry Pi4/ Buster Debian 10

Attach files (as a .zip archive or link them)

  • A savegame next to the problem (if it is not at the beginning of the game) N/A
  • The easyrpg_log.txt log file (you can find it in the game directory) N?A

Describe the issue in detail and how to reproduce it:

I took over for zerojay who had a script written for have this install on RetroPie and Raspberry's Pis. right not it does not work. it is failing when looking for libfmt, which is installed with libfmt-dev version 5.2.1 it will come up with a prompt for me to install 5.3 or higher, but i know from looking in the issues that you guys it allowed to build with older then 5.3
i know that it is pulling the least build from GuitHub

@Ghabry
Copy link
Member

Ghabry commented Jan 31, 2022

Thanks for the report.

This happens in some build environments and we are not sure why (maybe related to crosscompiling?).

As a workaround you could use CMake as this is supported by fmt 5.2 natively.

@Exarkuniv
Copy link
Author

thanks for the quick response. ill give that a try and report back

@Exarkuniv
Copy link
Author

ok now that i have taken a better look at whats going. it is failing to find FMT when i run ./configure --prefix=/usr --enable-fmmidi=fallback
i dont even get to running cmake

@carstene1ns
Copy link
Member

You do not need to run the autoconf stuff when using cmake:

# clone Player repo / use release tarball
cmake . -DCMAKE_BUILD_TYPE=Release -DPLAYER_BUILD_LIBLCF=ON
cmake --build .
# move the 'easyrpg-player' executable where you want it

@carstene1ns carstene1ns added the Needs feedback Waiting for the issue author to give further information. label Jan 31, 2022
@Exarkuniv
Copy link
Author

that seemed to work better. it did end up getting a error at the end, but im also getting some other things working weird on my end. so im going to redo my load and start from a clean image and ill report back

@Exarkuniv
Copy link
Author

ok i did a clean image and tried it again i still get a error at the end

[ 98%] Linking CXX executable easyrpg-player
/usr/bin/ld: cannot find -lbcm_host
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/EasyRPG_Player_exe.dir/build.make:109: easyrpg-player] Error 1
make[1]: *** [CMakeFiles/Makefile2:193: CMakeFiles/EasyRPG_Player_exe.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

@Ghabry
Copy link
Member

Ghabry commented Jan 31, 2022

This is a library used by the raspberry firmware. No idea honestly why this is pulled in as a dependency.

Could you attach the CMakeCache.txt ?

@carstene1ns
Copy link
Member

I suspect it is needed by SDL. However, no idea how the build is invoked, as it should be present in the environment. There have been issues with arm64 version, but this should not matter here.

@Exarkuniv
Copy link
Author

well i have downloaded both
https://github.com/EasyRPG/Player.git and https://github.com/EasyRPG/liblcf.git

    cd liblcf
    cmake . -DCMAKE_BUILD_TYPE=Release
    cmake --build .
    cmake --build . --target install
   
    cd ..
    cmake . -DCMAKE_BUILD_TYPE=Release -DPLAYER_BUILD_LIBLCF=ON
    cmake --build .

CMakeCache.txt

https://pastebin.com/YgzF9kr2

@carstene1ns
Copy link
Member

You can leave out the liblcf part, as PLAYER_BUILD_LIBLCF uses an internal copy.

Did you install libraspberrypi-dev and libraspberrypi-bin packges?

@Exarkuniv
Copy link
Author

Exarkuniv commented Feb 2, 2022

ok ill remove downloading and building liblcf now.
and libraspberrypi-dev and libraspberrypi-bin packages are alread installed on the bad image it seems since when i try to install them. it says it already is there i have version 1:1.20211201~buster-1 for both of those

@Ghabry
Copy link
Member

Ghabry commented Feb 2, 2022

I think this is a bug in our FindSDL2 file. The additional library dirs are not included.

My guess to solve this is:

https://github.com/EasyRPG/Player/blob/master/builds/cmake/Modules/FindSDL2.cmake#L269

Add two more lines here:

set_property(TARGET SDL2::SDL2 APPEND_STRING PROPERTY
 INTERFACE_INCLUDE_DIRECTORIES "${SDL2PC_STATIC_LIBRARY_DIRS}")

@Ghabry Ghabry removed the Needs feedback Waiting for the issue author to give further information. label Feb 2, 2022
@Exarkuniv
Copy link
Author

i did that and i get this

-- Configuring done
CMake Error in CMakeLists.txt:
  Imported target "SDL2::SDL2main" includes non-existent path

    "/usr/include/SDL2/opt/vc/lib"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

and

[  2%] Building CXX object CMakeFiles/EasyRPG_Player.dir/src/audio_midi.cpp.o
In file included from /home/pi/RetroPie-Setup/tmp/build/easyrpg-player/src/decoder_opus.h:22,
                 from /home/pi/RetroPie-Setup/tmp/build/easyrpg-player/src/audio_decoder.cpp:30:
/usr/include/opus/opusfile.h:110:11: fatal error: opus_multistream.h: No such file or directory
 # include <opus_multistream.h>
           ^~~~~~~~~~~~~~~~~~~~
compilation terminated.

@carstene1ns
Copy link
Member

Looks like the directories have been wrongly concatenated.

@Exarkuniv
Copy link
Author

is that something that i can change, or is it more on your end.
sorry for being kinda a burden. i know nothing when it comes to programming,
i know enough to run commands, and thats about it

@Ghabry
Copy link
Member

Ghabry commented Feb 4, 2022

Read the CMake documentation again.

A list append is APPEND not APPEND_STRING

@Exarkuniv
Copy link
Author

changing that seemed to work.
it at least finished compiling without a error.

@Exarkuniv
Copy link
Author

yes it seems to be building and also launching now.
i can get the menu at least. have not got any game files at the moment, but its good enough to close the issue

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

No branches or pull requests

3 participants