Coder Social home page Coder Social logo

Audio dependency names for CentOS 7 about engine HOT 9 CLOSED

g3n avatar g3n commented on August 16, 2024
Audio dependency names for CentOS 7

from engine.

Comments (9)

leonsal avatar leonsal commented on August 16, 2024
  1. We will change the reference of libopenal1 to openal-soft for CentOS in the README.

  2. Does CentOS has the libvorbisfile3 package ?
    In Debian/Ubuntu this package depends on libvorbis and libogg,
    so installing it also installs libvorbis and libogg.
    This package is need by G3N as it contains high-level functions for reading OggVorbis encoded audio files.

  3. The development packages are not needed for any of these libraries since
    the header files are included internally in G3N.

from engine.

justinclift avatar justinclift commented on August 16, 2024

Checking now, CentOS 7 doesn't seem to have libvorbisfile3 package available in the standard repositories:

$ sudo yum list|grep -i vorbis
libvorbis.i686                          1:1.3.3-8.el7                  @base    
libvorbis.x86_64                        1:1.3.3-8.el7                  @anaconda
libvorbis-devel.i686                    1:1.3.3-8.el7                  base     
libvorbis-devel.x86_64                  1:1.3.3-8.el7                  base     
libvorbis-devel-docs.noarch             1:1.3.3-8.el7                  base     
mingw32-libvorbis.noarch                1.3.4-1.el7                    epel     
mingw64-libvorbis.noarch                1.3.4-1.el7                    epel     
vorbis-tools.x86_64                     1:1.4.0-12.el7                 base

Doing some searching online about it to gain a better understanding... all that's really showing up is the Debian and Ubuntu package pages for it:

Taking another approach, the standard libvorbis package in CentOS 7 (and Fedora too it seems) already contains a libvorbisfile library:

$ rpm -ql libvorbis|grep -i file|sort
/usr/lib64/libvorbisfile.so.3
/usr/lib64/libvorbisfile.so.3.3.5
/usr/lib/libvorbisfile.so.3
/usr/lib/libvorbisfile.so.3.3.5

I'm kind of guessing... but it seems like the libvorbis package on CentOS/Fedora might already have the needed bits. Might not be a seperate package needed.

That being said... I have no idea why .ogg files aren't playing through g3nplay, but .wav files are.

from engine.

leonsal avatar leonsal commented on August 16, 2024

Does ldconfig find libvorbisfile ?
In my Linux Mint the command returns:

>ldconfig -p | grep libvorbisfile
	libvorbisfile.so.3 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libvorbisfile.so.3

from engine.

justinclift avatar justinclift commented on August 16, 2024

Yep:

$ ldconfig -p|grep -i libvorbisfile
        libvorbisfile.so.3 (libc6,x86-64) => /lib64/libvorbisfile.so.3
        libvorbisfile.so.3 (libc6) => /lib/libvorbisfile.so.3

Note that I have both 32 and 64-bit versions installed, as the desktop itself is 64-bit but I have Steam also installed. Steam is 32-bit only, so pulled in a bunch of 32-bit versions of things when installing.

Just to check if it makes any difference, I removed the 32-bit version of libvorbis, compiled g3nplay again and tried out the .ogg files. Still no go:

$ go build main.go
$ ./main Vivaldi1.wav 
OpenAL Community version: 1.1 ALSOFT 1.16.0
Xiph.Org libVorbis 1.3.3
Playing:[Vivaldi1.wav] (62.0 seconds)
^C
$ ./main Bach1.ogg 
OpenAL Community version: 1.1 ALSOFT 1.16.0
Xiph.Org libVorbis 1.3.3
^C

Hmmm, looking at the output from those two runs, it clearly could process the .wav file as it shows the name and expected runtime. Not so for the .ogg.

I can try attaching a debugger to it later on today and see if anything interesting shows up as a difference. Hopefully it's something simple. 😄

from engine.

justinclift avatar justinclift commented on August 16, 2024

Oh, as a data point, the g3nd demo program also hangs when playing any of the audio demos. The visual-only ones work completely fine however.

Completely guessing here, but it's probably going to be the same root cause, whatever that turns out to be. 😄

from engine.

leonsal avatar leonsal commented on August 16, 2024

We committed a new version of G3N and G3ND. Now the installation of the audio libraries dependencies is compulsory. We updated the README.md with these dependencies.
What was probably happening previously was that we were compiling G3N with internal libogg/libvorbis headers for an specific version (1.3.2/1.3.5) but the user's installed version was different.
I noticed that in CentOS 7 the libvorbis version is 1.3.3 but in Ubuntu/Mint is 1.3.5. This probably crashed the program when a function of the library was called.

from engine.

justinclift avatar justinclift commented on August 16, 2024

Thanks @leonsal. I'll recompile and see if the audio now plays. If it does, that'll pretty much confirm that was the problem. 😄

from engine.

justinclift avatar justinclift commented on August 16, 2024

Excellent news, the audio now works!

Btw, the required devel packages for building on CentOS 7 seem to be libvorbis-devel and openal-soft-devel. No need to specifically request libogg-devel, as the libvorbis-devel package pulls it in automatically as a dependency.

Note - tried with and without each of them just to make sure. Those two above are definitely the correct ones. 😄

Thanks for getting this done!

from engine.

justinclift avatar justinclift commented on August 16, 2024

Ahhhh, just noticed you've already updated the README.md with that info. Cool. 😄

from engine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.