免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7127 | 回复: 8
打印 上一主题 下一主题

怎样改变gcc的-l参数所调用ld的路径 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-20 22:42 |只看该作者 |倒序浏览
8可用积分
mipsel-linux-gcc -o wpa_supplicant config.o eloop.o common.o md5.o rc4.o sha1.o config_file.o base64.o l2_packet_linux.o eap_tls.o eap_peap.o eap_ttls.o eap_md5.o eap_mschapv2.o eap_tlv.o eapol_sm.o eap.o eap_tls_common.o tls_openssl.o ms_funcs.o crypto.o ctrl_iface.o wpa.o preauth.o aes_wrap.o wpa_supplicant.o events.o main.o drivers.o driver_zydas.o driver_wext.o -lssl -lcrypto -MMD -O2 -Wall -g -I. -I../utils -I../hostapd  -I/home/will/BCM97452/LinuxUSB_AR2524-3.0.0.56/apps/wpa_supplicant_0.4.8_zydas_v2/../openssl-0.9.8g/include -L/home/will/BCM97452/LinuxUSB_AR2524-3.0.0.56/apps/wpa_supplicant_0.4.8_zydas_v2/../openssl-0.9.8g -DCONFIG_DRIVER_ZYDAS -DCONFIG_DRIVER_WEXT -DEAP_TLS -DEAP_PEAP -DEAP_TTLS -DEAP_MD5 -DEAP_MSCHAPv2 -DEAP_TLV -DIEEE8021X_EAPOL -DEAP_TLS_FUNCS -DCONFIG_WIRELESS_EXTENSION -DCONFIG_CTRL_IFACE

/home/will/BCM97452/toolchains/bin/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/bin/ld: skipping incompatible /home/will/BCM97452/LinuxUSB_AR2524-3.0.0.56/apps/wpa_supplicant_0.4.8_zydas_v2/../openssl-0.9.8g/libssl.a when searching for -lssl

/home/will/BCM97452/toolchains/bin/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make: *** [wpa_supplicant] Error 1

不知道gcc为什么在执行-l参数时,为什么调用ld的路径是mipsel-linux-uclibc/bin/ld?
我想改为mipsel-linux/bin/ld,怎么改法啊??

最佳答案

查看完整内容

从错误信息来看,你这里应该是mipsel-linux-gcc调用的。

论坛徽章:
0
2 [报告]
发表于 2009-03-20 22:42 |只看该作者

回复 #7 todayrw 的帖子

从错误信息来看,你这里应该是mipsel-linux-gcc调用的。

论坛徽章:
0
3 [报告]
发表于 2009-03-21 09:01 |只看该作者
这个可以在 Makefile 里面指定吧?

论坛徽章:
0
4 [报告]
发表于 2009-03-21 20:33 |只看该作者
这是你home目录的 .bash_profile 里 PATH 变量指定的,可以在 .bash_profile 里加一句

PATH = $PATH:mipsel-linux/bin/

论坛徽章:
0
5 [报告]
发表于 2009-03-21 23:22 |只看该作者
建议看看 lfs 或 clfs 关于工具链方面的知识

论坛徽章:
0
6 [报告]
发表于 2009-03-22 10:01 |只看该作者
最简单的办法:mv mipsel-linux-uclibc/bin/ld mipsel-linux-uclibc/bin/ld.bak
                     cp mipsel-linux/bin/ld  mipsel-linux-uclibc/bin/ld
哈哈哈哈哈!

论坛徽章:
0
7 [报告]
发表于 2009-03-22 12:27 |只看该作者

回复 #1 todayrw 的帖子

这个错误应该与ssl库有关,与ld的执行路径无关。
skipping incompatible /home/will/BCM97452/LinuxUSB_AR2524-3.0.0.56/apps/wpa_supplicant_0.4.8_zydas_v2/../openssl-0.9.8g/libssl.a when searching for -lssl

/home/will/BCM97452/toolchains/bin/../lib/gcc/mipsel-linux-uclibc/3.4.6/../../../../mipsel-linux-uclibc/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make: *** [wpa_supplicant] Error 1
如果是ld未找到,应该报command not found.
楼主想编译什么源码包,能说得详细点吗?

论坛徽章:
0
8 [报告]
发表于 2009-03-22 21:08 |只看该作者

回复 #6 linke.wang 的帖子

我编译的是工具wpa_supplicant,编译时,发现要先提供openssl里的两个静态库。原先是由于在编译openssl时没有指定对目标平台mipsel-linux,所以导致编译出来的两个静态库libssl.a和libcrypto.a的格式有问题,最终导致了这个帖子所说的...ld: cannot find -lssl。

我以为是没有指定对ld的路径导致的,后来修改对了openssl的目标平台后,重新编译openssl和wpa_supplicant,就OK了。

话说回来,我还是想弄清楚原理,整个过程里,最终是在哪里调用的ld并指定ld的路径的???

论坛徽章:
0
9 [报告]
发表于 2009-03-22 22:17 |只看该作者
执行export LD_LIBRARY_PATH=/...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP