stephane-martin / cycapture

Cython bindings for libpcap and libtins
GNU Lesser General Public License v3.0
10 stars 9 forks source link

cycapture build error #1

Closed derekpanderson closed 8 years ago

derekpanderson commented 8 years ago

I am trying to get cycapture to install by running python setup.py on ubuntu 14.04. After the script successfully builds libtins "Linking CXX shared library ../lib/libtins.so" setup.py throws the error "IOError: [Errno 2] No such file or directory: '/tmp/cycapture/external/libtins/build/lib/libtins.3.2.so'" Doing an ls of the dir it has two files "libtins.so" and "libtins.so.3.2" even if I manually install libtins and then run setup.py I get the same error.

If I comment out the lines that cause the error (lines 248 - 256) of setup.py the package builds and installs fine but I get errors when using the library.

ImportError: /usr/local/lib/python2.7/dist-packages/cycapture-0.2-py2.7-linux-x86_64.egg/cycapture/libtins/_tins.so: undefined symbol: _ZN4Tins24custom_exception_handlerEv

stephane-martin commented 8 years ago

yeah, sorry, got swallowed in another project and never took the time to polish the lib, especially on linux. i'll fix the issues on the weekend. thx for report.

derekpanderson commented 8 years ago

That would be awesome, also libtins has a lot of bug fixes if you pull the current build vs the archived one.

zalmanu commented 8 years ago

Hi @stephane-martin,

First of all, thanks for the great work that you did with the implementation of cycapture.

Second of all, did you manage to take a look at this issue? I am trying to install it on Ubuntu (15.04) and I get the same error as @derekpanderson. I did a hack, namely I copied libtins.so.3.2 to libtins.3.2.so in /cycapture/external/libtins/build/lib/ which gets the install through, but now I get the following error:

>>> from cycapture.libtins import DNS
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/<path-to-virtualenv>/cycapture-stub/local/lib/python2.7/site-packages/cycapture-0.2-py2.7-linux-x86_64.egg/cycapture/libtins/__init__.py", line 14, in <module>
    from ._tins import IPv4Address, IPv6Address, HWAddress, IPv4Range, IPv6Range, HWRange, NetworkInterface
ImportError: libtins.so.3.2: cannot open shared object file: No such file or directory

I suspect the hack of being responsible for the error but I would appreciate your input on how I could solve this elegantly.

Thanks!

stephane-martin commented 8 years ago

hi,

i had a look, just little stupid mistakes in the setup.py script. fix is in the pipe.

for the other issue "symbol not found" there is not much work too.

kind regards, stephane

Le 4 avril 2016 18:24:14 Emanuel Danci notifications@github.com a écrit :

Hi @stephane-martin,

First of all, thanks for the great work that you did with the implementation of cycapture.

Second of all, did you manage to take a look at this issue? I am trying to install it on Ubuntu (15.04) and I get the same error as @derekpanderson. I did a hack, namely I copied libtins.so.3.2 to libtins.3.2.so in /cycapture/external/libtins/build/lib/ which gets the install through, but now I get the following error:

>>> from cycapture.libtins import DNS
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File 
  "/<path-to-virtualenv>/cycapture-stub/local/lib/python2.7/site-packages/cycapture-0.2-py2.7-linux-x86_64.egg/cycapture/libtins/__init__.py", 
  line 14, in <module>
    from ._tins import IPv4Address, IPv6Address, HWAddress, IPv4Range, 
    IPv6Range, HWRange, NetworkInterface
ImportError: libtins.so.3.2: cannot open shared object file: No such file 
or directory

I suspect the hack of being responsible for the error but I would appreciate your input on how I could solve this elegantly.

Thanks!


You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/stephane-martin/cycapture/issues/1#issuecomment-205375470

stephane-martin commented 8 years ago

you can try the latest master.zip now.

so basically now:

(The ImportError was caused by me not being careful when linking the python module to libtins and libpcap (have to use linker -rpath))

zalmanu commented 8 years ago

Thanks for the prompt answer and for the fix, @stephane-martin.

Also, did you use at any point cycapture in production? If yes, did you experience any problems?

stephane-martin commented 8 years ago

It depends what you call production. I use this code quiet frequently for network investigations on MacOSX. Basically it's just a thin API wrapping around libpcap and libtins, which are pretty C and C++ mature libraries. But so far i would consider cycapture itself only alpha software, until i finish documentation and unit tests in a few weeks. The more bug reports i get, the faster it gets better :)

Thanks for the prompt answer and for the fix, @stephane-martin (https://github.com/stephane-martin). Also, did you use at any point cycapture in production? If yes, did you experience any problems?

derekpanderson commented 8 years ago

Everything seems to build and run correctly. Thanks.