Error while Compiling 1.5.4 on FreeBSD7.1/amd64

I get this error while compile …

Opt3-FreeBSD/libputil_igate.cxx:40352: warning: deprecated conversion from string constant to 'char*'                         
./bitMask.I: In member function 'int BitMask<WType, nbits>::get_num_on_bits() const [with WType = long long unsigned int, int nbits = 64]':                                                                                                                 
Opt3-FreeBSD/libputil_igate.cxx:17309:   instantiated from here                                                               
./bitMask.I:408: error: call of overloaded 'count_bits_in_word(const long long unsigned int&)' is ambiguous                   
./pbitops.I:21: note: candidates are: int count_bits_in_word(PN_uint32)                                                       
./pbitops.I:30: note:                 int count_bits_in_word(PN_uint64)                                                       
./bitMask.I: In member function 'int BitMask<WType, nbits>::get_num_off_bits() const [with WType = long long unsigned int, int nbits = 64]':                                                                                                                
Opt3-FreeBSD/libputil_igate.cxx:17365:   instantiated from here                                                               
./bitMask.I:420: error: call of overloaded 'count_bits_in_word(long long unsigned int)' is ambiguous                          
./pbitops.I:21: note: candidates are: int count_bits_in_word(PN_uint32)                                                       
./pbitops.I:30: note:                 int count_bits_in_word(PN_uint64)                                                       
./bitMask.I: In member function 'int BitMask<WType, nbits>::get_lowest_on_bit() const [with WType = long long unsigned int, int nbits = 64]':                                                                                                               
Opt3-FreeBSD/libputil_igate.cxx:17421:   instantiated from here                                                               
./bitMask.I:437: error: call of overloaded 'count_bits_in_word(long long unsigned int)' is ambiguous                          
./pbitops.I:21: note: candidates are: int count_bits_in_word(PN_uint32)                                                       
./pbitops.I:30: note:                 int count_bits_in_word(PN_uint64)                                                       
./bitMask.I: In member function 'int BitMask<WType, nbits>::get_highest_on_bit() const [with WType = long long unsigned int, int nbits = 64]':                                                                                                              
Opt3-FreeBSD/libputil_igate.cxx:17533:   instantiated from here                                                               
./bitMask.I:461: error: call of overloaded 'get_highest_on_bit(const long long unsigned int&)' is ambiguous                   
./pbitops.I:102: note: candidates are: int get_highest_on_bit(PN_uint32)                                                      
./pbitops.I:113: note:                 int get_highest_on_bit(PN_uint64)                                                      
./bitMask.I: In member function 'int BitMask<WType, nbits>::get_next_higher_different_bit(int) const [with WType = long long unsigned int, int nbits = 64]':                                                                                                
Opt3-FreeBSD/libputil_igate.cxx:17646:   instantiated from here                                                               
./bitMask.I:526: error: call of overloaded 'count_bits_in_word(long long unsigned int)' is ambiguous                          
./pbitops.I:21: note: candidates are: int count_bits_in_word(PN_uint32)                                                       
./pbitops.I:30: note:                 int count_bits_in_word(PN_uint64)
./bitMask.I: In member function 'void BitMask<WType, nbits>::flood_down_in_place() [with WType = long long unsigned int, int nbits = 64]':
Opt3-FreeBSD/libputil_igate.cxx:19280:   instantiated from here
./bitMask.I:884: error: call of overloaded 'flood_bits_down(long long unsigned int&)' is ambiguous
./pbitops.I:40: note: candidates are: PN_uint32 flood_bits_down(PN_uint32)
./pbitops.I:55: note:                 PN_uint64 flood_bits_down(PN_uint64)
./bitMask.I: In member function 'void BitMask<WType, nbits>::flood_up_in_place() [with WType = long long unsigned int, int nbits = 64]':
Opt3-FreeBSD/libputil_igate.cxx:19340:   instantiated from here
./bitMask.I:873: error: call of overloaded 'flood_bits_up(long long unsigned int&)' is ambiguous
./pbitops.I:71: note: candidates are: PN_uint32 flood_bits_up(PN_uint32)
./pbitops.I:86: note:                 PN_uint64 flood_bits_up(PN_uint64)
./bitMask.I: In member function 'BitMask<WType, nbits> BitMask<WType, nbits>::flood_bits_down() const [with WType = long longunsigned int, int nbits = 64]':
Opt3-FreeBSD/libputil_igate.cxx:19400:   instantiated from here
./bitMask.I:907: error: call of overloaded 'flood_bits_down(const long long unsigned int&)' is ambiguous
./pbitops.I:40: note: candidates are: PN_uint32 flood_bits_down(PN_uint32)
./pbitops.I:55: note:                 PN_uint64 flood_bits_down(PN_uint64)
./bitMask.I: In member function 'BitMask<WType, nbits> BitMask<WType, nbits>::flood_bits_up() const [with WType = long long unsigned int, int nbits = 64]':
Opt3-FreeBSD/libputil_igate.cxx:19462:   instantiated from here
./bitMask.I:895: error: call of overloaded 'flood_bits_up(const long long unsigned int&)' is ambiguous
./pbitops.I:71: note: candidates are: PN_uint32 flood_bits_up(PN_uint32)
./pbitops.I:86: note:                 PN_uint64 flood_bits_up(PN_uint64)
*** Error code 1

Stop in /usr/home/admin/work/panda3d-1.5.4/panda/src/putil.
*** Error code 1

Stop in /usr/home/admin/work/panda3d-1.5.4/panda.

Can anyone help …?

Looks to me like a bug in makepanda, or whichever tool you used to build. (And which tool was that?)

On a 64-bit machine, it should not have included the parameter -D__i386__ to interrogate, but it should have included the parameter -D_LP64 instead. I suspect it got this wrong.

What is the output from your build for a typical interrogate command?

David

Looks like ppremake. Makepanda doesn’t work with Opt3-dirs.

Yes. That was the problem.

I found another thing, but of course problem maybe is again in me.
Compiling of nativenet module stops, because dont found FreeBSD(Linux, OSX) defined anywhere. So, i just define FreeBSD in dtool_config.h Is this wrong? Now look that panda runs fine, but I dont known panda`s code in deep for now…

I guess that’s OK. I haven’t tried to build on FreeBSD in a while, so I guess some cruft crept in there over time. It probably should be declaring FreeBSD automatically when that build type is declared.

David