找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 7505|回复: 19

潘多拉编译 softetherv.p.n出现这个错误请高手帮忙

[复制链接]
发表于 2018-4-27 18:53 | 显示全部楼层 |阅读模式
在网上找到个免费的ipv6方法,需要用softetherv.p.n连接,不过我 在用潘多拉sdk编译softetherv.p.n时出现错误,请高手帮忙

In file included from src/Mayaqua/Cfg.c:125:0:
./src/Mayaqua/Mayaqua.h:285:31: fatal error: readline/readline.h: No such file or directory
#include <readline/readline.h>
                               ^
compilation terminated.
src/makefiles/linux_32bit.mak:64: recipe for target 'tmp/objs/Mayaqua/Cfg.o' failed
make[3]: *** [tmp/objs/Mayaqua/Cfg.o] Error 1
make[3]: Leaving directory '/home/rxy/7621/build_dir/target-mipsel_1004kc+dsp_uClibc-1.0.x/v4.25-9656'
Makefile:151: recipe for target '/home/rxy/7621/build_dir/target-mipsel_1004kc+dsp_uClibc-1.0.x/v4.25-9656/.built' failed
make[2]: *** [/home/rxy/7621/build_dir/target-mipsel_1004kc+dsp_uClibc-1.0.x/v4.25-9656/.built] Error 2
make[2]: Leaving directory '/home/rxy/7621/feeds/packages/net/softethervirtual**'
package/Makefile:127: recipe for target 'package/feeds/packages/softethervirtual**/compile' failed
make[1]: *** [package/feeds/packages/softethervirtual**/compile] Error 2
make[1]: Leaving directory '/home/rxy/7621'
/home/rxy/7621/include/toplevel.mk:192: recipe for target 'package/softethervirtual**/compile' failed
make: *** [package/softethervirtual**/compile] Error 2


发表于 2018-4-29 20:12 | 显示全部楼层
LEDE成功编译的最新版SE

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

lede的安装不了啊!我用openwrt的sdk也编译成功了,潘多拉不行  详情 回复 发表于 2018-4-30 07:50
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-30 07:50 | 显示全部楼层
7440909 发表于 2018-4-29 20:12
LEDE成功编译的最新版SE

lede的安装不了啊!我用openwrt的sdk也编译成功了,潘多拉不行





回复 支持 反对

使用道具 举报

发表于 2018-4-30 09:51 | 显示全部楼层
没搞过潘多拉,把源和相应的文件发上来,我来试试

点评

潘多拉sdk: 链接: https://pan.baidu.com/s/1VEYWU3K9gueLbSw_4dizTw 密码: zw4a softether: https://github.com/el1n/OpenWRT-package-softether  详情 回复 发表于 2018-4-30 11:03
回复 支持 反对

使用道具 举报

发表于 2018-4-30 10:45 | 显示全部楼层
大佬 可以交流下自己编译的经验吗,我自己也想编译,ipv6+55R的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-30 11:03 | 显示全部楼层
7440909 发表于 2018-4-30 09:51
没搞过潘多拉,把源和相应的文件发上来,我来试试

潘多拉sdk:
链接: https://pan.baidu.com/s/1VEYWU3K9gueLbSw_4dizTw 密码: zw4a


softether:
https://github.com/el1n/OpenWRT-package-softether

回复 支持 反对

使用道具 举报

发表于 2018-4-30 11:08 | 显示全部楼层
readline/readline.h: No such file or directory不是已经告诉你了,去复制个readline过来
回复 支持 反对

使用道具 举报

发表于 2018-4-30 11:08 | 显示全部楼层
本帖最后由 djjk 于 2018-4-30 11:11 编辑

Makefile没加 libreadline 的依赖,先编译libreadline应该就可以编译过,但打包还是会报错,根治还得自己在Makefile里DEPENDS行里加:+libreadline
  1. make package/libreadline/compile
复制代码

点评

Makefile里本来就有+libreadline  详情 回复 发表于 2018-4-30 11:44
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-30 11:44 | 显示全部楼层
djjk 发表于 2018-4-30 11:08
Makefile没加 libreadline 的依赖,先编译libreadline应该就可以编译过,但打包还是会报错,根治还得自己在 ...

Makefile里本来就有+libreadline

点评

如果DEPENDS有+libreadline,那你把libreadline包的Makefile的Build/InstallDev部分贴上来?看看它把readline.h复制到哪去了?很可能复制头文件的时候没带目录readline,导致引用不上。  详情 回复 发表于 2018-4-30 12:03
回复 支持 反对

使用道具 举报

发表于 2018-4-30 11:50 来自手机 | 显示全部楼层
严重关注,骨骼发育快到一年期,哭哭啼啼
回复 支持 反对

使用道具 举报

发表于 2018-4-30 12:03 | 显示全部楼层
725216 发表于 2018-4-30 11:44
Makefile里本来就有+libreadline

如果DEPENDS有+libreadline,那你把libreadline包的Makefile的Build/InstallDev部分贴上来?看看它把readline.h复制到哪去了?很可能复制头文件的时候没带目录readline,导致引用不上。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-30 13:26 来自手机 | 显示全部楼层
libreadline包没有的Makefile?我用openwrt的能成功编出来,里面也没有

点评

op/lede肯定有的:package/libs/readline  详情 回复 发表于 2018-4-30 13:58
回复 支持 反对

使用道具 举报

发表于 2018-4-30 13:58 | 显示全部楼层
本帖最后由 djjk 于 2018-4-30 14:00 编辑
725216 发表于 2018-4-30 13:26
libreadline包没有的Makefile?我用openwrt的能成功编出来,里面也没有

op/lede肯定有的:op是 package/libs/libreadline
lede是 package/libs/readline
回复 支持 反对

使用道具 举报

发表于 2018-4-30 17:56 | 显示全部楼层
本帖最后由 7440909 于 2018-4-30 18:16 编辑

搞定了
从你理解来看,应该是新手,为避免出错,全新开始,按照如下步骤操作:
  1. name@hostname:~# cd  ~
  2. name@hostname:~# sudo apt-get install libcloog-isl-dev libreadline-dev
  3. name@hostname:~# cd /usr/lib/x86_64-linux-gnu
  4. name@hostname:/usr/lib/x86_64-linux-gnu# sudo ln -s libisl.so.15   libisl.so.10
复制代码
  1. name@hostname:/usr/lib/x86_64-linux-gnu# cd ~
  2. name@hostname:~# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
  3. name@hostname:~# tar -zxvf libiconv-1.15.tar.gz
  4. name@hostname:~# cd libiconv-1.15
  5. name@hostname:~/libiconv-1.15# ./configure
  6. name@hostname:~/libiconv-1.15# make
  7. name@hostname:~/libiconv-1.15# sudo make install
复制代码
克隆最新版LEDE到本地 ~/LEDE
  1. name@hostname:~# cd ~
  2. name@hostname:~# git clone https://git.lede-project.org/source.git LEDE
复制代码
SDK解压到 ~/mt7621
复制 LEDE/feeds.conf.default 到  ~/mt7621执行
  1. name@hostname:~/mt7621# ./scripts/feeds update -a
复制代码
删除 ~/mt7621/feeds/packages/net 目录下的 softether 文件夹
复制 LEDE/package 目录下除了 feeds 的文件夹 到 ~/mt7621/package 目录中(Makefile不要复制),并删除 ~/mt7621/package/utils目录下的 busybox 文件夹

然后执行
  1. name@hostname:~/mt7621# ./scripts/feeds install  -a
复制代码


下载附件并解压到  ~/mt7621/package 目录下
  1. name@hostname:~/mt7621# make menuconfig
复制代码
后直接退出并保存后,执行
  1. name@hostname:~/mt7621#  make -j $(expr $(nproc) + 1) package/softether/compile V=s
复制代码
完成后的安装包在 ~/mt7621/bin/packages/mipsel_1004kc_dsp/base/  目录下

啰嗦一句,最好不要用SDK,自己从OpenWRT源代码慢慢思考最好.
附录:
1.参考网页:
https://www.right.com.cn/forum/thread-251362-1-1.html
https://stackoverflow.com/questi ... aign=google_rich_qa
https://blog.csdn.net/lvshaorong/article/details/62215033
https://blog.csdn.net/21aspnet/article/details/6925644

2.解决 undefined reference to `iconv'  问题

http://lists.en.qi-hardware.com/ ... ebruary/007092.html

关于   zzz-fix-undefined_reference_to_iconv_Error.patch 的说明

即使在Makefile中添加了 -liconv 仍旧会出现下面的错误 而LEDE编译时却不会,原因是LEDE是完整的编译环境 src/Mayaqua/Mayaqua.h 中的 #ifdef  UNIX_LINUX 工作正常 #include <iconv.h> 也工作正常,但仅在SDK存在的情况下,#ifdef  UNIX_LINUX 不能正常工作,于是 src/Mayaqua/Mayaqua.h 自己实现了iconv_open/iconv_close 导致问题
解决方案来自 http://lab.mitty.jp/trac/lab/wik ... ssCompile/oldmethod

错误内容:

mt7621/staging_dir/target-mipsel_1004kc+dsp_uClibc-1.0.x/usr/lib/libintl-stub/lib -znow -zrelro  -O2 -fsigned-char  -liconv -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz -o tmp/hamcorebuilder
cc1: note: someone does not honour COPTS correctly, passed 2 times
tmp/objs/Mayaqua/Internat.o: In function `UnixUniToStr':
Internat.c: (.text+0x7ac): undefined reference to `iconv'
tmp/objs/Mayaqua/Internat.o: In function `IconvWideToStrInternal':
Internat.c: (.text+0xa20): undefined reference to `iconv_open'
Internat.c: (.text+0xa38): undefined reference to `iconv_open'
tmp/objs/Mayaqua/Internat.o: In function `IconvStrToWideInternal':
Internat.c: (.text+0xa64): undefined reference to `iconv_open'
Internat.c: (.text+0xa7c): undefined reference to `iconv_open'
tmp/objs/Mayaqua/Internat.o: In function `IconvFreeInternal':
Internat.c: (.text+0xa98): undefined reference to `iconv_close'
tmp/objs/Mayaqua/Internat.o: In function `InitInternational':
Internat.c: (.text+0xddc): undefined reference to `iconv_open'
Internat.c: (.text+0xdf4): undefined reference to `iconv_close'
Internat.c: (.text+0xe28): undefined reference to `iconv_open'
Internat.c: (.text+0xe50): undefined reference to `iconv_open'
Internat.c: (.text+0xed0): undefined reference to `iconv_open'
tmp/objs/Mayaqua/Internat.o: In function `UnixStrToUni':
Internat.c: (.text+0x28f4): undefined reference to `iconv'
collect2: error: ld returned 1 exit status
src/makefiles/linux_32bit.mak:318: recipe for target 'tmp/hamcorebuilder' failed

3.效果



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

源码下载失败  详情 回复 发表于 2018-5-1 09:27
回复 支持 反对

使用道具 举报

发表于 2018-4-30 19:25 来自手机 | 显示全部楼层
赶紧思考成绩优异谢谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-29 18:46

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表