ports/115701: devel/ode: does not build
Dmitry Marakasov
amdmi3 at amdmi3.ru
Thu Aug 23 01:28:03 UTC 2007
* Jose Alonso Cardenas Marquez (jacardenasm at gmail.com) wrote:
> Hi, it's an strange error because if you try to build devel/ode
> again, it will compile without problems.
>
> tb3 and tb4 tinderboxes build devel/ode without problems but i saw
> this error some times when i was testing ode 0.8.
>
> http://tb3.droso.net/logs/6-acm/ode-0.8,1.log
> http://tb4.droso.net/logs/6-STABLE/ode-0.8,1.log
>
> Try
>
> make clean clean-depends && make install clean clean-depends
Doesn't help (I have no work dirs at all).
Building again doesn't help either.
Though, I've built it and I know the cause of an error.
In the command line that fails:
c++ -DHAVE_CONFIG_H -I. -I. -I../../include/ode -O2 -fPIC -I/usr/local/include -I../../include -I../../include -I/usr/work/usr/ports/devel/ode/work/ode-0.8/OPCODE -I/usr/work/usr/ports/devel/ode/work/ode-0.8/OPCODE/Ice -DdTRIMESH_ENABLED -DdTRIMESH_OPCODE -O2 -fno-strict-aliasing -pipe -march=pentium4 -I/usr/local/include -L/usr/local/lib -MT libode_a-ode.o -MD -MP -MF ".deps/libode_a-ode.Tpo" -c -o libode_a-ode.o `test -f 'ode.cpp' || echo './'`ode.cpp
, the problem are -I options:
-I../../include/ode -I/usr/local/include -I../../include
Thus, include files from currently installed ode 0.7 are used -> bad.
After pkg_deleting ode-0.7 and recompiling, I've ran into another error:
---
if c++ -DHAVE_CONFIG_H -I. -I. -I../../include/ode -O2 -fPIC -I/usr/local/include -I../../include -I../../include -I/usr/work/usr/ports/devel/ode/work/ode-0.8/OPCODE -I/usr/work/usr/ports/devel/ode/work/ode-0.8/OPCODE/Ice -DdTRIMESH_ENABLED -DdTRIMESH_OPCODE -O2 -fno-strict-aliasing -pipe -march=pentium4 -I/usr/local/include -L/usr/local/lib -MT libode_a-collision_util.o -MD -MP -MF ".deps/libode_a-collision_util.Tpo" -c -o libode_a-collision_util.o `test -f 'collision_util.cpp' || echo './'`collision_util.cpp; \
then mv -f ".deps/libode_a-collision_util.Tpo" ".deps/libode_a-collision_util.Po"; else rm -f ".deps/libode_a-collision_util.Tpo"; exit 1; fi
collision_util.cpp: In function `void dInfiniteAABB(dxGeom*, dReal*)':
collision_util.cpp:458: error: expected primary-expression before ';' token
collision_util.cpp:459: error: expected primary-expression before ';' token
collision_util.cpp:460: error: expected primary-expression before ';' token
collision_util.cpp:461: error: expected primary-expression before ';' token
collision_util.cpp:462: error: expected primary-expression before ';' token
collision_util.cpp:463: error: expected primary-expression before ';' token
gmake[2]: *** [libode_a-collision_util.o] Error 1
gmake[2]: Leaving directory `/usr/work/usr/ports/devel/ode/work/ode-0.8/ode/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/work/usr/ports/devel/ode/work/ode-0.8/ode'
gmake: *** [all-recursive] Error 1
*** Error code 2
Stop in /usr/ports/devel/ode.
*** Error code 1
Stop in /usr/ports/devel/ode.
---
This happens because dInfinity is not defined in config.h:
---
% grep dInfi include/ode/config.h
/* dInfinity Constant */
#define dInfinity
---
After I've defined it as FLT_MAX, the compilation succeeded.
If you want, I can investigate why exactly this constant does not get
defined on my system. (quick grep config.log for now:
configure:7752: checking for appropriate dInfinity constant
configure:7754: result:
)
--
Best regards,
Dmitry Marakasov mailto:amdmi3 at amdmi3.ru
More information about the freebsd-ports-bugs
mailing list