关于cgic的问题
本帖最后由 nazily2150 于 2011-05-13 17:08 编辑
大家好,
小弟现在有个问题就是,我移植了boa到开发板上,可以使用静态网页进行浏览。
接着想编写关于cgic的程序,直接编译cgic2.05下面的cgictest.cgi,接着放到开发板上,从PC机上登录,没有结果。接着在error_log报告说是没有找到libc.so.6链接库。我在/etc/profile那里已经export了LD_LIBRARY_PATH=/lib了,接着/lib下也已经有了libc.so.6,file一下它们,都是ARM结构。但问题是它就说是找不到哦,请教这是什么原因啊?
我在PC上运行boa,可以测试它的cgictest.cgi,正常,接着换交叉编译工具放到开发板上就存在上面的问题,好奇怪哦。
还有就是,我直接在开发板的命令那里运行这些cgi程序是可以的,怎么用网页运行就有问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
算了,还是加-static编译链接可以了,估计是交叉工具链比较高。
已解决!
回复 1# nazily2150
有可能是交叉编译时候链接的路径和你嵌入式环境EXPORT出来的路径不一致,统一成嵌入式环境的路径就好了。
嗯,我想解决核对一下你说的问题是不是。
高手,请指教哦。
在交叉编译链接的时候,难道需要另外指定链接的路径?还是在制作交叉工具链的时候没设置好?
我看了一下相关的资料:
http://hi.baidu.com/rinehart/blo ... b682154954034e.html
然后尝试了:arm-none-linux-gnueabi-gcc cgi-led.o -o cgi-led -L./ -lcgic -Wl,-rpath-link=/lib
结果通过boa去调用它还是找不到so。
这里讲了一下程序还是会自动搜索系统默认的lib库的,所以?
(我那里单独执行(通过ttyS控制终端)程序是可以找到的)
请问你说的统一路径是什么意思?
程序不是根据LD_LIBRARY_PATH那里找的吗
CGIC。。。想起三四年前曾经用CGIC写了不少代码。
你加到/etc/profile,embed linux未必会用到
(我那里单独执行(通过ttyS控制终端)程序是可以找到的)
检查下/lib的权限设定吧,让所有人可读可执行。
TO 6楼:算我未能明白你说的什么意思哦?
TO7楼:我已经确认lib的权限是可执行可读了,问题还是存在。。。
6楼的意思是某些设备 /etc/profile 在系统启动时未必会执行。
回复 8# nazily2150
可以在命令行里echo $LD_LIBRARY_PATH,确认下path是否正确。
再就把库文件chmod +777试下。
找不到库不止这两个原因,上次遇到一个这样的问题居然忘记了最后是怎么解决的了。。