<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/581" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2006-10-06T12:30:26+00:00</updated>

	<author><name><![CDATA[Real-Time Physics Simulation Forum]]></name></author>
	<id>https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/581</id>

		<entry>
		<author><name><![CDATA[SteveBaker]]></name></author>
		<updated>2006-10-06T12:30:26+00:00</updated>

		<published>2006-10-06T12:30:26+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2068#p2068</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2068#p2068"/>
		<title type="html"><![CDATA[Demo Linking problems on Linux w/ v2.12]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2068#p2068"><![CDATA[
<blockquote class="uncited"><div>no, it's not a problem. Unless you enable profiling (btQuickprof.h) there is no symbols in the library, it is all inline headerfiles.<br><br>You can safely ignore it.<br>I might add some large methods in a cpp, to avoid this warning.<br><br>Thanks,<br>Erwin</div></blockquote>One of the other problems with empty libraries is that people using autoconf/automake can't easily detect whether the library is present or not.  In your 'configure.in' file, you say things like:<br><br>   AC_CHECK_LIB(GL, glBegin)<br><br>...which writes a little C/C++ program containing a glBegin() call and verifies that the program compiles and links OK against '-lGL'.   However, this can only work if there is at least one function which is both guaranteed to be there and to *NOT* be 'inline'.<br><br>So what I've started doing with my libraries is to define a 'do nothing' function that's explicitly there for AC_CHECK_LIB to find - it's a great convenience to the end user to have such a function and because it's only used for this special purpose, it's continued existance through any number of generations of the library is assured.  I always use the name of the library followed by the word 'Probe' - so (for example) my 'gameTools' library includes:<br><br>   void gameToolsProbe () { }   /* For autoconf/AC_CHECK_LIB - do not remove!! */<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=726">SteveBaker</a> — Fri Oct 06, 2006 12:30 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-10-05T20:08:35+00:00</updated>

		<published>2006-10-05T20:08:35+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2053#p2053</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2053#p2053"/>
		<title type="html"><![CDATA[Demo Linking problems on Linux w/ v2.12]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2053#p2053"><![CDATA[
no, it's not a problem. Unless you enable profiling (btQuickprof.h) there is no symbols in the library, it is all inline headerfiles.<br><br>You can safely ignore it.<br>I might add some large methods in a cpp, to avoid this warning.<br><br>Thanks,<br>Erwin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Thu Oct 05, 2006 8:08 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[daBrado]]></name></author>
		<updated>2006-10-05T19:49:41+00:00</updated>

		<published>2006-10-05T19:49:41+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2052#p2052</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2052#p2052"/>
		<title type="html"><![CDATA[Demo Linking problems on Linux w/ v2.12]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2052#p2052"><![CDATA[
Thanks for the info.<br><br>BTW, somewhat off topic though related to linking against Bullet libraries, when I link against bulletmath on OS X or Linux, I get something like this:<br><div class="codebox"><p>Code: </p><pre><code>/usr/bin/ld: warning empty table of contents: ./out/macosxppc/optimize/libs/libbulletmath.a (can't load from it)</code></pre></div>Is this a problem?<br><br>  - Braden<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=974">daBrado</a> — Thu Oct 05, 2006 7:49 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-10-05T19:05:29+00:00</updated>

		<published>2006-10-05T19:05:29+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2051#p2051</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2051#p2051"/>
		<title type="html"><![CDATA[Demo Linking problems on Linux w/ v2.12]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2051#p2051"><![CDATA[
I'm glad it fixed your problem. I just made the changes in Bullet 2.12a, so if that works you are fine.<br><br>Some linkers handle the forward/backward/cross-referencing of symbols automatically (doing a multi-pass approach etc), other linkers don't.<br><br>Apple's and Microsoft compiler handle it automatically, and so do some versions of GCC. it's best to not rely on it, and get the order right. Also, I made effort not to have circular dependencies, so no need to add libraries more then once.<br><br>Thanks,<br>Erwin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Thu Oct 05, 2006 7:05 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[daBrado]]></name></author>
		<updated>2006-10-05T19:01:43+00:00</updated>

		<published>2006-10-05T19:01:43+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2050#p2050</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2050#p2050"/>
		<title type="html"><![CDATA[Demo Linking problems on Linux w/ v2.12]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2050#p2050"><![CDATA[
<blockquote class="uncited"><div>First of all, it looks like a linker error, not a compile error.</div></blockquote>Indeed...<br><blockquote class="uncited"><div>What build system are you using? CMake or jam?</div></blockquote>Jam<br><br>Should I be using CMake for building Bullet?<br><blockquote class="uncited"><div>Demos/OpenglSupport defines a shared DemoApplication that uses Bullet or mouse picking and rendering of the collision shapes etc.<br>Link order for the libraries is openglsupport, bulletdynamics, bulletcollision, bulletmath.<br><br>Can you download Bullet-2.12a.tgz and report if that fixes things?</div></blockquote>I did, and the demos seem to build just fine now (using Jam).<br><br>Did you want me to do any of the other things mentioned above (edit the Jamfile, try CMake)?  Or does the fact Bullet-2.12a's demos build negate that need? <br><br>Also, I tried the above link order for my own program, and it also builds on the Linux machine.  Thanks!<br><br>I don't understand though.. the previous link order for my program failed on Linux but worked on my Mac OS X machine.  Does OS X's gcc v4.0.1 do something different in this regard?<br><br>Thanks again,<br>  Braden<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=974">daBrado</a> — Thu Oct 05, 2006 7:01 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-10-05T13:40:48+00:00</updated>

		<published>2006-10-05T13:40:48+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2046#p2046</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2046#p2046"/>
		<title type="html"><![CDATA[Demo Linking problems on Linux w/ v2.12]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2046#p2046"><![CDATA[
Hi,<br><br>First of all, it looks like a linker error, not a compile error.<br>What build system are you using? CMake or jam?<br>I just verified the Jamfile build system, and the order of the libraries is wong.<br><blockquote class="uncited"><div>g++ -o CcdPhysicsDemo ./out/linux/optimize/Demos/CcdPhysicsDemo/CcdPhysicsDemo.o  ./out/linux/optimize/libs/libbulletdynamics.a ./out/linux/optimize/libs/libbulletcollision.a ./out/linux/optimize/libs/libbulletopenglsupport.a ./out/linux/optimize/libs/libbulletmath.a -lglut -lGL -lSM -lICE -L/usr/X11R6/lib64 -lX11 -lXext -lpthread -lm -lGLU -lGL -lSM -lICE -L/usr/X11R6/lib64 -lX11 -lXext -lpthread -lm </div></blockquote>It looks like the linking order or not right. libopenglsupport.a needs to be included before libbulletdynamics.a.<br>CMakeLists.txt should have the order right, can you try CMake?<div class="codebox"><p>Code: </p><pre><code>LINK_LIBRARIES(LibOpenGLSupport  LibBulletDynamics  LibBulletCollision LibLinearMath    ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glU_LIBRARY})</code></pre></div>The Jamfile in the demos have the ordering wrong, please move bulletopenglsupport before bulletdynamics in Demos/Jamfile and let me know if that solves the link problem.<br><br>Demos/OpenglSupport defines a shared DemoApplication that uses Bullet or mouse picking and rendering of the collision shapes etc.<br>Link order for the libraries is openglsupport, bulletdynamics, bulletcollision, bulletmath.<br><br>Can you download Bullet-2.12a.tgz and report if that fixes things?<br><br>Thanks for the feedback<br>Erwin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Thu Oct 05, 2006 1:40 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[daBrado]]></name></author>
		<updated>2006-10-05T11:22:25+00:00</updated>

		<published>2006-10-05T11:22:25+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2045#p2045</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2045#p2045"/>
		<title type="html"><![CDATA[GCC Version]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2045#p2045"><![CDATA[
Oh, and this is the gcc version on the machine:<br><blockquote class="uncited"><div>gcc (GCC) 3.4.4 20050721 (Red Hat 3.4.4-2)</div></blockquote><p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=974">daBrado</a> — Thu Oct 05, 2006 11:22 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[daBrado]]></name></author>
		<updated>2006-10-05T11:15:22+00:00</updated>

		<published>2006-10-05T11:15:22+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2044#p2044</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2044#p2044"/>
		<title type="html"><![CDATA[Demo Linking problems on Linux w/ v2.12]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2044#p2044"><![CDATA[
Hi,<br><br>I am trying to use Bullet v2.12 on a 64 bit Linux machine, but am not having much luck.<br><br>The libraries appear to build alright, but none of the example programs or my own program seem to be able to link against the Bullet libraries.  However, on a G5 running Mac OS X I am able to do both these things just fine.<br><br>For example, here is what happens when trying to build CcdPhysicsDemo:<br><div class="codebox"><p>Code: </p><pre><code>LinkApplication CcdPhysicsDemo./out/linux/optimize/libs/libbulletopenglsupport.a(DemoApplication.o)(.text+0x2c80):    In function `DemoApplication::mouseFunc(int, int, int, int)':    : undefined reference to `btPoint2PointConstraint::btPoint2PointConstraint(btRigidBody&amp;, btVector3 const&amp;)'./out/linux/optimize/libs/libbulletopenglsupport.a(GL_ShapeDrawer.o)(.text+0x6b5):    In function `GL_ShapeDrawer::drawOpenGL(float*, btCollisionShape const*, btVector3 const&amp;, int)':    : undefined reference to `btStridingMeshInterface::InternalProcessAllTriangles(btInternalTriangleIndexCallback*, btVector3 const&amp;, btVector3 const&amp;) const'collect2: ld returned 1 exit status  g++ -o CcdPhysicsDemo ./out/linux/optimize/Demos/CcdPhysicsDemo/CcdPhysicsDemo.o  ./out/linux/optimize/libs/libbulletdynamics.a ./out/linux/optimize/libs/libbulletcollision.a ./out/linux/optimize/libs/libbulletopenglsupport.a ./out/linux/optimize/libs/libbulletmath.a -lglut -lGL -lSM -lICE -L/usr/X11R6/lib64 -lX11 -lXext -lpthread -lm -lGLU -lGL -lSM -lICE -L/usr/X11R6/lib64 -lX11 -lXext -lpthread -lm ...failed LinkApplication CcdPhysicsDemo ...</code></pre></div>Thank you for any help on this...<br><br>  - Braden<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=974">daBrado</a> — Thu Oct 05, 2006 11:15 am</p><hr />
]]></content>
	</entry>
	</feed>
