Topic: wolfSSL Installation error

I am newbie to embeded ssl and crypto library wolfSSL. When I read its manual, it is really interesting. And I have downloaded wolfSSL-2.6.0 to ubuntu 13.04. As per the manual, I have changed the terminal directory to wolfSSL-2.6.0(i.e cd /home/wedikes/wolfSSL-2.6.0/). After changing to thsi directory
i just run ./configure

it provides some sort of errors as below

ctaocrypt/src/tfm.c: In function 'fp_mul_comba':
ctaocrypt/src/tfm.c:445:11: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
ctaocrypt/src/tfm.c:445:11: error: 'asm' operand has impossible constraints
make[1]: *** [ctaocrypt/src/src_libcyassl_la-tfm.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2

When I search on the Interent about the cause of the error, they are telling me the source of the erro is lack of registers? But I don't get what does that mean?"You have to remember that these machines have a limited number of registers. And its possible to actually run out - that's what the error you're getting is telling you" And my machine is lenovo y400 in 32 bit form.

Could you help me how to solve what I have faced?


Re: wolfSSL Installation error


The error you are seeing is caused by the fastmath library being enabled by default when building wolfSSL.  wolfSSL supports both the fastmath and normal big integer libraries.  fastmath is enabled by default because it provides better performance in general over the big integer library for public key operations (RSA, DH, DSA, etc.).

To solve this problem, see the README entry for wolfSSL 2.6.0:

wolfSSL Release 2.6.0 (04/15/2013)

Release 2.6.0 wolfSSL has bug fixes and new features including:
- ./configure builds default to fastmath option
    * Note, if on ia32 and building in shared mode this may produce a problem
      with a missing register being available because of PIC, there are at least
      5 solutions to this:
      1) --disable-fastmath , don't use fastmath
      2) --disable-shared, don't build a shared library
      3) C_EXTRA_FLAGS=-DTFM_NO_ASM , turn off assembly use
      4) use clang, it just seems to work
      5) play around with no PIC options to force all registers being open

Can you try one of these options to see if your problem is resolved?