FreeBSD 6.1/AMD64: Celestia 1.3.2/1.4.1 not working?

O. Hartmann ohartman at uni-mainz.de
Fri Mar 24 14:38:47 UTC 2006


Hello.
Compiling port Celestia 1.3.2 on FreeBSD 6.1-PRE/i386 works fine, but
while compiling works on FreeBSD 6.1-PRE/AMD64, starting application
results in segmentation fault: Signal 11. This leads me into conclusion
Celestia 1.3.2 is not 64 Bit clean.
Therefore, I tried compiling the sources of Celestia 1.4.1 taken from
www.shatters.net on FreeBSD 6.1/i386, but this task ends up in compiler
errors:

--------------------------------------
Making all in cel3ds
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I..     -Wnon-virtual-dtor
-Wno-long-lon                                                         g
-Wundef -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2
-pipe                                                          -pthread
-march=pentium4 -ffast-math -fno-strict-aliasing -fno-exceptions -fno-
                                                       check-new
-fno-common  -O2 -Wall -ffast-math -fexpensive-optimizations -fomit-fr
                                                       ame-pointer
-DXTHREADS -DXUSE_MTSAFE_API -I/usr/local/include/atk-1.0 -I/usr/loc
                                                     al/include/cairo
-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include

-I/usr/X11R6/include/gtk-2.0 -I/usr/X11R6/lib/gtk-2.0/include
-I/usr/X11R6/incl
  ude/pango-1.0 -I/usr/X11R6/include -I/usr/local/include/freetype2
-I/usr/local/i
nclude -I/usr/X11R6/include/gtkglext-1.0
-I/usr/X11R6/lib/gtkglext-1.0/include
                         -I/usr/local/include/cairo  -MT 3dsread.o -MD
-MP -MF ".deps/3dsread.Tpo"  -c -
                  o 3dsread.o `test -f '3dsread.cpp' || echo
'./'`3dsread.cpp;  then mv -f ".deps/
                      3dsread.Tpo" ".deps/3dsread.Po";  else rm -f
".deps/3dsread.Tpo"; exit 1;  fi
In file included from ../celutil/bytes.h:15,
                 from 3dsread.cpp:15:
../../config.h:256: error: declaration of C function `long unsigned int
strlcat(                                                         char*,
const char*, long unsigned int)' conflicts with
/usr/include/string.h:87: error: previous declaration `size_t
strlcat(char*, con
   st char*, size_t)' here
../../config.h:268: error: declaration of C function `long unsigned int
strlcpy(                                                         char*,
const char*, long unsigned int)' conflicts with
/usr/include/string.h:88: error: previous declaration `size_t
strlcpy(char*, con
   st char*, size_t)' here
3dsread.cpp:514: warning: unused parameter 'contentSize'
3dsread.cpp:490: warning: unused parameter 'contentSize'
3dsread.cpp:344: warning: unused parameter 'contentSize'
3dsread.cpp:308: warning: unused parameter 'in'
3dsread.cpp:308: warning: unused parameter 'chunkType'
3dsread.cpp:308: warning: unused parameter 'contentSize'
3dsread.cpp:308: warning: unused parameter 'obj'
3dsread.cpp:276: warning: unused parameter 'nBytes'
3dsread.cpp:264: warning: unused parameter 'nBytes'
3dsread.cpp:252: warning: unused parameter 'nBytes'
3dsread.cpp:119: warning: unused parameter 'chunkSize'
../celutil/bytes.h:24: warning: 'short unsigned int bswap_16(short
unsigned int)                                                         '
defined but not used
../celutil/bytes.h:28: warning: 'unsigned int bswap_32(unsigned int)'
defined but not used
*** Error code 1

Stop in /usr/data/gnu/compile/system/celestia-1.4.1/src/cel3ds.
*** Error code 1

Stop in /usr/data/gnu/compile/system/celestia-1.4.1/src.
*** Error code 1

Stop in /usr/data/gnu/compile/system/celestia-1.4.1.
*** Error code 1

Stop in /usr/data/gnu/compile/system/celestia-1.4.1.
--------------------------------------

This looks like a very simple mistake where config.h overwrites
declarations done via string.h, but I'm not sure.

Compiling the same port on a box with same software releases, but amd64,
results in very different errors (not just here, due to the fact the box
is at home).

Oliver


More information about the freebsd-ports mailing list