derselbst / ANMP

multi-channel loopable video game music player for nerds and audiophiles
GNU General Public License v2.0
32 stars 3 forks source link

More instructions required for building gui #74

Closed jmakin-godaddy closed 1 year ago

jmakin-godaddy commented 1 year ago

Hi, I'm very keen to hear some more of my favourite N64 classics at high quality. I've enjoyed the small number of opus and flac files I've stumbled across.

The README.md file simply says: mkdir build && cd build cmake .. make

If I follow up with a make install as root, I get the following:

make install

[ 77%] Built target anmp-internal [ 81%] Built target anmp [ 90%] Built target anmp-normalize [100%] Built target anmp-dump Install the project... -- Install configuration: "RelWithDebInfo" -- Installing: /usr/local/lib64/libanmp.a -- Installing: /usr/local/include/anmp/PlaylistFactory.h -- Installing: /usr/local/include/anmp/types.h -- Installing: /usr/local/include/anmp/Event.h -- Installing: /usr/local/include/anmp/Nullable.h -- Installing: /usr/local/include/anmp/SongInfo.h -- Installing: /usr/local/include/anmp/IPlaylist.h -- Installing: /usr/local/include/anmp/Playlist.h -- Installing: /usr/local/include/anmp/Player.h -- Installing: /usr/local/include/anmp/Config.h -- Installing: /usr/local/bin/anmp-normalize -- Installing: /usr/local/bin/anmp-dump

No gui in the above, but a gui directory is made with its own makefile. Changing to this directory and calling make has no output. Calling make install in the gui directory produces Install the project... -- Install configuration: "RelWithDebInfo" My linux distro is Fedora 37

derselbst commented 1 year ago

Hi, can you pls. provide the full cmake log as well?

jmakin-godaddy commented 1 year ago

Ahah, I reran the cmake command and saw useful messages. I had to install qwt-qt5-devel and now i'm making progress

jmakin-godaddy commented 1 year ago

Ok, I've seen your docs suggesting ANMP requires building against lazyusf2 and this is where I have become stuck for the day. I have successfully built liblazyusf.a and after a different invocation, liblazyusf.so.2.0 but as lazyusf2 has no "make install" target, I'm not sure what I should be putting where. I've made a lazyusf/ directory inside /usr/include and copied the .a file into /usr/local/lib64/

I can see CMakelists.txt contains MY_FIND_LIB(LAZYUSF lazyusf) but I don't know how this works. I've tried running strace when running cmake .. but it's confused me. I'm giving up for today.

jmakin-godaddy commented 1 year ago

Oh, and also I think I'm having to build libsmf too (this is a lot of work :( ) is there anything more up to date than https://github.com/stump/libsmf ? It looks like a pretty dead project, the only package of libsmf-devel on pkgs.org was built nearly 9 years ago

derselbst commented 1 year ago

It should be fine if you just use libsmf-devel as found in some fedora repo.

For lazyusf2 and psflib, you may find some information in the buildlogs as well as the %build and %install sections of the .spec files in my PPA: https://build.opensuse.org/project/monitor/home:derselbst:anmp

As you can see, aopsf, psflib, lazyusf2 and vgmstream are currently (only) available on RPM-based distros. So you could use the prebuilt RPMs right away, or download the SRPMs and compile it yourself.

jmakin-godaddy commented 1 year ago

I've not been looking for a while, but now I see you have packages built for Fedora. That's fantastic!