Any one up for OSX work.

Return to Compiling or Editing the Panda Source

Any one up for OSX work.

Postby Roger » Sat Mar 11, 2006 2:47 pm

!!! pview Works On OSX !!!!

I am not a apple developer just a C programming hack. Need to get some other eyes on this work and possible even some help in posishing the rough edges.

I just committed a working OSX windows framework to the head of the tree. I used AGL for rendering and carbon for events and windows. Some CGL code for full screen. It’s in a new directory osxwindow .

Very little of this is linked to python yet just. Doing all my wok in native panda (C++). I am using pview as a test case. I have multi-windowing, shared GL contexts, full screen, keyboard and mouse events working. I ignored none mouse/keyboard input for know.

Using some test eggs I was able to load both models and animations and have them run as expected. I still need to find all the changes and get the committed to the CVS.

I next started to bring in the external packages. Opensll, fft, png, jpeg,.Being a FreeBSD diehard I deciding to use the Darwin ports collection to do all this. Turned out to be a breeze. No major problems. So know have c++ panda working with jpegs and png......

The next think I started to work on was the py bindings. When I stopped yesterday I had pandaexpress working inside python, But had to link libandaexpress by hand not using make enviorment.

So I am making good progress. What IS my environment?

1 All code from CVSs root.
2 Darwin 10.4 . 10.3 and earlier have a bug in dylib loader and c++ constructors.
3 External modules are loaded from Darwin ports collection .
4. Build enviorment is pprenake ( ./configure osx as target)
5. Python version is 2.4 from http://www.python.org/download/mac/ (used installers)


I know I have allot of files I have not committed to cvs yet. Ill try and get them asap.

Current section of work is making the panda build environment understand the difference between bundles and dynamic libraries. Arrg.. caught me by surprise.

http://fink.sourceforge.net/doc/porting ... phpLang=en

Python plug-ins need to be bundles not dylibs .. so I need to figure out how to add a new class target to ppremake that generates a different linker command for python plugins on OSX. I do not imagine this is hard just still hacking inside of ppremake and do not fully understand this environment.


Roger
Roger
 
Posts: 31
Joined: Thu Feb 16, 2006 3:59 pm

Postby kaweh » Thu Mar 30, 2006 7:18 am

hi there,

how is this effort coming along? would be interesting to see panda available on OS X.

cheers,
kw.
kaweh
 
Posts: 173
Joined: Thu Mar 30, 2006 7:15 am
Location: Vienna, Austria

Postby Roger » Fri Mar 31, 2006 1:05 am

Yes I can announce PAND3D runs OSX 10.4 or higher. ( only off head of CVS tree)

I need some one else to help clean up the builds and prove what I have done is repeatable. Still fiddling around trying to get some buffers and context sharing issues working. Kind of colliding with some other work going on the core glggs.

So What Works ..
Python Bindings and repository. ( Native Interrogate)
GL / window system ( Stll hacking here )
KeyBord events
MultiLangual key Input
Mouse events and tracking
ppremake build environment


So what Does Not work or not tried.
NSP library and bindings…. not sure why It is need ?
Sound library
Pixel / fragment shaders
CMU build environment

I would love to get a couple of people to help and validate the build /install steps. By chance You up to some make/ppremake hacking and C compiling?

Roger
Roger
 
Posts: 31
Joined: Thu Feb 16, 2006 3:59 pm

Postby bigfoot29 » Mon Apr 03, 2006 3:25 am

Wow... nice work. Nice progress. Its a shame that there are only few ppl are dev'ing for Panda3D outside of Disney... (and even less for MacOS X) If there is any support, a noobish' non-Mac-User can give you (that even can't compile the installing package using linux - dunno why), lemme know.
Would be great to see this architecture in the list of Panda's "have" side :)

Regards, Bigfoot29
User avatar
bigfoot29
 
Posts: 618
Joined: Thu Jun 30, 2005 4:22 am
Location: Germany

Willing to test compile for OS X

Postby delza » Mon Apr 10, 2006 3:49 pm

I'm very excited to see Panda3D finally coming to OS X. I'm willing to help test it out, have just checked out from CVS head. What exactly do I need to get it compiled and tested?

--Dethe
delza
 
Posts: 1
Joined: Mon Apr 10, 2006 1:02 pm
Location: Vancouver, BC, Canada

Postby Roger » Wed Apr 12, 2006 6:29 pm

I used a virgin OS 10.4 install ( cd)
Patch to current Apple Upgrades
Installed Dev Tools From same CD

1 Install Darwin Ports ..
http://darwinports.opendarwin.org/getdp/
Fallow Current Instructions

2. ports
sudo port install jpeg
sudo port install libpng
sudo port install tiff (Will also Grab zlib)
sudo port install freetype
sudo port install fftw

fftw @2.1.5_2 (active)
freetype @2.1.10_1 (active)
jpeg @6b_1 (active)
libpng @1.2.8_2+darwin_8 (active)
tiff @3.8.0_0+darwin_8 (active)
zlib @1.2.3_0 (active)

By default the ports are installed into the /opt/ directory tree s set you path and such ..................
Get Python 2.4
Python version is 2.4 from http://www.python.org/download/mac/ (used installers)

My Bash Profile… ................................
PATH=/Library/Frameworks/Python.framework/Versions/2.4/bin:${PATH}
:/usr/local/panda/bin/:/opt/local/bin/:
~/bin/:/Library/Frameworks/Python.framework/Versions/2.4/bin


C_INCLUDE_PATH=/usr/include/malloc/ ; export C_INCLUDE_PATH
CPLUS_INCLUDE_PATH=/usr/include/malloc/ ; export CPLUS_INCLUDE_PATH

LOCAL_PPREMAKE_CONFIG=/Users/roger/Config.pp ; export LOCAL_PPREMAKE_CONFIG
PPREMAKE_CONFIG=/Users/roger/Config.pp ; export PPREMAKE_CONFIG

DTOOL=/home/roger/player/dtool
PYTHONPATH=/Users/roger/player:/usr/local/panda/lib; export PYTHONPATH

CVS_RSH=/usr/bin/ssh ; export CVS_RSH

MACOSX_DEPLOYMENT_TARGET=10.4; export MACOSX_DEPLOYMENT_TARGET

DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}/usr/local/panda/lib: ; export DYLD_LIBRARY_PATH
................................


sudo mkdir /usr/local/panda
sudo chmod 777 /usr/local/panda

.................................

mkdir player
cd player

cvs -d xxxxxxxxxx@cvs.sourceforge.net:/cvsroot/panda3d co ppremake
aclocal
autoheader
automake --foreign -a
autoconf
./configure -with-platform=osx
make install

...............

Create Local Config.pp
In home directory

.... Config.pp looks like
#define OPTIMIZE 2
#define HAVE_GL 1
#define INSTALL_PYTHON_SOURCE
#define GENPYCODE_LIBS libtoontown libotp libpandaexpress libpanda libpandaphysics libdirect libpandafx

#define PRC_PATH_ENVVARS CFG_PATH ETC_PATH
#define DEFAULT_PATHSEP : :

.... dtools
cvs -d xxxxxxxxxxxxxxxxxx@cvs.sourceforge.net:/cvsroot/panda3d co dtool
cd dtools


ppremake
make install

.... panda

cvs -d xxxxxxxxxxxxxxxx@cvs.sourceforge.net:/cvsroot/panda3d co dtool
cd panda
ppremake
make install
Roger
 
Posts: 31
Joined: Thu Feb 16, 2006 3:59 pm

Postby tetious » Thu Apr 13, 2006 9:56 am

Hi Roger,

Do you think you could create a tarball of your developer CVS checkout? Sourceforge's anonymous CVS servers haven't synced in a few weeks. :(

Thanks for all your great work on this! I can't wait to start playing with it.
Greg
tetious
 
Posts: 4
Joined: Wed Apr 12, 2006 3:00 pm

Postby Roger » Fri Apr 14, 2006 3:03 pm

Well hmm I do not have a good place to park this for public consumption. The “rumorâ€
Roger
 
Posts: 31
Joined: Thu Feb 16, 2006 3:59 pm

Postby r0ckch0ps » Thu Apr 27, 2006 1:20 am

I almost got it all to compile, but then I get this wonky syntax error while compiling panda:

Code: Select all
interrogate -od Opt2-osx/libpnmimage.in -oc Opt2-osx/libpnmimage_igate.cxx -DCPPPARSER -D__STDC__=1 -D__cplusplus -D__ppc__ -D__const=const -Dvolatile -D__BIG_ENDIAN__ -D__inline__=inline -D__GNUC__ -S/usr/local/panda/include/parser-inc -S/usr/include -I/usr/local/panda/panda -I../express -I../linmath -I../pandabase -I../pipeline -I../putil -I/usr/local/panda/include -I/Library/Frameworks/Python.framework/Headers -D_DEBUG  -fnames -string -refcount -assert -python-native  -track-interpreter  -module "panda" -library "libpnmimage" config_pnmimage.h pnmbitio.h pnmFileType.h pnmFileTypeRegistry.h pnmImage.h pnmImageHeader.h pnmReader.h pnmWriter.h pnmimage_base.h ppmcmap.h pnmimage_composite1.cxx pnmimage_composite2.cxx
      *** Error in /usr/include/stdarg.h near line 49, column 2:
      parse error, expecting `'{'' or `';'' or `':'' or `'=''
Error parsing file: 'pnmimage_composite2.cxx'
make[1]: *** [Opt2-osx/libpnmimage_igate.cxx] Error 1
make: *** [install-pnmimage] Error 2


any ideas?

Thanks,
-RC
r0ckch0ps
 
Posts: 12
Joined: Mon Feb 13, 2006 1:27 pm

Postby Roger » Thu Apr 27, 2006 7:43 pm

Going to need a little bit more info. I have basically the exact same line for my /panda/src/pnmimage interigate iyet it seems to get past this problem ? . I looked at my /usr/include/stdarg.h
An it only has a handful of lines..

/* This file is public domain. */
/* GCC uses its own copy of this header */
#if defined(__GNUC__)
#include_next <stdarg.h>
#elif defined(__MWERKS__)
#include "mw_stdarg.h"
#else
#error "This header only supports __MWERKS__."
#endif


I did find another stdargs on the machine but it is under the 3.3 compiler directories ?
If I can get you to look at you my /usr/include/stdarg.h.. mayby this is a versioning issue.

Here are a cpuple of version dumps ..
$ gcc –v

Reading specs from /usr/lib/gcc/powerpc-apple-darwin8/4.0.0/specs
Configured with: /private/var/tmp/gcc/gcc-4061.obj~8/src/configure --disable-checking --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^+.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/gcc/darwin/4.0/c++ --build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8
Thread model: posix
gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)



uname -a
Darwin -power-mac-g4-agp-graphics.local 8.5.0 Darwin Kernel Version 8.5.0: Sun Jan 22 10:38:46 PST 2006; root:xnu-792.6.61.obj~1/RELEASE_PPC Power Macintosh powerpc


Not sure where to go from here.. Any ideas ?

Roger
Roger
 
Posts: 31
Joined: Thu Feb 16, 2006 3:59 pm

Nearly built...

Postby paul » Mon May 01, 2006 4:31 am

Hi I have followed your (Roger) instructions on my OSX 10.4.6 (PPC) install. And I have dtools compiled, but I'm having problems with panda.

...
cd ./src/express && make install
interrogate -od Opt2-osx/libexpress.in -oc Opt2-osx/libexpress_igate.cxx -DCPPPARSER -D__STDC__=1 -D__cplusplus -D__ppc__ -D__const=const -Dvolatile -D__BIG_ENDIAN__ -D__inline__=inline -D__GNUC__ -S/usr/local/panda/include/parser-inc -S/usr/include -I/Users/paul/panda -I../pandabase -I/usr/local/panda/include -I/Library/Frameworks/Python.framework/Headers -D_DEBUG -fnames -string -refcount -assert -python-native -track-interpreter -module "pandaexpress" -library "libexpress" atomicAdjustDummyImpl.h atomicAdjust.h atomicAdjustImpl.h atomicAdjustNsprImpl.h atomicAdjustPosixImpl.h atomicAdjustWin32Impl.h bigEndian.h buffer.h checksumHashGenerator.h circBuffer.h config_express.h datagram.h datagramGenerator.h datagramIterator.h datagramSink.h dcast.h encryptStreamBuf.h encryptStream.h error_utils.h hashGeneratorBase.h hashVal.h indirectLess.h littleEndian.h memoryInfo.h memoryUsage.h memoryUsagePointerCounts.h memoryUsagePointers.h multifile.h namable.h nativeNumericData.h numeric_types.h ordered_vector.h password_hash.h patchfile.h pointerTo.h pointerToArray.h pointerToBase.h pointerToVoid.h profileTimer.h pta_uchar.h ramfile.h referenceCount.h reversedNumericData.h streamReader.h streamWriter.h stringDecoder.h subStream.h subStreamBuf.h textEncoder.h tokenBoard.h trueClock.h typedReferenceCount.h typedef.h unicodeLatinMap.h vector_uchar.h virtualFileComposite.h virtualFile.h virtualFileList.h virtualFileMount.h virtualFileMountMultifile.h virtualFileMountSystem.h virtualFileSimple.h virtualFileSystem.h weakPointerTo.h weakPointerToBase.h weakPointerToVoid.h weakReferenceList.h windowsRegistry.h zStream.h zStreamBuf.h express_composite1.cxx express_composite2.cxx
*** Error in /usr/include/architecture/ppc/math.h near line 74, column 3:
"Unsupported value of __FLT_EVAL_METHOD__."
Error parsing file: 'atomicAdjustDummyImpl.h'
make[1]: *** [Opt2-osx/libexpress_igate.cxx] Error 1
make: *** [install-express] Error 2


Any suggestions on how to get by this, I did exactly as you're post outlined.

In the bash_profile you set a DTOOL variable but don't export it, is that right? (I haven't exported it on mine but I was just wondering about it).

Also I'm assuming with the panda phase the cvs co is of the 'panda' module rather than the dtool module (again) ;)

Thanks in advance for any help anyone can offer.
paul
 
Posts: 10
Joined: Mon May 01, 2006 4:23 am

Postby Fixer » Mon May 01, 2006 3:39 pm

Paul,

I've seen something similar while I was attempting to build on OS X under makepanda.

It may help to look at this forum post on the makepanda side: http://panda3d.org/phpbb2/viewtopic.php?t=295&start=30. The basic issue is that interrogate isn't generalized enough to parse the system header files whilst building the python wrappers; to prevent interrogate from traversing up the tree, you can put stub files in one of the source directories to stop interrogate from finding the system headers.

Best of luck,
Mark
Fixer
 
Posts: 190
Joined: Tue May 17, 2005 7:03 pm
Location: Pittsburgh, PA

Postby Roger » Mon May 01, 2006 5:29 pm

Weird. There seems to be different version of the .h files running around not sure the exact problem here. Only reference I can find to this value is in float.h under /usr/include/gcc/darwin/3.3 I did use gcc 4.0 not 3.3 so not sure of the 3.3 behavior But looking at the floats.h it will not parse without the symbol present.

.... But lets focus on a simple solution. For symbols that are hard defined in a compiler ( GCC) You can just transfer them to the interrogate preprocessor. Something like this .

1. From the command line

gcc -E -dM - < /dev/null | grep "__FLT_EVAL"
#define __FLT_EVAL_METHOD__ 0

2. Then we need to let interrogate know what the compiler thinks this symbol. A simple answer is to modify the SYSTEM_IGATE_FLAGS in Config.osx.

#define SYSTEM_IGATE_FLAGS -D__ppc__ -D__const=const -Dvolatile -D__BIG_ENDIAN__ -D__inline__=inline -D__GNUC__ -D __FLT_EVAL_METHOD__=0

Again I am curious what compiler version you are using

Seeing a “cpp –v “ would be great .. Here is mine.

cpp -v
Reading specs from /usr/lib/gcc/powerpc-apple-darwin8/4.0.0/specs
Configured with: /private/var/tmp/gcc/gcc-4061.obj~8/src/configure --disable-checking --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^+.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/gcc/darwin/4.0/c++ --build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8
Thread model: posix
gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.0/cc1 -E -traditional-cpp -mconstant-cfstrings -quiet -v -I/usr/include -D__DYNAMIC__ -D__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__=1040 - -fPIC
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/../../../../powerpc-apple-darwin8/include"
ignoring duplicate directory "/usr/include"
as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
/usr/include/malloc/
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/include
/usr/include
/System/Library/Frameworks
/Library/Frameworks
End of search list.

Roger
Roger
 
Posts: 31
Joined: Thu Feb 16, 2006 3:59 pm

Postby paul » Mon May 01, 2006 6:19 pm

cpp -v
Using built-in specs.
Target: powerpc-apple-darwin8
Configured with: /private/var/tmp/gcc/gcc-5250.obj~12/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 --target=powerpc-apple-darwin8
Thread model: posix
gcc version 4.0.1 (Apple Computer, Inc. build 5250)
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/cc1 -E -traditional-cpp -quiet -v -I/usr/include -D__DYNAMIC__ - -fPIC -mmacosx-version-min=10.4
ignoring nonexistent directory "/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../../powerpc-apple-darwin8/include"
ignoring duplicate directory "/usr/include"
as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
/usr/include/malloc/
/usr/local/include
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/include
/usr/include
/System/Library/Frameworks
/Library/Frameworks
End of search list.


That's my cpp -v

I haven't tried any of those solutions yet, but will do in a couple of hours.
paul
 
Posts: 10
Joined: Mon May 01, 2006 4:23 am

Postby Roger » Mon May 01, 2006 7:51 pm

My version = gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)
Yours = gcc version 4.0.1 (Apple Computer, Inc. build 5250)

hmm yup you are on a newer version than me ;(. I guess I need to get a new version.


Paul.

You did get the gist of the previous post. The gcc compiler has some hard coded “sort of ‘ preprocessor #defines and some of there .h files must have them to parse properly. The easiest way I know to get by this is to just.

1. Query what the compiler has hard coded.
a. For gcc use “gcc -E -dM - < /dev/nullâ€
Roger
 
Posts: 31
Joined: Thu Feb 16, 2006 3:59 pm

Postby paul » Tue May 02, 2006 6:20 pm

Well what you suggested worked Roger, but then I hit another problem after about an hour of building (I'm building this on a laptop).

g++ -ftemplate-depth-30 -c -o Opt2-osx/glgsg_config_glgsg.o -I. -I/Users/paul/panda -I../cull -I../display -I../downloader -I../effects -I../event -I../express -I../glstuff -I../gobj -I../gsgbase -I../lerp -I../linmath -I../mathutil -I../pandabase -I../pgraph -I../pipeline -I../pnmimage -I../pstatclient -I../putil -I/usr/local/panda/include -I/Library/Frameworks/Python.framework/Headers -D_DEBUG -Wall -g -O2 config_glgsg.cxx
../glstuff/glGraphicsStateGuardian_src.h:386: error: 'PFNGLGETCOMPRESSEDTEXIMAGEPROC' does not name a type
../glstuff/glGraphicsStateGuardian_src.h:430: error: 'PFNGLGENQUERIESPROC' does not name a type
../glstuff/glGraphicsStateGuardian_src.h:431: error: 'PFNGLBEGINQUERYPROC' does not name a type
../glstuff/glGraphicsStateGuardian_src.h:432: error: 'PFNGLENDQUERYPROC' does not name a type
../glstuff/glGraphicsStateGuardian_src.h:433: error: 'PFNGLDELETEQUERIESPROC' does not name a type
../glstuff/glGraphicsStateGuardian_src.h:434: error: 'PFNGLGETQUERYOBJECTUIVPROC' does not name a type
make[1]: *** [Opt2-osx/glgsg_config_glgsg.o] Error 1
make: *** [install-glgsg] Error 2


Any suggestions regarding this?
paul
 
Posts: 10
Joined: Mon May 01, 2006 4:23 am

Postby Roger » Wed May 03, 2006 12:25 am

Well. This to is a problem. Man I really appreciate you jumping threw these hoops. At some point me and Josh owe you all a prebuilt running environment. Or at least a clean build tree for osx.

Three things seem to be actively changing in panda. One is a threaded renderer/ cull engine. The second is the way the graphic state guardian interacts and communicates with the lower level objects. The third is some people are mucking with some new GL features like shaders and looks like glquerry object interface. The issue here is that panda has a local glut definition file that is working agenst the apple glut file and Opengl.h . Odviously the “HACKSâ€
Roger
 
Posts: 31
Joined: Thu Feb 16, 2006 3:59 pm

Postby paul » Wed May 03, 2006 12:44 am

That's fine Roger - I'm really keen on getting panda working.

Found it: panda_glext.h
I'll do those changes and give it a try :)

Thanks for your continual help.
paul
 
Posts: 10
Joined: Mon May 01, 2006 4:23 am

Postby paul » Wed May 03, 2006 1:34 am

Erm... I think it worked.... I think

Make install completed... hrm - I don't seem to have a ppython in my /usr/local/panda/bin directory

Any advice?
paul
 
Posts: 10
Joined: Mon May 01, 2006 4:23 am

Postby Roger » Wed May 03, 2006 9:18 am

Cool. You have made it threw the hard part. Try pview. And see if you get basic functionality. There are some more complex samples in the model tree if you loaded that.

Pview mysample.egg

I am not even sure what ppython is. Maybe someone else can help here I just use the real python2.4 binary. Get python and panda in you path(s) and load a library you just generated and call sum functions….:). They are the *.so in the /usr/local/panda/lib directory.

Something like

python
import libpandaexpress
dir(libpandaexpress)


To go to the next step you will need direct and to successfully run the genpycode. Direct is small but is the glue to most of the python environment and a base repository as a kick start for a lot of peoples code.




Roger

PS.
Alter the line in your Config.pp file to read something like this

#define GENPYCODE_LIBS libpandaexpress libpanda libpandaphysics libdirect libpandafx
Roger
 
Posts: 31
Joined: Thu Feb 16, 2006 3:59 pm

Postby Fixer » Wed May 03, 2006 10:50 am

If I recall correctly, ppython is a Windows wrapper EXE that sets up your path correctly to find the Panda libraries and then executes the Python installed with Panda. I noticed when I built Linux that it didn't come out of the build process (at least, not on a path where I could find it), so I wouldn't be surprised if the same were true of OSX. You can probably just ignore it and instead set your PYTHONPATH and LD_LIBRARY_PATH variables correctly (or write your own ppython shell script that does this).

Best of luck,
Mark
Fixer
 
Posts: 190
Joined: Tue May 17, 2005 7:03 pm
Location: Pittsburgh, PA

Postby drwr » Wed May 03, 2006 11:43 am

ppython is generated by the makepanda build tool, but not by the ppremake build tool. The ppremake tool just uses whatever your system version of Python is (or whatever version you point it at in your Config.pp file).

David
drwr
 
Posts: 11425
Joined: Fri Feb 13, 2004 12:42 pm
Location: Glendale, CA

Postby paul » Wed May 03, 2006 6:16 pm

Where, and how do I get direct? I don't have a 'libdirect.*' in my /usr/local/panda/lib/ directory.

Do I have to do a seperate check out and build for direct?

pview is working fine - I downloaded a rabbit egg and loaded it into pview just fine.

Thanks for the help everyone.
paul
 
Posts: 10
Joined: Mon May 01, 2006 4:23 am

Postby drwr » Wed May 03, 2006 6:46 pm

Yes, direct is a separate checkout; it's a peer of the panda tree.

David
drwr
 
Posts: 11425
Joined: Fri Feb 13, 2004 12:42 pm
Location: Glendale, CA

Postby paul » Wed May 03, 2006 6:51 pm

Has anonymous permission to cvs been removed? :(

I can't 'login' as anonymous, nor can I 'Browse CVS' in source forge (Returns a 'not found').

Is there another way to get 'direct' ?
paul
 
Posts: 10
Joined: Mon May 01, 2006 4:23 am

Postby drwr » Wed May 03, 2006 9:08 pm

Sounds like a SourceForge issue. SourceForge wouldn't let us remove anonymous access even if we wanted to; that's the whole point of SourceForge's existance. But the cvs server does occasionally hiccup.

David
drwr
 
Posts: 11425
Joined: Fri Feb 13, 2004 12:42 pm
Location: Glendale, CA

Postby paul » Thu May 04, 2006 6:25 pm

Well I managed to checkout direct.
and I ran 'ppremake' in it, then ran 'make install'.
And it built a few things but then had a link error:

g++ -undefined dynamic_lookup -dynamic -dynamiclib -o Opt2-osx/libdeadrec.dylib -install_name libdeadrec.dylib Opt2-osx/deadrec_deadrec_composite1.o Opt2-osx/libdeadrec_igate.o -L../directbase/Opt2-osx -L/usr/local/panda/lib -L/usr/local/panda/lib -L/usr/local/panda/lib -ldirectbase -lexpress -llinmath -linterrogatedb -ldconfig -ldtoolutil -ldtoolbase -lprc -lpandabase -lputil -framework Python
ld: warning can't open dynamic library: libpipeline.dylib referenced from: /usr/local/panda/lib/liblinmath.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
ld: Undefined symbols:
__ZN9CycleData17complete_pointersEPP13TypedWritableP9BamReader referenced from libputil expected to be defined in libpipeline.dylib
__ZN9CycleData6fillinER16DatagramIteratorP9BamReader referenced from libputil expected to be defined in libpipeline.dylib
__ZN9CycleData6fillinER16DatagramIteratorP9BamReaderPv referenced from libputil expected to be defined in libpipeline.dylib
__ZN9CycleDataD2Ev referenced from libputil expected to be defined in libpipeline.dylib
__ZNK9CycleData14write_datagramEP9BamWriterR8Datagram referenced from libputil expected to be defined in libpipeline.dylib
__ZNK9CycleData14write_datagramEP9BamWriterR8DatagramPv referenced from libputil expected to be defined in libpipeline.dylib
__ZNK9CycleData6outputERSo referenced from libputil expected to be defined in libpipeline.dylib
__ZTI9CycleData referenced from libputil expected to be defined in libpipeline.dylib
__ZN10MutexDebugD2Ev referenced from libputil expected to be defined in libpipeline.dylib
__ZNK10MutexDebug6outputERSo referenced from libputil expected to be defined in libpipeline.dylib
__ZTI10MutexDebug referenced from libputil expected to be defined in libpipeline.dylib
/usr/bin/libtool: internal link edit command failed
make[1]: *** [Opt2-osx/libdeadrec.dylib] Error 1
make: *** [deadrec] Error 2


Any advice on this?
paul
 
Posts: 10
Joined: Mon May 01, 2006 4:23 am

Postby drwr » Thu May 04, 2006 10:52 pm

Try adding "pipeline:c" to the list of libraries named in the OTHER_LIBS line in direct/src/deadrec/Sources.pp.

David
drwr
 
Posts: 11425
Joined: Fri Feb 13, 2004 12:42 pm
Location: Glendale, CA

Postby paul » Fri May 05, 2006 12:04 am

Well that worked, I had to rinse and repeat that process for a bunch of other libs as well.

So it built and installed fine (I think).

But now - when I open python interactive

>>> import direct.directbase.DirectStart
DirectStart: Starting the game.
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "direct/src/directbase/DirectStart.py", line 3, in ?
from direct.showbase import ShowBase
File "direct/src/showbase/ShowBase.py", line 6, in ?
from pandac.PandaModules import *
ImportError: No module named pandac.PandaModules
>>>
>>> import pandac # Just to double check that pandac is missing.
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: No module named pandac


Where do I get (or am I suppose to already have) pandac?
:?
paul
 
Posts: 10
Joined: Mon May 01, 2006 4:23 am

Postby drwr » Fri May 05, 2006 12:37 am

pandac/PandaModules.py should be generated when you run genPyCode.

David
drwr
 
Posts: 11425
Joined: Fri Feb 13, 2004 12:42 pm
Location: Glendale, CA

Next

Return to Compiling or Editing the Panda Source

Who is online

Users browsing this forum: mgracer48, rdb and 0 guests