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

Anton Berezin tobez at tobez.org
Mon Mar 27 10:03:34 UTC 2006


On Fri, Mar 24, 2006 at 03:38:53PM +0100, O. Hartmann wrote:

> 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.

Well.  You are very welcome to produce necessary patches, esp. since the
port is not maintained!

> 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).

I, for one, would love to have celestia both upgraded to 1.4.1 *and*
working on amd64.  If you make this work, I'll commit it in a heartbeat.
:-)

Thanks,
\Anton.
-- 
An undefined problem has an infinite number of solutions.
-- Robert A. Humphrey


More information about the freebsd-ports mailing list