On Mar 28, 7:58 am, Shawn Firth <[email protected]> wrote:
> Jeff,
> Thanks for your feedback. I haven't been able to run the Crypto++ 5.6.2
> tests because "test" won't compile (from make/compiler output above):
> "test.cpp", line 195: error #2350: more than one operator ">" matches these
> operands:
> built-in operator "arithmetic > arithmetic"
> function "std::fpos<_StateT>::operator>(const std::fpos<_StateT>
> &) const [with _StateT=mbstate_t]"
> function "std::fpos<_StateT>::operator>(std::streamoff) const
> [with _StateT=mbstate_t]"
> operand types are: std::fpos<mbstate_t> > int
> if (fileEnd > 20*1000*1000)
> ^
>From http://www.cryptopp.com/docs/ref/test_8cpp_source.html, test.cpp:
195 is
00195 if (fileEnd > 20*1000*1000)
00196 {
00197 cerr << "Input file too large (more than 20 MB).\n";
00198 return 1;
00199 }
Cast the constant to a std::ifstream::pos_type and run the self tests.
> If I had to guess, there are probably some #defines that aren't
> being properly set and as a result the wrong size typedefs are being
> created/used and/or the wrong chunk(s) of code is being compiled.
> HP-UX 11.31 with the aCC compiler is a Big Endian, full 64 bit architecture
> with the following base data types/sizes supported:
> Size of boolean: 1
> Size of short int: 2
> Size of unsigned short int: 2
> Size of int: 4
> Size of unsigned int: 4
> Size of long int: 8
> Size of unsigned long int: 8
> Size of long long int: 8
> Size of unsigned long long int: 8
> Size of float: 4
> Size of double: 8
> Size of long double: 16
> Size of char: 1
> Size of unsigned char: 1
> Size of char*: 8
> Size of void*: 8
>
> Given that information, what architecture and code #defines would you
> recommend I turn on to ensure only Big Endian full 64 bit code is compiled?
You will find the defines in config.h (http://www.cryptopp.com/docs/
ref/config_8h_source.html). There is one that cover Big/Little Endian,
and you can define it on the command line: -DIS_BIG_ENDIAN=1.
As for architecture, GCC has an -march=XXX. I don't know what to use
for HP's compiler.
You can also use the preprocessor. First, dump its defines with:
$ cpp -dM < /dev/null
Then, make sure something that HP defines shows up around line 130 of
config.h (http://www.cryptopp.com/docs/ref/config_8h_source.html).
Jeff
--
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
---
You received this message because you are subscribed to the Google Groups
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.