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

O. Hartmann ohartman at mail.uni-mainz.de
Mon Apr 3 20:01:10 UTC 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Anton Berezin wrote:
> 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.


Hello Anton.
I'm not very familiar with C++ and libtool/autoconf, so some minor
problems still keep me away from testing a working amd64 port.

I fiddled around on my private amd64 machine and my lab's i386 box and
at this stage, both dies now at the same point, concerning a libtool error.

How familiar are you with libtool and debugging libtool'ed build processes?

Oliver
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEMX7c9PZHcThI6nsRAgbbAJ4yTD9gcYMMGiE/XqBsSmVrgnnFuwCfWGYX
fd4+nnmSU9xczBbXzAlUXjE=
=lDtW
-----END PGP SIGNATURE-----


More information about the freebsd-amd64 mailing list