Export to GitHub

pcap-touch-server - issue #1

ARM compatibility


Posted on Apr 14, 2012 by Happy Hippo

What steps will reproduce the problem? 1. Try to make && make install on a BusyBox ARM System like a Synology DiskStation

What is the expected output? What do you see instead? Expected: completed installation Output: src/main.c: In function 'pkt_callback': src/main.c:88: warning: comparison between signed and unsigned /opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib/libpthread.so: undefined reference to __default_sa_restorer_v2@GLIBC_PRIVATE' /opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib/libpthread.so: undefined reference to__default_rt_sa_restorer_v2@GLIBC_PRIVATE' /opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib/libpthread.so: undefined reference to __default_rt_sa_restorer_v1@GLIBC_PRIVATE' /opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib/libpthread.so: undefined reference to__default_sa_restorer_v1@GLIBC_PRIVATE' collect2: ld returned 1 exit status make: * [server] Error 1

What version of the product are you using? On what operating system? Latest Version on Synology DiskStation DS211j with latest firmware. BusyBox v1.16.1 (2012-03-07 15:47:21 CST) built-in shell (ash) Latest ipkg gcc (4.2.3-1) Libpcap-dev 1.0.0-2 CPU: marvel kirkwood ARMv5TE compliant 88F6281 Anything else? Ask me

Please provide any additional information below. I know you are probably not planning ARM compatibility, but if there is an easy fix for this, you might want to get it out there. Also, you should probably mention your dependency on libpcap-dev somewhere, so the user can install it and not get cryptic error messages ;-). Thanks

Comment #1

Posted on Apr 15, 2012 by Happy Horse

From a bit of Googling it looks like there is a problem with libpthread. Take a look at this forum and see if their work around fixes the problem. http://forum.synology.com/enu/viewtopic.php?f=90&t=30132

Comment #2

Posted on Apr 16, 2012 by Happy Hippo

This solved that problem, thanks. Now I am having different problems (Some directories can't be created on install), but I will try to sort that out myself, since that is an issue with my system and not your code.

Sorry for not googling myself, I was half expecting your code to go up in flames once I run it on my Synology, so it never crossed my mind to check if it was my system that was responsible for the errors ;-)

Comment #3

Posted on Apr 16, 2012 by Happy Hippo

Where does the compiled executable expect libpcap.so.1 to be? I managed to compile and install succesfully (had to change install path from /usr/bin to /opt/bin for some reason), but if I run it now, it gives me an error: /opt/bin/pcapserver: error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory

The file is on my system, both in /opt/lib and /opt/arm-none-linux-gnueabi/lib (which seems to be a folder by the ARM gcc or something).

Thanks for your help.

Comment #4

Posted on Apr 16, 2012 by Happy Horse

Try using the ldd command: http://unixhelp.ed.ac.uk/CGI/man-cgi?ldd+1 to list the libraries of the binary. You should be able to symlink libpcap to the location it is looking in.

Comment #5

Posted on Apr 17, 2012 by Happy Hippo

Sadly, there is no ldd on my box, and I can't install it from ipkg. But I found the symlinks I needed: /lib/ needed symlinks to /opt/lib/libpcap.so*. Now it complains that so suitable device was found. I don't know if that is because it is looking for /dev/eth0 or if it is an incompatibility with my NAS, but I'll try to figure it out as soon as I have the time.

Status: New

Labels:
Type-Defect Priority-Medium