news 2026/7/11 10:39:55

ptpd2提示failed to join the multicast group (strerror: No buffer space available)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ptpd2提示failed to join the multicast group (strerror: No buffer space available)

下载交叉编译ptpd-ptpd-2.3.1源码,downloads-yocto/ptpd-2.3.1.tar.gz

./configure CC=aarch64-zxic-linux-gcc,提示编译链编译程序失败如下,需要添加系统目录--sysroot=/home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/aarch64-zxic-linux,

checking for gcc... aarch64-zxic-linux-gcc checking whether the C compiler works... no configure: error: in `/home/wangyb/sda3/zm9300-tools/ptpd-2.3.1': configure: error: C compiler cannot create executables See `config.log' for more details configure:3582: checking whether the C compiler works configure:3604: aarch64-zxic-linux-gcc -O2 -pipe -g -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-all -Wl,-z,relro,-z,now -fstack-protector-all -Wl,-z,relro,-z,now conftest.c >&5 /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find Scrt1.o: No such file or directory /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find crti.o: No such file or directory /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find crtbeginS.o: No such file or directory /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find -lgcc /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find -lgcc_s /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find -lc /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find -lgcc /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find -lgcc_s /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find crtendS.o: No such file or directory /home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/x86_64-zxic-linux/usr/libexec/aarch64-zxic-linux/gcc/aarch64-zxic-linux/9.3.0/real-ld: cannot find crtn.o: No such file or directory collect2: error: ld returned 1 exit status configure:3608: $? = 1 configure:3646: result: no ./configure CC="aarch64-zxic-linux-gcc -mcpu=cortex-a53+crc -fstack-protector-all -pie -fPIE -Wformat -Wformat-security -Werror=format-security -fstack-protector-all -pie -fPIE -Wformat -Wformat-security -Werror=format-security --sysroot=/home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/aarch64-zxic-linux"

提示不能运行编译链如下,由于没有指定host平台默认是x86 gcc,需要指定为arm平台:--host=aarch64-zxic-linux,配置成功后,make编译完成后文件位置:src/ptpd2

checking whether we are cross compiling... configure: error: in `/home/wangyb/sda3/zm9300-tools/ptpd-2.3.1': configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details 最终配置命令 ./configure CC="aarch64-zxic-linux-gcc -mcpu=cortex-a53+crc -fstack-protector-all -pie -fPIE -Wformat -Wformat-security -Werror=format-security -fstack-protector-all -pie -fPIE -Wformat -Wformat-security -Werror=format-security --sysroot=/home/wangyb/sda3/zm9300c-V2XR260010/toolchain/sysroots/aarch64-zxic-linux" --host=aarch64-zxic-linux

在IMX6板子上面运行ptpd2提示错误如下:

root@imx6qsabresd_genvict:~# ./ptpd2 -C -m -i eth0 2023-11-24 14:30:21.484399 ptpd2[6512].startup (info) (___) Configuration OK 2023-11-24 14:30:21.487152 ptpd2[6512].startup (info) (___) Successfully acquired lock on /var/run/ptpd2.lock 2023-11-24 14:30:21.487684 ptpd2[6512].startup (notice) (___) PTPDv2 started successfully on eth0 using "masterslave" preset (PID 6512) 2023-11-24 14:30:21.487775 ptpd2[6512].startup (info) (___) TimingService.PTP0: PTP service init 2023-11-24 14:30:21.491781 ptpd2[6512].eth0 (error) (init) failed to join the multicast group (strerror: No buffer space available) 2023-11-24 14:30:21.491880 ptpd2[6512].eth0 (error) (init) Failed to initialize network 2023-11-24 14:30:21.491943 ptpd2[6512].eth0 (error) (flt) PTPd init failed - will retry in 10 seconds

查看源码:src/dep/net.c,函数:netInitMulticastIPv4

/* join multicast group (for receiving) on specified interface */ if (setsockopt(netPath->eventSock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &imr, sizeof(struct ip_mreq)) < 0 || setsockopt(netPath->generalSock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &imr, sizeof(struct ip_mreq)) < 0) { PERROR("failed to join the multicast group"); return FALSE; }

添加错误值打印:

int ret1=0; int ret2=0; ret1=setsockopt(netPath->eventSock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &imr, sizeof(struct ip_mreq)); if(ret1 < 0){ printf("errno = %d\n",errno); //105 printf("ret1=%d\n",ret1); return FALSE; } ret2=setsockopt(netPath->generalSock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &imr, sizeof(struct ip_mreq)); if(ret2 < 0){ printf("ret2=%d\n",ret2); return FALSE; }

setsockopt返回-1,错误值105,搜索系统头文件:/usr/include/asm-generic/errno.h

#define ENOBUFS 105 /* No buffer space available */

通过网上搜到https://www.jianshu.com/p/6dfaeefac922,UDP组播的内核参数为0导致问题,修改10解决问题:

root@imx6qsabresd_genvict:~# sysctl net.ipv4.igmp_max_memberships net.ipv4.igmp_max_memberships = 0 root@imx6qsabresd_genvict:~# root@imx6qsabresd_genvict:~# sysctl -w net.ipv4.igmp_max_memberships=10 net.ipv4.igmp_max_memberships = 10

查看其他平台是设置的参数20,所以没有这个问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 10:38:41

Kimi算力调度机制深度解析与实战破局指南

1. 一场被“算力疲劳”击穿的信任实验最近在社群里给几十位AI内容创作者做月度工具复盘时&#xff0c;我特意把Kimi放进了“高频使用但需警惕”的观察清单。不是因为技术不行——它处理300页PDF的长文本能力至今仍是国内第一梯队&#xff1b;而是因为上个月连续三天&#xff0c…

作者头像 李华
网站建设 2026/7/11 10:37:55

如何设置价格查看权限?吗?一文搞懂(附详细解答)

这是一个被商家问到最多的问题之一&#xff0c;今天一次性讲清楚。一、问题背景在实际运营小程序商城的过程中&#xff0c;不少商家会遇到&#xff1a;如何设置价格查看权限&#xff1f;二、详细解答在【产品--产品参数】中设置价格查看的权限&#xff0c;设置后符合要求的用户…

作者头像 李华
网站建设 2026/7/11 10:37:38

(一)程序设计基础

目录 1.标识符\变量 2.输出 3.输入 1、数值表达式 2、字符串表达式 3、变量表达式 4、列表、元组和字典表达式 5、函数调用表达式 6、算术、比较和逻辑运算表达式 补充&#xff1a;常见的类型转换及其用法 补充&#xff1a;一些常见的输入要求 4、运算符\赋值语句 …

作者头像 李华
网站建设 2026/7/11 10:35:46

磁盘满了爆红怎么办?清理C盘与扩容C盘教程指导

文章目录方法一:清理临时文件方法二:查看盘中内容方法三:修改文档路径方法四:C盘扩容方法五:移动桌面位置方法六:针对惠普电脑方法七&#xff1a;删除系统更新下载文件方法一:清理临时文件 我发现我的Win10系统很多windows更新的文件占用不少C盘的空间&#xff0c;所以清理一下…

作者头像 李华
网站建设 2026/7/11 10:35:37

暗黑3按键辅助工具:D3KeyHelper完整指南与实战配置

暗黑3按键辅助工具&#xff1a;D3KeyHelper完整指南与实战配置 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑破坏神3中频繁的技能点击而…

作者头像 李华
网站建设 2026/7/11 10:33:55

如何快速实现视频课程自动化:终极浏览器插件指南

如何快速实现视频课程自动化&#xff1a;终极浏览器插件指南 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 在当今数字化学习时代&#xff0c;智慧树刷课插件作为一款…

作者头像 李华