Menu

#35 endian check bug?

closed-fixed
nobody
dclib (17)
5
2008-08-30
2008-08-25
No

I used to use a PPC machine to do the universal builds on OS X (until dclib-0.3.16), but I now have an intel mac doing the builds. dclib-svn builds find as an intel-only library, but when I try to do a universal (or ppc-only) build on the intel mac, I get the following error:

****
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -Wall -W -pedantic -Wno-long-long -Wundef -Wconversion -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT -I/Developer/SDKs/MacOSX10.4u.sdk/usr/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -I/Developer/SDKs/MacOSX10.4u.sdk/usr/include -I/usr/include -D_THREAD_SAFE -fvisibility=hidden -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -I/Developer/SDKs/MacOSX10.4u.sdk/usr/include -I/usr/include -c -o TigerHash.lo TigerHash.cpp
g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -Wall -W -pedantic -Wno-long-long -Wundef -Wconversion -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT -I/Developer/SDKs/MacOSX10.4u.sdk/usr/include -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -I/Developer/SDKs/MacOSX10.4u.sdk/usr/include -I/usr/include -D_THREAD_SAFE -fvisibility=hidden -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -I/Developer/SDKs/MacOSX10.4u.sdk/usr/include -I/usr/include -c TigerHash.cpp -fno-common -DPIC -o .libs/TigerHash.o
In file included from /usr/include/sys/_types.h:32,
from /usr/include/_types.h:27,
from /usr/include/unistd.h:71,
from compat.h:28,
from TigerHash.cpp:19:
/usr/include/sys/cdefs.h:174:5: warning: "__STDC_VERSION__" is not defined
In file included from /usr/include/sys/_types.h:32,
from /usr/include/_types.h:27,
from /usr/include/unistd.h:71,
from compat.h:28,
from TigerHash.cpp:19:
/usr/include/sys/cdefs.h:174:5: warning: "__STDC_VERSION__" is not defined
In file included from compat.h:30,
from TigerHash.cpp:19:
/usr/include/stdint.h:9:5: warning: "__LP64__" is not defined
In file included from compat.h:37,
from TigerHash.cpp:19:
/usr/include/string.h:146:27: warning: "_FORTIFY_SOURCE" is not defined
In file included from compat.h:30,
from TigerHash.cpp:19:
/usr/include/stdint.h:9:5: warning: "__LP64__" is not defined
In file included from compat.h:37,
from TigerHash.cpp:19:
/usr/include/string.h:146:27: warning: "_FORTIFY_SOURCE" is not defined
TigerHash.cpp: In member function ‘uint8_t* dcpp::TigerHash::finalize()’:
TigerHash.cpp:238: error: ‘HASH_SIZE’ was not declared in this scope
TigerHash.cpp:240: error: ‘HASH_SIZE’ was not declared in this scope
lipo: can't figure out the architecture type of: /var/folders/VJ/VJI1GqIRGmOqqRYrL1IClU+++TI/-Tmp-//cckp21Pt.out
make[3]: *** [TigerHash.lo] Error 1
make[3]: Leaving directory `/src/dclib-svn/dclib/hash'

****

The "not defined" warnings appear when building pretty much all the other .o files in a universal build,

configure says this about endianess (for all build types):
checking whether byte ordering is bigendian... universal

although there doesn't seem to be any actual test being done according to config.log

Let me know if you need more info.

Discussion

  • Edward Sheldrake

    Logged In: YES
    user_id=1639740
    Originator: NO

    In DC++, HASH_SIZE was renamed to BYTES (and also BITS is now available) but someone forgot to change that bit of #ifdef'd code. I had updated the files to DC++ 0.707.

    The endian / 64bit check was probably also wrong because it only goes by certain CPU defines instead of using autoconf, but the 64bit code has probably never been used on PPC so I had better not enable it.

    It should be fixed in svn ready for the 0.3.20 release.

     
  • Hanspeter Niederstrasser

    Logged In: YES
    user_id=927770
    Originator: YES

    I think this can be closed now.

     
  • Hanspeter Niederstrasser

    • labels: --> dclib
    • status: open --> closed-fixed
     

Log in to post a comment.