Using the updated instructions, I have made progress. Compiling ppcrossxtensa finished with no errors.
Now when I tried to compile the 'hello world' test program the first time, the linker complained that it could not find libc_fnano.a and libstdc++.a.
After removing the 'sysroot' directory (which does not exist) from the last compiler option:
-Fl~/esp/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/lib/
The linker was able to find libstdc++.a, but still not libc_fnano.a.
libc_nano.a is in ~/esp/xtensa-lx106-elf/xtensa-lx106-elf/lib but not libc_fnano.a, and I don't know where that comes from as I do not find any ESP8266 or FPC source file that refers to it.
The content of the link*.res file in the project build directory (with paths normalized to the instructions) is:
SEARCH_DIR("~/esp/xtensa-lx106-elf-libs/")
SEARCH_DIR("~/esp8266/ESP8266_RTOS_SDK/components/esp8266/lib/")
SEARCH_DIR("~/esp/xtensa-lx106-elf/xtensa-lx106-elf/lib/")
SEARCH_DIR("~/fpc/source/rtl/units/xtensa-freertos/")
SEARCH_DIR("~/fpc/source/compiler/")
INPUT (
hello.o
~/fpc/source/rtl/units/xtensa-freertos/system.o
~/fpc/source/rtl/units/xtensa-freertos/esp8266.o
~/fpc/source/rtl/units/xtensa-freertos/consoleio.o
~/fpc/source/rtl/units/xtensa-freertos/heapmgr.o
)
GROUP(
~/esp/xtensa-lx106-elf-libs/libesp8266.a
~/esp/xtensa-lx106-elf-libs/liblog.a
libc_fnano.a
~/esp/xtensa-lx106-elf-libs/libnewlib.a
~/esp/xtensa-lx106-elf-libs/libheap.a
~/esp/xtensa-lx106-elf-libs/libvfs.a
~/esp/xtensa-lx106-elf-libs/libesp_common.a
~/esp8266/ESP8266_RTOS_SDK/components/esp8266/lib/libcore.a
~/esp/xtensa-lx106-elf-libs/libfreertos.a
~/esp8266/ESP8266_RTOS_SDK/components/esp8266/lib/libphy.a
~/esp8266/ESP8266_RTOS_SDK/components/esp8266/lib/libnet80211.a
~/esp8266/ESP8266_RTOS_SDK/components/esp8266/lib/libhal.a
~/esp/xtensa-lx106-elf-libs/libnvs_flash.a
~/esp8266/ESP8266_RTOS_SDK/components/esp8266/lib/librtc.a
~/esp/xtensa-lx106-elf-libs/libspi_flash.a
~/esp/xtensa-lx106-elf-libs/libesp_ringbuf.a
~/esp8266/ESP8266_RTOS_SDK/components/esp8266/lib/libgcc.a
~/esp8266/ESP8266_RTOS_SDK/components/esp8266/lib/libpp.a
~/esp/xtensa-lx106-elf/xtensa-lx106-elf/lib/libstdc++.a
~/esp/xtensa-lx106-elf-libs/libpthread.a
)
SECTIONS
{
.data :
{
KEEP (*(.fpc .fpc.n_version .fpc.n_links))
}
}
Is the 'f' in libc_fnano.a perhaps a typo that crept in somewhere?
What can I do to help diagnose this issue?