Google

Linux Information

A discussion on Python-Ogre, the library which allows you to drive OGRE directly from Python

Moderators: OGRE Team, Python-Ogre Moderators

Re: Linux Information

Postby andy » Mon Dec 21, 2009 1:54 pm

Sorry my fault -- I was going slightly nuts in sorting out the Mac 10.6 support and along the way commented out the code that sets the boost library in environment.py.. SVN has been fixed (I think)..

Andy
Python-Ogre: High Performance Graphics and Gaming Libraries for Python
andy
Bugbear
 
Posts: 872
Kudos: 0
Joined: 10 Jul 2006
Location: Often Singapore..

Re: Linux Information

Postby AnimusMontus » Sat Jan 02, 2010 11:11 pm

I have installed some libraries already that were compiled from another person. These are for ogre, cegui, and mygui. Is there some way I can get the build system to recognize that they are they and skip compiling at least the ogre libs, which are causing problem in the compiling stage.
AnimusMontus
Gnoblar
 
Posts: 2
Kudos: 0
Joined: 20 Dec 2009

Re: Linux Information

Postby dermont » Mon Jan 04, 2010 2:24 am

For your problem compiling the ogre libs, check or post your build error etc on the developers forum:
http://groups.google.com/group/python-ogre-developers
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby stodge » Wed Jan 05, 2011 6:35 pm

Does anyone know of any RPMs for Fedora 12?
stodge
Gnoblar
 
Posts: 15
Kudos: 0
Joined: 28 Sep 2005

Re: Linux Information

Postby Vi3GameHkr » Sat Jan 08, 2011 10:09 pm

So the instructions on http://wiki.python-ogre.org/index.php/LinuxBuildV4 pretty much apply to most distributions, except in Slackware it takes a ton of time to find each and every package...

Well on Ubuntu 10.10 32-bit, I got to the last step, Ogre works, but I'm having trouble generating, compiling and installing the wrapper code:
Code: Select all
python python-ogre/BuildModule.py -g -c ogre --usesystem
python python-ogre/BuildModule.py -g -c ois cegui --usesystem
python python-ogre/BuildModule.py -b install  --usesystem


I get something like
PythonOgre.BuildModule DEBUG Traceback (most recent call last):
File "generate_code.py", line 36, in <module>
import common_utils
File "../common_utils/__init__.py", line 3, in <module>
import shared_ptr
File "../common_utils/shared_ptr.py", line 3, in <module>
from pyplusplus import messages
ImportError: No module named pyplusplus


I went back and retrieved and built pyplusplus again for good measure
Code: Select all
python python-ogre/BuildModule.py -r pyplusplus
python python-ogre/BuildModule.py -b pyplusplus --usesystem


and I still get the same error message. Any suggestions as to how to go about fixing this? Will I have to get that package from somewhere else? Or is the package in the wrong place (where should it be?)
Vi3GameHkr
Gnoblar
 
Posts: 15
Kudos: 0
Joined: 08 Jan 2011

Re: Linux Information

Postby Vi3GameHkr » Sat Jan 08, 2011 10:43 pm

Actually, after digging through the scripts, I figured the first step of action was to install pyplusplus myself because the BuildModule script gave me more of a headache than I was hoping for (I'm a C++ person, Python's lack of like brackets and stuff just gets me all confused) and running the setup.py script inside the pyplusplus folder that was retrieved via svn, my problem has been solved.

Thanks for the help

EDIT: I mean uhh... I guess anyone who would have tried to help had I been patient enough to wait for a reply, thanks for the help
Vi3GameHkr
Gnoblar
 
Posts: 15
Kudos: 0
Joined: 08 Jan 2011

Re: Linux Information

Postby Mohican » Thu May 19, 2011 8:01 am

I am working my way through building all modules with Ubuntu 11.04.
I have built the main stuff (Ogre, OIS), but I have difficulties with some of the Add-ons.
Could you guys give me some tips? Thanks in advance.

<< Ogre Components >>

>python python-ogre/BuildModule.py -g -v ogreterrain
>python python-ogre/BuildModule.py -c -v ogreterrain
(Note: ogreterrain compiles on rev 1098 - above that, iteratorWrapper errors that '_tree' is not part of 'std')

>python python-ogre/BuildModule.py -g -v ogrepcz
>python python-ogre/BuildModule.py -c -v ogrepcz
--ERROR--
cannot find -lPlugin_PCZSceneManager

>python python-ogre/BuildModule.py -g -v ogrertshadersystem
>python python-ogre/BuildModule.py -c -v ogrertshadersystem
--ERROR--
/home/mohican/pyogre/ogre/Components/RTShaderSystem/include/OgreShaderFFPLighting.h: In function ‘void register_FFPLighting_class()’:
/home/mohican/pyogre/ogre/Components/RTShaderSystem/include/OgreShaderFFPLighting.h:95:2: error: ‘struct Ogre::RTShader::FFPLighting::LightParams’ is protected)

<< OgreOggSound Add-on >>

>sudo apt-get install libogg-dev
>sudo apt-get install libopenal-dev
>sudo apt-get install libvorbis-dev
>python python-ogre/BuildModule.py -r ogreoggsound
>python python-ogre/BuildModule.py -b -v ogreoggsound
>ogreoggsound/cmake . -DCMAKE_INSTALL_PREFIX=/home/mohican/pyogre/root/usr
>ogreoggsound/make
>ogreoggsound/make install
>python python-ogre/BuildModule.py -g -v ogreoggsound
>python python-ogre/BuildModule.py -c -v ogreoggsound
--ERROR--
generated/ogreoggsound_1.21/OgreOggSoundRecord.pypp.cpp:89:1: instantiated from here
/home/mohican/pyogre/root/usr/include/boost/python/type_id.hpp:89:9: error: invalid use of incomplete type ‘struct ALCdevice_struct’
/usr/include/AL/alc.h:43:16: error: forward declaration of ‘struct ALCdevice_struct’
scons: *** [build_dir_2.7/ogreoggsound_1.21/OgreOggSoundRecord.pypp.os] Error 1
User avatar
Mohican
Halfling
 
Posts: 66
Kudos: 6
Joined: 23 Apr 2011
Location: Japan

Re: Linux Information

Postby dermont » Sat Jun 04, 2011 8:46 pm

Mohican wrote:>python python-ogre/BuildModule.py -g -v ogreterrain
>python python-ogre/BuildModule.py -c -v ogreterrain
(Note: ogreterrain compiles on rev 1098 - above that, iteratorWrapper errors that '_tree' is not part of 'std')

There is already a patch on the tracker to resolve this problem, see the following link:
viewtopic.php?f=3&t=14056

Mohican wrote:>python python-ogre/BuildModule.py -g -v ogrepcz
>python python-ogre/BuildModule.py -c -v ogrepcz
--ERROR--
cannot find -lPlugin_PCZSceneManager

Plugin_PCZSceneManager is not library, from memory you need to fudge this for scons using LINKFLAGS(LDFLAGS) and RPATH
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby igrok » Mon Sep 19, 2011 5:05 am

Mohican wrote:<< OgreOggSound Add-on >>

>sudo apt-get install libogg-dev
>sudo apt-get install libopenal-dev
>sudo apt-get install libvorbis-dev
>python python-ogre/BuildModule.py -r ogreoggsound
>python python-ogre/BuildModule.py -b -v ogreoggsound
>ogreoggsound/cmake . -DCMAKE_INSTALL_PREFIX=/home/mohican/pyogre/root/usr
>ogreoggsound/make
>ogreoggsound/make install
>python python-ogre/BuildModule.py -g -v ogreoggsound
>python python-ogre/BuildModule.py -c -v ogreoggsound
--ERROR--
generated/ogreoggsound_1.21/OgreOggSoundRecord.pypp.cpp:89:1: instantiated from here
/home/mohican/pyogre/root/usr/include/boost/python/type_id.hpp:89:9: error: invalid use of incomplete type ‘struct ALCdevice_struct’
/usr/include/AL/alc.h:43:16: error: forward declaration of ‘struct ALCdevice_struct’
scons: *** [build_dir_2.7/ogreoggsound_1.21/OgreOggSoundRecord.pypp.os] Error 1



I'm seeing a quite similar issue - forward declaration of ‘struct ALCdevice_struct’. I've looked through the sources mentioned, but I have to admit I'm lost. I'm using Gentoo with openal-soft-1.11.753 and boost-1.42

Code: Select all
09-18 22:57 PythonOgre.BuildModule DEBUG
scons: warning: BuildDir() and the build_dir keyword have been deprecated;
        use VariantDir() and the variant_dir keyword instead.
File "/home/eliot/python-ogre/SConstruct", line 228, in <module>
In file included from /home/eliot/root/usr/include/boost/python/instance_holder.hpp:11,
                 from /home/eliot/root/usr/include/boost/python/object/pointer_holder.hpp:14,
                 from /home/eliot/root/usr/include/boost/python/to_python_indirect.hpp:10,
                 from /home/eliot/root/usr/include/boost/python/converter/arg_to_python.hpp:10,
                 from /home/eliot/root/usr/include/boost/python/call.hpp:15,
                 from /home/eliot/root/usr/include/boost/python/object_core.hpp:12,
                 from /home/eliot/root/usr/include/boost/python/args.hpp:25,
                 from /home/eliot/root/usr/include/boost/python.hpp:11,
                 from generated/ogreoggsound_1.21/OgreOggSoundRecord.pypp.cpp:3:
/home/eliot/root/usr/include/boost/python/type_id.hpp: In function 'boost::python::type_info boost::python::type_id() [with T = ALCdevice&]':
/home/eliot/root/usr/include/boost/python/detail/signature.hpp:98:   instantiated from 'static const boost::python::detail::signature_element* boost::python::detail::signature_arity<2u>::impl<Sig>::elements() [with Sig = boost::mpl::vector3<void, PyObject*, ALCdevice&>]'
/home/eliot/root/usr/include/boost/python/detail/caller.hpp:232:   instantiated from 'static boost::python::detail::py_func_sig_info boost::python::detail::caller_arity<2u>::impl<F, Policies, Sig>::signature() [with F = void (*)(PyObject*, ALCdevice&), Policies = boost::python::default_call_policies, Sig = boost::mpl::vector3<void, PyObject*, ALCdevice&>]'
/home/eliot/root/usr/include/boost/python/object/py_function.hpp:48:   instantiated from 'boost::python::detail::py_func_sig_info boost::python::objects::caller_py_function_impl<Caller>::signature() const [with Caller = boost::python::detail::caller<void (*)(PyObject*, ALCdevice&), boost::python::default_call_policies, boost::mpl::vector3<void, PyObject*, ALCdevice&> >]'
generated/ogreoggsound_1.21/OgreOggSoundRecord.pypp.cpp:89:   instantiated from here
/home/eliot/root/usr/include/boost/python/type_id.hpp:89: error: invalid use of incomplete type 'struct ALCdevice_struct'
/usr/include/AL/alc.h:44: error: forward declaration of 'struct ALCdevice_struct'
/home/eliot/root/usr/include/boost/python/type_id.hpp: In function 'boost::python::type_info boost::python::type_id() [with T = const volatile ALCdevice_struct&]':
/home/eliot/root/usr/include/boost/python/converter/registered.hpp:87:   instantiated from 'const boost::python::converter::registration& boost::python::converter::detail::registry_lookup2(T& (*)()) [with T = const volatile ALCdevice_struct]'
/home/eliot/root/usr/include/boost/python/converter/registered.hpp:94:   instantiated from 'const boost::python::converter::registration& boost::python::converter::detail::registry_lookup1(boost::type<Target>) [with T = const volatile ALCdevice_struct&]'
/home/eliot/root/usr/include/boost/python/converter/registered.hpp:105:   instantiated from 'const boost::python::converter::registration& boost::python::converter::detail::registered_base<const volatile ALCdevice_struct&>::converters'
/home/eliot/root/usr/include/boost/python/converter/arg_from_python.hpp:283:   instantiated from 'boost::python::converter::reference_arg_from_python<T>::reference_arg_from_python(PyObject*) [with T = ALCdevice&]'
/home/eliot/root/usr/include/boost/python/arg_from_python.hpp:70:   instantiated from 'boost::python::arg_from_python<T>::arg_from_python(PyObject*) [with T = ALCdevice&]'
/home/eliot/root/usr/include/boost/preprocessor/iteration/detail/local.hpp:37:   instantiated from 'PyObject* boost::python::detail::caller_arity<2u>::impl<F, Policies, Sig>::operator()(PyObject*, PyObject*) [with F = void (*)(PyObject*, ALCdevice&), Policies = boost::python::default_call_policies, Sig = boost::mpl::vector3<void, PyObject*, ALCdevice&>]'
/home/eliot/root/usr/include/boost/python/object/py_function.hpp:38:   instantiated from 'PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<void (*)(PyObject*, ALCdevice&), boost::python::default_call_policies, boost::mpl::vector3<void, PyObject*, ALCdevice&> >]'
generated/ogreoggsound_1.21/OgreOggSoundRecord.pypp.cpp:89:   instantiated from here
/home/eliot/root/usr/include/boost/python/type_id.hpp:89: error: invalid use of incomplete type 'struct ALCdevice_struct'
/usr/include/AL/alc.h:44: error: forward declaration of 'struct ALCdevice_struct'
scons: *** [build_dir_2.6/ogreoggsound_1.21/OgreOggSoundRecord.pypp.os] Error 1
User avatar
igrok
Gnoblar
 
Posts: 11
Kudos: 0
Joined: 01 Feb 2009
Location: Boston, MA

Re: Linux Information

Postby dermont » Mon Sep 19, 2011 11:12 am

igrok wrote:
Mohican wrote:<< OgreOggSound Add-on >>

>sudo apt-get install libogg-dev
>sudo apt-get install libopenal-dev
>sudo apt-get install libvorbis-dev
>python python-ogre/BuildModule.py -r ogreoggsound
>python python-ogre/BuildModule.py -b -v ogreoggsound
>ogreoggsound/cmake . -DCMAKE_INSTALL_PREFIX=/home/mohican/pyogre/root/usr
>ogreoggsound/make
>ogreoggsound/make install
>python python-ogre/BuildModule.py -g -v ogreoggsound
>python python-ogre/BuildModule.py -c -v ogreoggsound
--ERROR--
generated/ogreoggsound_1.21/OgreOggSoundRecord.pypp.cpp:89:1: instantiated from here
/home/mohican/pyogre/root/usr/include/boost/python/type_id.hpp:89:9: error: invalid use of incomplete type ‘struct ALCdevice_struct’
/usr/include/AL/alc.h:43:16: error: forward declaration of ‘struct ALCdevice_struct’
scons: *** [build_dir_2.7/ogreoggsound_1.21/OgreOggSoundRecord.pypp.os] Error 1



I'm seeing a quite similar issue - forward declaration of ‘struct ALCdevice_struct’. I've looked through the sources mentioned, but I have to admit I'm lost. I'm using Gentoo with openal-soft-1.11.753 and boost-1.42

Code: Select all
09-18 22:57 PythonOgre.BuildModule DEBUG
scons: warning: BuildDir() and the build_dir keyword have been deprecated;
        use VariantDir() and the variant_dir keyword instead.
File "/home/eliot/python-ogre/SConstruct", line 228, in <module>
In file included from /home/eliot/root/usr/include/boost/python/instance_holder.hpp:11,
                 from /home/eliot/root/usr/include/boost/python/object/pointer_holder.hpp:14,
                 from /home/eliot/root/usr/include/boost/python/to_python_indirect.hpp:10,
                 from /home/eliot/root/usr/include/boost/python/converter/arg_to_python.hpp:10,
                 from /home/eliot/root/usr/include/boost/python/call.hpp:15,
                 from /home/eliot/root/usr/include/boost/python/object_core.hpp:12,
                 from /home/eliot/root/usr/include/boost/python/args.hpp:25,
                 from /home/eliot/root/usr/include/boost/python.hpp:11,
                 from generated/ogreoggsound_1.21/OgreOggSoundRecord.pypp.cpp:3:
/home/eliot/root/usr/include/boost/python/type_id.hpp: In function 'boost::python::type_info boost::python::type_id() [with T = ALCdevice&]':
/home/eliot/root/usr/include/boost/python/detail/signature.hpp:98:   instantiated from 'static const boost::python::detail::signature_element* boost::python::detail::signature_arity<2u>::impl<Sig>::elements() [with Sig = boost::mpl::vector3<void, PyObject*, ALCdevice&>]'
/home/eliot/root/usr/include/boost/python/detail/caller.hpp:232:   instantiated from 'static boost::python::detail::py_func_sig_info boost::python::detail::caller_arity<2u>::impl<F, Policies, Sig>::signature() [with F = void (*)(PyObject*, ALCdevice&), Policies = boost::python::default_call_policies, Sig = boost::mpl::vector3<void, PyObject*, ALCdevice&>]'
/home/eliot/root/usr/include/boost/python/object/py_function.hpp:48:   instantiated from 'boost::python::detail::py_func_sig_info boost::python::objects::caller_py_function_impl<Caller>::signature() const [with Caller = boost::python::detail::caller<void (*)(PyObject*, ALCdevice&), boost::python::default_call_policies, boost::mpl::vector3<void, PyObject*, ALCdevice&> >]'
generated/ogreoggsound_1.21/OgreOggSoundRecord.pypp.cpp:89:   instantiated from here
/home/eliot/root/usr/include/boost/python/type_id.hpp:89: error: invalid use of incomplete type 'struct ALCdevice_struct'
/usr/include/AL/alc.h:44: error: forward declaration of 'struct ALCdevice_struct'
/home/eliot/root/usr/include/boost/python/type_id.hpp: In function 'boost::python::type_info boost::python::type_id() [with T = const volatile ALCdevice_struct&]':
/home/eliot/root/usr/include/boost/python/converter/registered.hpp:87:   instantiated from 'const boost::python::converter::registration& boost::python::converter::detail::registry_lookup2(T& (*)()) [with T = const volatile ALCdevice_struct]'
/home/eliot/root/usr/include/boost/python/converter/registered.hpp:94:   instantiated from 'const boost::python::converter::registration& boost::python::converter::detail::registry_lookup1(boost::type<Target>) [with T = const volatile ALCdevice_struct&]'
/home/eliot/root/usr/include/boost/python/converter/registered.hpp:105:   instantiated from 'const boost::python::converter::registration& boost::python::converter::detail::registered_base<const volatile ALCdevice_struct&>::converters'
/home/eliot/root/usr/include/boost/python/converter/arg_from_python.hpp:283:   instantiated from 'boost::python::converter::reference_arg_from_python<T>::reference_arg_from_python(PyObject*) [with T = ALCdevice&]'
/home/eliot/root/usr/include/boost/python/arg_from_python.hpp:70:   instantiated from 'boost::python::arg_from_python<T>::arg_from_python(PyObject*) [with T = ALCdevice&]'
/home/eliot/root/usr/include/boost/preprocessor/iteration/detail/local.hpp:37:   instantiated from 'PyObject* boost::python::detail::caller_arity<2u>::impl<F, Policies, Sig>::operator()(PyObject*, PyObject*) [with F = void (*)(PyObject*, ALCdevice&), Policies = boost::python::default_call_policies, Sig = boost::mpl::vector3<void, PyObject*, ALCdevice&>]'
/home/eliot/root/usr/include/boost/python/object/py_function.hpp:38:   instantiated from 'PyObject* boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<void (*)(PyObject*, ALCdevice&), boost::python::default_call_policies, boost::mpl::vector3<void, PyObject*, ALCdevice&> >]'
generated/ogreoggsound_1.21/OgreOggSoundRecord.pypp.cpp:89:   instantiated from here
/home/eliot/root/usr/include/boost/python/type_id.hpp:89: error: invalid use of incomplete type 'struct ALCdevice_struct'
/usr/include/AL/alc.h:44: error: forward declaration of 'struct ALCdevice_struct'
scons: *** [build_dir_2.6/ogreoggsound_1.21/OgreOggSoundRecord.pypp.os] Error 1



From the C++ code it looks as if OgreOggSoundRecord is only implement on Windows.

Code: Select all
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
      OgreOggSoundRecord* createRecorder();
      /** Gets recording device
       */
      OgreOggSoundRecord* getRecorder() { return mRecorder; }
      /** Returns whether a capture device is available
       */
      bool isRecordingAvailable() const;
      /** Creates a recordable object
       */
#endif


Try updating the ogreoggsound/generate_code.py to exclude the above class ( code marked -->).
Code: Select all
def ManualExclude ( mb ):
    global_ns = mb.global_ns
    if MAIN_NAMESPACE:
        main_ns = global_ns.namespace( MAIN_NAMESPACE )
    else:
        main_ns = global_ns   
    excludes=['::OgreOggSound::WAVEHEADER'
            ]
->    if os.name =='posix':
->        excludes.append("::OgreOggSound::OgreOggSoundRecord")
    for e in excludes:
        main_ns.class_(e).exclude()

...
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby igrok » Tue Sep 20, 2011 1:01 am

I'm happy to report that dermont's patch worked wonderfully. I have filed a bug on SourceForge and posted the patch.

https://sourceforge.net/tracker/?func=d ... tid=916690
User avatar
igrok
Gnoblar
 
Posts: 11
Kudos: 0
Joined: 01 Feb 2009
Location: Boston, MA

Re: Linux Information

Postby thios » Tue Sep 20, 2011 4:37 pm

Curiously, running the demo on ubuntu 11.04 with the resulting library fails with:

Code: Select all
Loading library libOgreOggSound
Installing plugin: OgreOggSound
MovableObjectFactory for type 'OgreOggISound' registered.
Plugin successfully installed
*****************************************
*** --- Initialising OgreOggSound --- ***
*** ---     OgreOggSound v1.21    --- ***
*****************************************
*** --- OpenAL version 1.1
*** --- AVAILABLE DEVICES --- ***
*** --- PulseAudio Default
*** --- ALSA Default
*** --- No Output
*** --- Choosing: PulseAudio Default (Default device)
*** --- OpenAL Device successfully created
*** --- OpenAL Context successfully created
*** --- SUPPORTED FORMATS
*** --- Created 100 sources for simultaneous sounds
*** --- Using BOOST threads for streaming
*****************************************
*** ---  OgreOggSound Initialised --- ***
*****************************************


<ogre.sound.ogreoggsound._ogreoggsound_.OgreOggStreamWavSound object at 0x2b480c0>
terminate called after throwing an instance of 'Ogre::InternalErrorException'
  what():  OGRE EXCEPTION(7:InternalErrorException): Not a valid WAVE file in OgreOggStreamWavWavSound::_openImpl() at .../development/ogreoggsound/src/OgreOggStreamWavSound.cpp (line 156)
Aborted


I haven't been able to figure this out in a while now so I ended up using ogreal instead, both on linux and windows. While we're on the subject though, I thought I'd bring it up.
thios
Gnoblar
 
Posts: 19
Kudos: 0
Joined: 05 Feb 2011

Re: Linux Information

Postby dermont » Wed Sep 21, 2011 1:29 pm

thios wrote:Curiously, running the demo on ubuntu 11.04 with the resulting library fails with:

Code: Select all
Loading library libOgreOggSound
Installing plugin: OgreOggSound
MovableObjectFactory for type 'OgreOggISound' registered.
Plugin successfully installed
*****************************************
*** --- Initialising OgreOggSound --- ***
*** ---     OgreOggSound v1.21    --- ***
*****************************************
*** --- OpenAL version 1.1
*** --- AVAILABLE DEVICES --- ***
*** --- PulseAudio Default
*** --- ALSA Default
*** --- No Output
*** --- Choosing: PulseAudio Default (Default device)
*** --- OpenAL Device successfully created
*** --- OpenAL Context successfully created
*** --- SUPPORTED FORMATS
*** --- Created 100 sources for simultaneous sounds
*** --- Using BOOST threads for streaming
*****************************************
*** ---  OgreOggSound Initialised --- ***
*****************************************


<ogre.sound.ogreoggsound._ogreoggsound_.OgreOggStreamWavSound object at 0x2b480c0>
terminate called after throwing an instance of 'Ogre::InternalErrorException'
  what():  OGRE EXCEPTION(7:InternalErrorException): Not a valid WAVE file in OgreOggStreamWavWavSound::_openImpl() at .../development/ogreoggsound/src/OgreOggStreamWavSound.cpp (line 156)
Aborted


I haven't been able to figure this out in a while now so I ended up using ogreal instead, both on linux and windows. While we're on the subject though, I thought I'd bring it up.



The demo runs fine here on ubuntu 11.04 32-bit. Are you running a 64-bit machine? The only thing I can think of is a problem with endianness. Have you tried opening the roar.wav file with one of the Linux media players or examining the roar.wav header file in python and comparing against the C++ code in OgreALWavSound.cpp.

Code: Select all
import wave as w
import struct
f = open("./media/roar.wav", "rb")
format = "<4sL4s4sLHHLLHH"
print struct.unpack(format, f.read(36))
f.close()
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

Re: Linux Information

Postby thios » Thu Sep 22, 2011 10:07 am

Yes, I'm on 64bit ubuntu...

Roar.wav plays fine on both amarok and python-ogre/ogreal.

I tried disabling the header checks in OgreOggStreamWavSound.cpp. The application launches and ogreoggsound is initialised with no error messages, but no there's still no sound.

A header dump using the ubuntu quelcom package reports:

Code: Select all
$ qwavheaderdump roar.wav
roar.wav (118316 bytes):
        riff: 'RIFF'
        riff length: 118308
        wave: 'WAVE'
        fmt: 'fmt '
        fmt length: 16
        format: 1
        channels: 1
        sample rate: 22050
        bytes/second: 44100
        bytes/sample: 2
        bits/sample: 16
        data: 'fact'
                data field should be 'data'
        data length: 4
                data length field should be 118272


"Fixing" it using qwavheaderdump -F roar.wave doesn't help either.

There's also another thread that deals with what seems to be the same problem, but no solution has been offered.
http://www.ogre3d.org/addonforums/viewtopic.php?f=19&t=14791

I'll try to look into it further (but any help is of course welcome).
thios
Gnoblar
 
Posts: 19
Kudos: 0
Joined: 05 Feb 2011

Re: Linux Information

Postby dermont » Thu Sep 22, 2011 8:38 pm

thios wrote:There's also another thread that deals with what seems to be the same problem, but no solution has been offered.
http://www.ogre3d.org/addonforums/viewtopic.php?f=19&t=14791

I'll try to look into it further (but any help is of course welcome).


I don't have a 64bit machine so probably can't really help. Since this appears to be an issue with the C++ library your best bet would be add some debugging code to examine the wave header or step through the code in debug with Visual Studio on Windows.
dermont
Bugbear
 
Posts: 895
Kudos: 37
Joined: 27 Sep 2005

PreviousNext

Return to Python-Ogre

Who is online

Users browsing this forum: No registered users and 2 guests

cron