设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 357|回复: 7

尝试编译有http3的kangle3.6报和pcre有关的错误

[复制链接]

签到天数: 1074 天

[LV.10]以坛为家III

发表于 2023/12/6 22:03 | 显示全部楼层 |阅读模式 |Google Chrome 119.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
  1. /usr/bin/ld: CMakeFiles/kangle.dir/src/KReg.cpp.o: in function `KReg::~KReg()':
  2. KReg.cpp:(.text+0xed): undefined reference to `pcre_free'
  3. /usr/bin/ld: CMakeFiles/kangle.dir/src/KReg.cpp.o: in function `KReg::isPartialModel()':
  4. KReg.cpp:(.text+0x28c): undefined reference to `pcre_fullinfo'
  5. /usr/bin/ld: CMakeFiles/kangle.dir/src/KReg.cpp.o: in function `KReg::setModel(char const*, int, int)':
  6. KReg.cpp:(.text+0x33f): undefined reference to `pcre_free'
  7. /usr/bin/ld: KReg.cpp:(.text+0x396): undefined reference to `pcre_compile'
  8. /usr/bin/ld: KReg.cpp:(.text+0x3e5): undefined reference to `pcre_study'
  9. /usr/bin/ld: CMakeFiles/kangle.dir/src/KReg.cpp.o: in function `KReg::matchPartial(char const*, int, int, int*, int, int*, int)':
  10. KReg.cpp:(.text+0x649): undefined reference to `pcre_dfa_exec'
  11. /usr/bin/ld: CMakeFiles/kangle.dir/src/KReg.cpp.o: in function `KReg::matchNext(char const*, int, int, int*, int, int*, int)':
  12. KReg.cpp:(.text+0x6b3): undefined reference to `pcre_dfa_exec'
  13. /usr/bin/ld: CMakeFiles/kangle.dir/src/KReg.cpp.o: in function `KReg::match(char const*, int, int, int*, int)':
  14. KReg.cpp:(.text+0x7a2): undefined reference to `pcre_exec'
  15. /usr/bin/ld: CMakeFiles/kangle.dir/src/KReg.cpp.o: in function `KReg::freeStudy(pcre_extra*)':
  16. KReg.cpp:(.text._ZN4KReg9freeStudyEP10pcre_extra[_ZN4KReg9freeStudyEP10pcre_extra]+0x18): undefined reference to `pcre_free_study'
  17. /usr/bin/ld: CMakeFiles/kangle.dir/src/main.cpp.o: in function `Usage(bool)':
  18. main.cpp:(.text+0x12fa): undefined reference to `pcre_version'
  19. collect2: error: ld returned 1 exit status
  20. make[2]: *** [CMakeFiles/kangle.dir/build.make:3322: kangle] Error 1
  21. make[1]: *** [CMakeFiles/Makefile2:446: CMakeFiles/kangle.dir/all] Error 2
  22. make: *** [Makefile:156: all] Error 2
复制代码


按照官方的步骤make之后就这样,在网上搜了一圈,试了好多还是解决不了。不知道哪里出了问题。。系统是ubuntu
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

 成长值: 1705

签到天数: 4434 天

[LV.Master]伴坛终老

发表于 2023/12/7 00:03 | 显示全部楼层 |Google Chrome 119.0.0.0|Windows 10
如果缺少任何依赖的开发运行库,则编译器会给出Undefined reference

https://github.com/keengo99/kangle/issues/new
和官方汇报下试试?说明ubuntu具体版本号和贴上错误信息

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 1074 天

[LV.10]以坛为家III

 楼主| 发表于 2023/12/7 12:18 | 显示全部楼层 |Google Chrome 119.0.0.0|Windows 10
本帖最后由 寻宝人2339 于 2023/12/7 12:21 编辑
小樱 发表于 2023/12/7 00:03
如果缺少任何依赖的开发运行库,则编译器会给出Undefined reference

https://github.com/keengo99/kangl ...


似乎有人10.16就有类似的问题。。但是既没有回复也没有更新。。

pcre_error.png

话说是不是nginx好上手一点。。毕竟我是个小白,这两天搞这个占用了好多时间。。
[发帖际遇]: 一个袋子砸在了 寻宝人2339 头上,寻宝人2339 赚了 4 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 1705

签到天数: 4434 天

[LV.Master]伴坛终老

发表于 2023/12/7 18:04 | 显示全部楼层 |Google Chrome 119.0.0.0|Windows 10
寻宝人2339 发表于 2023/12/7 12:18
似乎有人10.16就有类似的问题。。但是既没有回复也没有更新。。


可以先用3.5系列的版本,3.6的还在开发阶段我没正式用到生产环境里
3.6以前的防cc等各种功能,现在独立出来一个kwaf,模块化,通过dll、so加载,第三方开发者可以自由编写更多的功能模块,感觉看起来3.6主要就是多了http3、sendfile
http3毕竟是从h2升级后基于udp流量的quic协议,国内访问还是比较糟糕的,不开反而比较好
https://http3check.net/?host=www.itzmx.com

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 1074 天

[LV.10]以坛为家III

 楼主| 发表于 2023/12/7 22:55 | 显示全部楼层 |Google Chrome 119.0.0.0|Windows 10
小樱 发表于 2023/12/7 18:04
可以先用3.5系列的版本,3.6的还在开发阶段我没正式用到生产环境里
3.6以前的防cc等各种功能,现在独 ...

哦哦好的
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 1074 天

[LV.10]以坛为家III

 楼主| 发表于 2023/12/10 10:22 | 显示全部楼层 |Google Chrome 120.0.0.0|Windows 10
小樱 发表于 2023/12/7 00:03
如果缺少任何依赖的开发运行库,则编译器会给出Undefined reference

https://github.com/keengo99/kangl ...

我靠,找到原因了。。
那个pcre的库在ubuntu中是叫libpcre3-dev,用apt安装后这个在/usr/lib/x86_64-linux-gnu/里,而且是没有链接好的,需要手动链接:
  1. ln -s /usr/lib/x86_64-linux-gnu/libpcre.so.3 /usr/lib/x86_64-linux-gnu/libpcre.so.1
复制代码

注意这里是要链接到.so.1而不是文件夹中的.so,因为链接到.so.1才是正确的(网上看到的,我也不清楚系统中究竟是怎么规定的。由于当前没有.so.1所以需要到一个正常的电脑中看正确的是什么)
pcre.png

然后编译http3中要用到的那个lsquic项目需要安装libevent-dev,但是这个就可以直接用,不知道为啥。。
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 1705

签到天数: 4434 天

[LV.Master]伴坛终老

发表于 2023/12/10 18:20 | 显示全部楼层 |Google Chrome 120.0.0.0|Windows 10
寻宝人2339 发表于 2023/12/10 10:22
我靠,找到原因了。。
那个pcre的库在ubuntu中是叫libpcre3-dev,用apt安装后这个在/usr/lib/x86_64-lin ...

可以分享一个ubuntu编译安装kangle3.6的教程了
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 1074 天

[LV.10]以坛为家III

 楼主| 发表于 2023/12/21 20:02 | 显示全部楼层 |Google Chrome 120.0.0.0|Windows 10
小樱 发表于 2023/12/10 18:20
可以分享一个ubuntu编译安装kangle3.6的教程了

。。似乎是之前那一版的系统(20.04版本)不知道为何会导致出现这样的错误,又尝试用了23.04的系统就没这个问题了。。
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/2/24 14:18 , Processed in 0.176339 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

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