Panda3d with recent ffmpeg and openal (needs testing)

update 2:

i got it running… at least i hear sound without fmod installed :slight_smile:

But… i only tried under osx leopard which does make quite some problems while trying to get it compiled (afaik messed up headers in /usr/include).

i have posted a updated patch below.

But this is still not ready for integration in panda3d, as i had to explicitely define HAVE_OPENAL in panda/src/pandabase/pandabase.h, if someone knows how to fix it?

update:

ppl trying to comile panda3d with ffmpeg and openal using ppremake will need to make the changes described in the following posts (ffmpeg changes & patch panda3d).

What’s the error message?

i haven’t tried ffmpeg yet (using macports currently does not build ffmpeg for me the last time i tried - 3 weeks ago).

but: panda3d builds out-of-the-box from cvs for me now. including Cg support, a multi-threaded version and even the panda tools do compile for me for Maya.

The error i’m getting is:

cd ./src/movies && make all
g++ -ftemplate-depth-30  -c -o Opt3-OSX/movies_movies_composite1.o -I. -I/Volumes/OSX/Documents/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS/panda3d/panda -I../event -I../express -I../gobj -I../gsgbase -I../linmath -I../mathutil -I../nativenet -I../net -I../pandabase -I../pipeline -I../pnmimage -I../pstatclient -I../putil -I/usr/local/panda/include -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -I/opt/local/include/ffmpeg -I/opt/local/include -I/opt/local/include/nspr -I/opt/local/include    -g -O2 -fPIC movies_composite1.cxx
/opt/local/include/ffmpeg/avcodec.h:2475: warning: attribute ignored in declaration of 'struct ImgReSampleContext'
/opt/local/include/ffmpeg/avcodec.h:2475: warning: attribute for 'struct ImgReSampleContext' must follow the 'struct' keyword
/opt/local/include/ffmpeg/avcodec.h:2486: warning: 'ImgReSampleContext' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2480)
/opt/local/include/ffmpeg/avcodec.h:2496: warning: 'ImgReSampleContext' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2480)
/opt/local/include/ffmpeg/avcodec.h:2502: warning: 'ImgReSampleContext' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2480)
/opt/local/include/ffmpeg/avcodec.h:2507: warning: 'ImgReSampleContext' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2480)
/opt/local/include/ffmpeg/avformat.h: In function 'void av_init_packet(AVPacket*)':
/opt/local/include/ffmpeg/avformat.h:62: error: 'INT64_C' was not declared in this scope
/opt/local/include/ffmpeg/avformat.h: At global scope:
/opt/local/include/ffmpeg/avformat.h:291: warning: 'AVFrac' is deprecated (declared at /opt/local/include/ffmpeg/avformat.h:117)
ffmpegAudioCursor.cxx: In member function 'void FfmpegAudioCursor::reload_buffer()':
ffmpegAudioCursor.cxx:193: warning: 'avcodec_decode_audio' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2790)
ffmpegAudioCursor.cxx:194: warning: 'avcodec_decode_audio' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2790)
ffmpegVideoCursor.cxx: In member function 'void FfmpegVideoCursor::export_frame(unsigned char*, bool)':
ffmpegVideoCursor.cxx:170: warning: 'img_convert' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2635)
ffmpegVideoCursor.cxx:171: warning: 'img_convert' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2635)
ffmpegVideoCursor.cxx:175: warning: 'img_convert' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2635)
ffmpegVideoCursor.cxx:176: warning: 'img_convert' is deprecated (declared at /opt/local/include/ffmpeg/avcodec.h:2635)
make[1]: *** [Opt3-OSX/movies_movies_composite1.o] Error 1
make: *** [movies] Error 2

for the first problem:

Im not sure what im doing wrong, i now tried to manually compile the libparticlesystem (copying the g++ commands (make clean) and manually adding the parameter). It does compile, however that doesnt really seem to help, but actually i got to admin i dont really understand what this really does and how it could be fixed.
It just would be nice to have a packapanda for osx… :slight_smile:

What happens if you just create an empty C++ file and say

#include “ffmpeg.h”

in it, and nothing else? Does it compile?

— changes required in ffmpeg —

in /opt/local/include/ffmpeg/avformat.h:
after:
#define LIBAVFORMAT_IDENT       "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
add:
#define INT64_C
#define __STDC_CONSTANT_MACROS
#include <stdint.h>

i found it here:
http://vskrishnan.wordpress.com/2007/07/31/ffmpeg-int64_c-problem-and-workaround/

Another problem i found is that it says integer to long for Long:

in /opt/local/include/ffmpeg/avcodec.h
change:
#define AV_NOPTS_VALUE          INT64_C(0x8000000000000000)
to:
#define AV_NOPTS_VALUE          INT64_C(0x8000000000000000LL)

– deprecated –

see last post for recent panda3d - diff

I’ll be happy to apply this patch to Panda, but I don’t understand why it is necessary to add avcodec.h etc. to pview and pgrid and all the other standalone executables. First, doing this will cause compile problems for people who don’t have ffmpeg installed and want to compile Panda without this library; but second, it shouldn’t even be necessary in the first place, since any code that directly uses avcodec.h should be responsible for its inclusion.

Do you know why this change is part of the suggested patch?

David

Hi,

actually im just trying around… It may not be necessary to include any additional headers which have not yet been included.

Still right now i dont recommend applying this patch as i have not even got it running myself, but it might be interesting if somebody from another OS checks it this patch works for himself using a recent ffmepg version.

I’ll try to continue my work, as i know the source of the problem, but im bit stuck because i dont know how to prevent it occuring… Maybe somebody more experienced developing on OSX could check this…

a new diff

i have now successfully compiled panda3d under osx, i also tried adding openal into ppremake, for osx the above changes to ffmpeg are still required.

Someone should try this with a recent ffmepg and openal under a os that actually is known to work with openal…

genPyCode works fine for me, but i still have the NullAudioManager as sound source (i changed the Config.prc to “audio-library-name openal_audio”)

renaming the lib as suggested doesnt seem to work for me:
libopenal_audio.so -> libp3openal_audio.so
libopenal_audio.dylib -> libp3openal_audio.dylib
SO DONT DO THAT

-> a new diff will be online soon… found some bad errors in it …

latest patch:


Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/dtool/Config.pp
===================================================================
RCS file: /cvsroot/panda3d/dtool/Config.pp,v
retrieving revision 1.217
diff -u -r1.217 Config.pp
--- dtool/Config.pp	29 Jun 2007 01:39:09 -0000	1.217
+++ dtool/Config.pp	13 Nov 2007 17:21:38 -0000
@@ -776,6 +776,13 @@
 #define FMODEX_LIBS fmodex
 #defer HAVE_FMODEX $[libtest $[FMODEX_LPATH],$[FMODEX_LIBS]]
 
+// Info for the OpenAL audio engine
+// note this may be overwritten in wintools Config.pp
+#define OPENAL_IPATH /usr/include
+#define OPENAL_LPATH /usr/lib
+#define OPENAL_LIBS openal
+#defer HAVE_OPENAL $[libtest $[OPENAL_LPATH],$[OPENAL_LIBS]]
+
 // Info for http://www.sourceforge.net/projects/chromium
 // note this may be overwritten in wintools Config.pp
 #define CHROMIUM_IPATH /usr/include/chromium/include
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/dtool/LocalSetup.pp
===================================================================
RCS file: /cvsroot/panda3d/dtool/LocalSetup.pp,v
retrieving revision 1.124
diff -u -r1.124 LocalSetup.pp
--- dtool/LocalSetup.pp	20 Jul 2007 23:59:10 -0000	1.124
+++ dtool/LocalSetup.pp	13 Nov 2007 17:21:38 -0000
@@ -90,6 +90,10 @@
 #print + FMOD Ex sound library
 #else
 #print - Did not find FMOD Ex sound library
+#if $[HAVE_OPENAL]
+#print + OpenAL sound library
+#else
+#print - Did not find OpenAL sound library
 #endif
 #if $[HAVE_GTK]
 #print + gtk+-2
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/dtool/Package.pp
===================================================================
RCS file: /cvsroot/panda3d/dtool/Package.pp,v
retrieving revision 1.60
diff -u -r1.60 Package.pp
--- dtool/Package.pp	16 Mar 2007 03:04:06 -0000	1.60
+++ dtool/Package.pp	13 Nov 2007 17:21:39 -0000
@@ -257,6 +257,11 @@
 #set FMODEX_LIBS $[FMODEX_LIBS]
 #set HAVE_FMODEX $[HAVE_FMODEX]
 
+#set OPENAL_IPATH $[unixfilename $[OPENAL_IPATH]]
+#set OPENAL_LPATH $[unixfilename $[OPENAL_LPATH]]
+#set OPENAL_LIBS $[OPENAL_LIBS]
+#set HAVE_OPENAL $[HAVE_OPENAL]
+
 #set CHROMIUM_IPATH $[unixfilename $[CHROMIUM_IPATH]]
 #set CHROMIUM_LPATH $[unixfilename $[CHROMIUM_LPATH]]
 #set CHROMIUM_LIBS $[CHROMIUM_LIBS]
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/dtool/pptempl/Global.pp
===================================================================
RCS file: /cvsroot/panda3d/dtool/pptempl/Global.pp,v
retrieving revision 1.121
diff -u -r1.121 Global.pp
--- dtool/pptempl/Global.pp	3 Aug 2007 22:00:10 -0000	1.121
+++ dtool/pptempl/Global.pp	13 Nov 2007 17:21:39 -0000
@@ -343,6 +343,14 @@
   #define fmodex_libs $[FMODEX_LIBS]
 #endif
 
+#if $[HAVE_OPENAL]
+  #define openal_ipath $[wildcard $[OPENAL_IPATH]]
+  #define openal_lpath $[wildcard $[OPENAL_LPATH]]
+  #define openal_cflags $[OPENAL_CFLAGS]
+  #define openal_libs $[OPENAL_LIBS]
+  #define openal_framework $[OPENAL_FRAMEWORK]
+#endif
+
 #if $[HAVE_CHROMIUM]
   #define chromium_ipath $[wildcard $[CHROMIUM_IPATH]]
   #define chromium_lpath $[wildcard $[CHROMIUM_LPATH]]
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/audiotraits/Sources.pp
===================================================================
RCS file: /cvsroot/panda3d/panda/src/audiotraits/Sources.pp,v
retrieving revision 1.30
diff -u -r1.30 Sources.pp
--- panda/src/audiotraits/Sources.pp	20 Aug 2007 22:34:58 -0000	1.30
+++ panda/src/audiotraits/Sources.pp	13 Nov 2007 17:21:40 -0000
@@ -49,25 +49,30 @@
 
 #end lib_target
 
-//#begin lib_target
-//  #define TARGET openal_audio
-//  #define BUILD_TARGET $[HAVE_OPENAL]
-//  #define USE_PACKAGES openal
-//  #define BUILDING_DLL BUILDING_OPENAL_AUDIO
-//  #define LOCAL_LIBS audio event
-//  #define WIN_SYS_LIBS $[WIN_SYS_LIBS] user32.lib advapi32.lib winmm.lib
-//
-//  #define COMBINED_SOURCES $[TARGET]_composite1.cxx
-//
-//  #define SOURCES \
-//      config_openalAudio.h \
-//      openalAudioManager.h \
-//      openalAudioSound.I openalAudioSound.h
-//
-//  #define INCLUDED_SOURCES \
-//      config_openalAudio.cxx openalAudioManager.cxx openalAudioSound.cxx
-//
-//#end lib_target
+#begin lib_target
+  #print building openal
+  #define TARGET openal_audio
+  #define BUILD_TARGET $[HAVE_OPENAL]
+  #define USE_PACKAGES openal
+  #define BUILDING_DLL BUILDING_OPENAL_AUDIO
+  #define LOCAL_LIBS audio event
+  #define WIN_SYS_LIBS $[WIN_SYS_LIBS] user32.lib advapi32.lib winmm.lib
+
+  #define COMBINED_SOURCES $[TARGET]_composite1.cxx
+    
+  #define OTHER_LIBS dtoolconfig dtool dtoolbase:c dtoolutil:c \
+    putil:c prc:c interrogatedb:c dconfig:c movies:c
+
+  #define SOURCES \
+      config_openalAudio.h \
+      openalAudioManager.h \
+      openalAudioSound.I \
+      openalAudioSound.h
+
+  #define INCLUDED_SOURCES \
+      config_openalAudio.cxx openalAudioManager.cxx openalAudioSound.cxx
+
+#end lib_target
 
 //#begin lib_target
 //  #define TARGET audio_linux
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/audiotraits/openalAudioManager.h
===================================================================
RCS file: /cvsroot/panda3d/panda/src/audiotraits/openalAudioManager.h,v
retrieving revision 1.4
diff -u -r1.4 openalAudioManager.h
--- panda/src/audiotraits/openalAudioManager.h	29 Aug 2007 21:04:47 -0000	1.4
+++ panda/src/audiotraits/openalAudioManager.h	13 Nov 2007 17:21:40 -0000
@@ -30,8 +30,8 @@
 #include "pset.h"
 #include "movieAudioCursor.h"
 
-#include <AL/al.h>
-#include <AL/alc.h>
+#include <al.h>
+#include <alc.h>
 
 class OpenALAudioSound;
 
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/audiotraits/openalAudioSound.h
===================================================================
RCS file: /cvsroot/panda3d/panda/src/audiotraits/openalAudioSound.h,v
retrieving revision 1.4
diff -u -r1.4 openalAudioSound.h
--- panda/src/audiotraits/openalAudioSound.h	29 Aug 2007 21:04:47 -0000	1.4
+++ panda/src/audiotraits/openalAudioSound.h	13 Nov 2007 17:21:40 -0000
@@ -26,12 +26,12 @@
 
 #ifdef HAVE_OPENAL //[
 
+#include "openalAudioManager.h"
 #include "audioSound.h"
 #include "movieAudioCursor.h"
 #include "trueClock.h"
-
-#include <AL/al.h>
-#include <AL/alc.h>
+#include <al.h>
+#include <alc.h>
 
 class EXPCL_OPENAL_AUDIO OpenALAudioSound : public AudioSound {
   friend class OpenALAudioManager;
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/glstuff/glGraphicsStateGuardian_src.h
===================================================================
RCS file: /cvsroot/panda3d/panda/src/glstuff/glGraphicsStateGuardian_src.h,v
retrieving revision 1.128
diff -u -r1.128 glGraphicsStateGuardian_src.h
--- panda/src/glstuff/glGraphicsStateGuardian_src.h	19 Jul 2007 16:16:41 -0000	1.128
+++ panda/src/glstuff/glGraphicsStateGuardian_src.h	13 Nov 2007 17:21:41 -0000
@@ -18,6 +18,8 @@
 
 #include "pandabase.h"
 
+#include "gl.h"
+#include "panda_glext.h"
 #include "graphicsStateGuardian.h"
 #include "geomVertexColumn.h"
 #include "texture.h"
@@ -81,6 +83,28 @@
 typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
 typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
 typedef void (APIENTRY * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
+// -- by reto spoerri (just so i know what i changed) --
+typedef void (APIENTRYP PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (APIENTRYP PFNGLVERTEXBLENDARBPROC) (GLint count);
+typedef void (APIENTRYP PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);
+typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
+typedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
+typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);
+typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);
+typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+typedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
+// -- end of reto spoerri --
 #endif  // __EDG__
 
 ////////////////////////////////////////////////////////////////////
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/grutil/ffmpegTexture.h
===================================================================
RCS file: /cvsroot/panda3d/panda/src/grutil/ffmpegTexture.h,v
retrieving revision 1.7
diff -u -r1.7 ffmpegTexture.h
--- panda/src/grutil/ffmpegTexture.h	20 Jul 2007 23:02:54 -0000	1.7
+++ panda/src/grutil/ffmpegTexture.h	13 Nov 2007 17:21:42 -0000
@@ -24,8 +24,10 @@
 
 #include "videoTexture.h"
 
-#include "avcodec.h"
-#include "avformat.h"
+extern "C" { 
+  #include "avcodec.h"
+  #include "avformat.h"
+}
 
 ////////////////////////////////////////////////////////////////////
 //       Class : OpenCVTexture
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/movies/ffmpegAudioCursor.cxx
===================================================================
RCS file: /cvsroot/panda3d/panda/src/movies/ffmpegAudioCursor.cxx,v
retrieving revision 1.3
diff -u -r1.3 ffmpegAudioCursor.cxx
--- panda/src/movies/ffmpegAudioCursor.cxx	2 Oct 2007 17:17:48 -0000	1.3
+++ panda/src/movies/ffmpegAudioCursor.cxx	13 Nov 2007 17:21:42 -0000
@@ -19,8 +19,10 @@
 #ifdef HAVE_FFMPEG
 
 #include "ffmpegAudioCursor.h"
-#include "avcodec.h"
-#include "avformat.h"
+extern "C" {
+  #include "avcodec.h"
+  #include "avformat.h"
+}
 
 TypeHandle FfmpegAudioCursor::_type_handle;
 
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/movies/ffmpegVideoCursor.cxx
===================================================================
RCS file: /cvsroot/panda3d/panda/src/movies/ffmpegVideoCursor.cxx,v
retrieving revision 1.4
diff -u -r1.4 ffmpegVideoCursor.cxx
--- panda/src/movies/ffmpegVideoCursor.cxx	26 Oct 2007 21:54:54 -0000	1.4
+++ panda/src/movies/ffmpegVideoCursor.cxx	13 Nov 2007 17:21:42 -0000
@@ -20,8 +20,10 @@
 
 #include "ffmpegVideoCursor.h"
 #include "config_movies.h"
-#include "avcodec.h"
-#include "avformat.h"
+extern "C" {
+  #include "avcodec.h"
+  #include "avformat.h"
+}
 #include "pStatCollector.h"
 #include "pStatTimer.h"
 
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/nativenet/socket_fdset.h
===================================================================
RCS file: /cvsroot/panda3d/panda/src/nativenet/socket_fdset.h,v
retrieving revision 1.4
diff -u -r1.4 socket_fdset.h
--- panda/src/nativenet/socket_fdset.h	7 Mar 2007 21:57:25 -0000	1.4
+++ panda/src/nativenet/socket_fdset.h	13 Nov 2007 17:21:42 -0000
@@ -36,7 +36,7 @@
     
     friend struct Socket_Selector;
     SOCKET _maxid;
-    fd_set _the_set;
+    mutable fd_set _the_set;
 };
 
 ////////////////////////////////////////////////////////////////////
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/osxdisplay/osxGraphicsPipe.h
===================================================================
RCS file: /cvsroot/panda3d/panda/src/osxdisplay/osxGraphicsPipe.h,v
retrieving revision 1.8
diff -u -r1.8 osxGraphicsPipe.h
--- panda/src/osxdisplay/osxGraphicsPipe.h	14 Jul 2007 05:49:43 -0000	1.8
+++ panda/src/osxdisplay/osxGraphicsPipe.h	13 Nov 2007 17:21:43 -0000
@@ -16,6 +16,8 @@
 #ifndef OSXGRAPHICSPIPE_H
 #define OSXGRAPHICSPIPE_H
 
+#include "gl.h"
+#include "panda_glext.h"
 #include "pandabase.h"
 #include "graphicspipe.h"
 
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/osxdisplay/osxGraphicsWindow.h
===================================================================
RCS file: /cvsroot/panda3d/panda/src/osxdisplay/osxGraphicsWindow.h,v
retrieving revision 1.18
diff -u -r1.18 osxGraphicsWindow.h
--- panda/src/osxdisplay/osxGraphicsWindow.h	2 Nov 2007 23:33:48 -0000	1.18
+++ panda/src/osxdisplay/osxGraphicsWindow.h	13 Nov 2007 17:21:43 -0000
@@ -19,6 +19,7 @@
 #include "pandabase.h"
 #include "graphicsWindow.h"
 #include "buttonHandle.h"
+#include "panda_glext.h"
 
 #include <Carbon/Carbon.h>
 
Index: /Volumes/OSX/_DOWNLOADS/_DEVELOPMENT/_LIBRARYS/Panda3d-CVS-pp/panda3d/panda/src/pandabase/pandabase.h
===================================================================
RCS file: /cvsroot/panda3d/panda/src/pandabase/pandabase.h,v
retrieving revision 1.6
diff -u -r1.6 pandabase.h
--- panda/src/pandabase/pandabase.h	13 Feb 2004 19:27:46 -0000	1.6
+++ panda/src/pandabase/pandabase.h	13 Nov 2007 17:21:43 -0000
@@ -20,6 +20,8 @@
    C or C++ file.  It must be compilable for C as well as C++ files,
    so no C++-specific code or syntax can be put here. */
 
+#define HAVE_OPENAL 1
+
 #ifndef PANDABASE_H
 #define PANDABASE_H
 

When you’re ready to have these diffs integrated, you need to contact one of the panda developers directly.