[Solved] 如何解决错误:esp_iot_rtos_sdk/lib/libmirom.a(lib_a-w_pow.o):(.irom0.literal+0x24): undefined reference to `__errno'

dearwind153
Posts: 49
Joined: Sun Feb 28, 2016 7:47 pm

[Solved] 如何解决错误:esp_iot_rtos_sdk/lib/libmirom.a(lib_a-w_pow.o):(.irom0.literal+0x24): undefined reference to `__errno'

Postby dearwind153 » Wed Apr 13, 2016 10:35 pm

1. 编译 基于 rtos_sdk 的例程 “ESP8266_IOT_PLATFORM-master”
makefile中已经增加选项: -lmirom,但编译后会出现如下错误,未找到解决办法,rtos_sdk ver1.4.0

Code: Select all

wifi/140medley.min.js (74%, heatshrink)
wifi/connecting.html (61%, heatshrink)
wifi/icons.png (100%, none)
wifi/style.css (73%, heatshrink)
wifi/wifi.tpl (55%, heatshrink)
make[1]: Leaving directory `/mnt/Share/esp_iot_rtos_sdk/examples/ESP8266_IOT_PLATFORM-master/libesphttpd'
xtensa-lx106-elf-gcc  -L/mnt/Share/esp_iot_rtos_sdk/lib -Wl,--gc-sections -nostdlib -T/mnt/Share/esp_iot_rtos_sdk/ld/eagle.app.v6.new.1024.app1.ld -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group -lminic -lgcc -lhal -lphy -lpp -lnet80211 -lcrypto -lwpa -lmain -lfreertos -llwip -lssl -ljson -lsmartconfig -lpwm -L./libesphttpd -lesphttpd -lwebpages-espfs -lmirom user/.output/eagle/debug/lib/libuser.a driver/.output/eagle/debug/lib/libdriver.a upgrade/.output/eagle/debug/lib/libupgrade.a -Wl,--end-group -o .output/eagle/debug/image/eagle.app.v6.out
/mnt/Share/esp_iot_rtos_sdk/lib/libmirom.a(lib_a-w_pow.o):(.irom0.literal+0x24): undefined reference to `__errno'
/mnt/Share/esp_iot_rtos_sdk/lib/libmirom.a(lib_a-w_pow.o): In function `pow':
/home/wjg/Workspace/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libm/math/w_pow.c:136: undefined reference to `__errno'
/home/wjg/Workspace/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libm/math/w_pow.c:158: undefined reference to `__errno'
/home/wjg/Workspace/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libm/math/w_pow.c:160: undefined reference to `__errno'
/home/wjg/Workspace/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libm/math/w_pow.c:198: undefined reference to `__errno'
/mnt/Share/esp_iot_rtos_sdk/lib/libmirom.a(lib_a-w_pow.o):/home/wjg/Workspace/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libm/math/w_pow.c:203: more undefined references to `__errno' follow
collect2: error: ld returned 1 exit status
make: *** [.output/eagle/debug/image/eagle.app.v6.out] Error 1
root@esp8266-VirtualBox:/mnt/Share/esp_iot_rtos_sdk/examples/ESP8266_IOT_PLATFORM-master#


2. 搜索未找到解决办法,请问怎么解决?

3 .疑问我虚拟机ubuntu中根本就没有

Code: Select all

/home/wjg/Workspace/esp-open-sdk/crosstool-NG/.build/src/newlib-2.0.0/newlib/libm/math/w_pow.c:136: undefined reference to `__errno'
这个目录下的文件,这个是怎么回事?个人感觉解决了这个疑问应该就能编译通过。

4. 已经验证 “ESP8266_IOT_PLATFORM-master” 不能在 rtos_sdk ver1.4.0 版本上编译,请官方解决这个问题,使得可以在高版本的 rtos_sdk上能编译本例程。

ESP_Faye
Posts: 1646
Joined: Mon Oct 27, 2014 11:08 am

Re: 如何解决错误:esp_iot_rtos_sdk/lib/libmirom.a(lib_a-w_pow.o):(.irom0.literal+0x24): undefined reference to `__errno'

Postby ESP_Faye » Thu Apr 14, 2016 11:43 am

您好,

请在 makefile 中将 -lminic 改为 -lcirom,再加上 -lmirom,看是否还有问题?


Who is online

Users browsing this forum: No registered users and 14 guests