我正在使用 Zeromq 开发一个动态应用程序,其操作类似于 upnp 协议(客厅设备的自动配置和自动发现)。为此,我使用 Zeromq 来分发消息,我的问题是,当我创建套接字并绑定到地址“169.254.1.0 到 169.254.254.255”时,我收到如下错误消息:ZMQError: Cannot allocate requested address。
我试图通过本地地址(127.0.0.1)更改地址来找出原因,并且它有效!问题是我正在实现 autoip,这意味着我必须使用 169.254.1.0 到 169.254.254.255 范围内的地址。
在此先感谢您的帮助!
我正在尝试在内核3.13上编译内核模块,我收到此错误:
error: implicit declaration of function 'create_proc_read_entry' [-Werror=implicit-function-declaration]
Run Code Online (Sandbox Code Playgroud)
我谷歌它并没有找到任何回应.以下是引用此错误的代码部分:
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
proc = proc_net_create(KAODV_QUEUE_PROC_FS_NAME, 0, kaodv_queue_get_info);
#else
proc = create_proc_read_entry(KAODV_QUEUE_PROC_FS_NAME, 0, init_net.proc_net, kaodv_queue_get_info, NULL);
#endif
if (!proc) {
printk(KERN_ERR "kaodv_queue: failed to create proc entry\n");
return -1;
}
Run Code Online (Sandbox Code Playgroud)
我可以得到帮助吗?我真的不知道出了什么问题.它可能是需要补丁的内核3.13.我在某处(在KERNEL 3.10上)读到内核需要补丁.任何人都可以告诉我在哪里可以得到3.13内核补丁,以最终解决问题.谢谢
我想知道,如何使用erlang发送消息进行处理.我确实启动了一个进程,输出显示pid <0.39.0>.我的问题是如何手动向此过程(<0.39.0>)发送消息.
任何帮助,将不胜感激
我正在尝试为ARM linux编译AODV.我使用SabreLite作为内核版本3.0.35_4.1.0的板.值得一提的是,我正在使用openembedded为我的主板创建Linux发行版.AODV源代码(http://sourceforge.net/projects/aodvuu/)有一个README文件,它提供了一些关于如何在ARM上安装它的指示.(http://w3.antd.nist.gov/wctg/aodv_kernel/kaodv_arm.html).
我能够升级makefile以便与2.6之后的内核版本一起使用(如上所述,我有3.0.35_4.1.0内核版本).所以,基本上,我要做的是我必须创建一个模块(比如说file.ko),然后将它加载到ARM中(使用insmod file.ko命令).
为此,我使用交叉编译器,其中的一些值如下所示:
echo $ CC:arm-oe-linux-gnueabi-gcc -march = armv7-a -mthumb-interwork -mfloat-abi = hard -mfpu = neon -mtune = cortex-a9 --sysroot =/usr/local/oecore- x86_64的/ sysroots/cortexa9hf-VFP氖-OE-Linux的gnueabi
echo $ ARCH = arm
echo $ CFLAGS:O2 -pipe -g -feliminate-unused-debug-types
echo $ LD:arm-oe-linux-gnueabi-ld --sysroot =/usr/local/oecore-x86_64/sysroots/cortexa9hf-vfp-neon-oe-linux-gnueabi
echo $ LDFLAGS:-Wl,-O1 -Wl, - hash-style = gnu -Wl, - as-needed -Wl, - as-needed
当我启动"make命令"时,我收到以下错误:
LD [M] /home/scof/script_emulation/AODV/aodv-uu/lnx/kaodv.o
arm-oe-linux-gnueabi-ld:无法识别的选项'-Wl,-O1'
arm-oe-linux-gnueabi-ld:使用--help选项获取用法信息
它表明链接器有问题.这个链接器来自交叉编译工具,我通常不应该触摸它.
无论如何,为了解决以上错误,我尝试撤消LDFLAGS,如下所示: export LDFLAGS ='',之后,make命令工作,我得到模块kaodv.ko.但是当我将它插入我的ARM进行检查时,它不起作用.它实际上冻结了我的终端
所以我的问题是,编译时是否必须指定LDFLAGS?撤销LDFLAGS是否会对生成的内核模块产生影响.实际上,我试图了解可能出现问题的地方,唯一能找到的是我不应该手动改变LDFLAGS.但如果我不改变de LDFLAGS,我会得到无法识别的选项错误.
我的第二个问题是,在ARM编译中LDFLAGS的可能值是什么
谢谢 !!