Hi,
I am trying to use RSA from TropicSSL Library. I developed new “.ino” file, and included “rsa.h” and tried to execute “rsa_self_test()”. as shown below:
The AES library is not part of the API on the Photon (since it’s an internal implementation detail, subject to change, e.g. we may use mbedTLS in future.)
To use Tropic SSL, you can include the source code from the github repo in your project.
Hi @mdma ,
I tried to add the source code of the library on web IDE, but didn’t succeed.
May be i am making mistake while adding the library.
By adding the source code means adding library by clicking “contribute library” and then giving the URL? if yes , i tried and spark.json missing and similar more errors raised.
ok. i tried to copy/paste the required files in web IDE, but still getting same error, as shown below:
/usr/local/gcc-arm-embedded-gcc-arm-none-eabi-4_8-2014q2-20140609-linux-tar-bz2/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/libg_s.a(lib_a-writer.o): In function `_write_r':
writer.c:(.text._write_r+0x10): undefined reference to `_write'
/usr/local/gcc-arm-embedded-gcc-arm-none-eabi-4_8-2014q2-20140609-linux-tar-bz2/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/libg_s.a(lib_a-closer.o): In function `_close_r':
closer.c:(.text._close_r+0xc): undefined reference to `_close'
/usr/local/gcc-arm-embedded-gcc-arm-none-eabi-4_8-2014q2-20140609-linux-tar-bz2/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/libg_s.a(lib_a-fstatr.o): In function `_fstat_r':
fstatr.c:(.text._fstat_r+0xe): undefined reference to `_fstat'
/usr/local/gcc-arm-embedded-gcc-arm-none-eabi-4_8-2014q2-20140609-linux-tar-bz2/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/libg_s.a(lib_a-isattyr.o): In function `_isatty_r':
isattyr.c:(.text._isatty_r+0xc): undefined reference to `_isatty'
/usr/local/gcc-arm-embedded-gcc-arm-none-eabi-4_8-2014q2-20140609-linux-tar-bz2/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/libg_s.a(lib_a-lseekr.o): In function `_lseek_r':
lseekr.c:(.text._lseek_r+0x10): undefined reference to `_lseek'
/usr/local/gcc-arm-embedded-gcc-arm-none-eabi-4_8-2014q2-20140609-linux-tar-bz2/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/libg_s.a(lib_a-readr.o): In function `_read_r':
readr.c:(.text._read_r+0x10): undefined reference to `_read'
collect2: error: ld returned 1 exit status
make: *** [5843a57bccaa975481a12460a7c97ee9ee6a7922c3e33717e5b30b119fd4.elf] Error 1
@Burhan, the errors are referring to system-part1 functions and I’m not sure why they would not link. You may need to setup a local toolchain to compile locally for this to work.
@Burhan, IDE, DEV and CLI all use the cloud compile farm. Setting up a local toolchain means running the compiler and other tools on your computer. Here is a guide to doing that:
One word of caution. I don’t recommend this method for beginners.
I do have a local toolchain set up, and ran into this error as well. Thanks @mdma for pointing out the stdout issue, which is the underlying cause of:
/usr/local/gcc-arm-embedded-gcc-arm-none-eabi-4_8-2014q2-20140609-linux-tar-bz2/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7-m/libg_s.a(lib_a-writer.o): In function `_write_r':
writer.c:(.text._write_r+0x10): undefined reference to `_write'
etc.
By #Including the C++ lib “iostream” directly or indirectly, you can cause this error, since iostream uses underlying C hooks for _write_r, _close_r, _fstat_r, _isatty_r, _lseek_r, and _read_r. These don’t seem to be part of the standard firmware lib (As far as I can tell) since there usually ins’t a tty subsystem for most things.