CAIDA / bgpstream

BGP measurement analysis for the masses
GNU General Public License v2.0
109 stars 43 forks source link

Problem installing PyBGPStream on MacOS. #61

Closed adwaraki closed 6 years ago

adwaraki commented 6 years ago

I am trying to install PyBGPStream on MacOS. libbgpstream has been installed successfully and I can use bgpreader and bgpcorsaro from the command line. Getting some errors when doing a pip3.6 install pybgpstream INSIDE a python virtual environment.

Seemed similar to this issue, and thought it might be because of lack of support for Python3, but that appears to have been resolved.

[Abhishek:~/Projects/Python-Projects/Python-VEs] [ARMn] $ pip3.6 install pybgpstream
Collecting pybgpstream
  Using cached pybgpstream-1.1.0.tar.gz
Building wheels for collected packages: pybgpstream
  Running setup.py bdist_wheel for pybgpstream ... error
  Complete output from command /Users/Abhishek/Projects/Python-Projects/Python-VEs/ARMn/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/hn/pc65yvns4qgcx73lskbrhf700000gn/T/pip-build-rokqelxm/pybgpstream/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /var/folders/hn/pc65yvns4qgcx73lskbrhf700000gn/T/tmpvs_k2uoopip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_ext
  building '_pybgpstream' extension
  creating build
  creating build/temp.macosx-10.13-x86_64-3.6
  creating build/temp.macosx-10.13-x86_64-3.6/src
  clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/_pybgpstream_module.c -o build/temp.macosx-10.13-x86_64-3.6/src/_pybgpstream_module.o
  src/_pybgpstream_module.c:56:18: warning: implicit declaration of function 'Py_InitModule3' is invalid in C99 [-Wimplicit-function-declaration]
    _pybgpstream = Py_InitModule3("_pybgpstream",
                   ^
  src/_pybgpstream_module.c:56:18: warning: this function declaration is not a prototype [-Wstrict-prototypes]
  src/_pybgpstream_module.c:56:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
    _pybgpstream = Py_InitModule3("_pybgpstream",
                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/_pybgpstream_module.c:60:5: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
      return;
      ^
  src/_pybgpstream_module.c:63:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
    ADD_OBJECT(BGPStream);
    ^
  src/_pybgpstream_module.c:37:7: note: expanded from macro 'ADD_OBJECT'
        return;                                                           \
        ^
  src/_pybgpstream_module.c:63:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
  src/_pybgpstream_module.c:39:7: note: expanded from macro 'ADD_OBJECT'
        return;                                                           \
        ^
  src/_pybgpstream_module.c:66:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
    ADD_OBJECT(BGPRecord);
    ^
  src/_pybgpstream_module.c:37:7: note: expanded from macro 'ADD_OBJECT'
        return;                                                           \
        ^
  src/_pybgpstream_module.c:66:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
  src/_pybgpstream_module.c:39:7: note: expanded from macro 'ADD_OBJECT'
        return;                                                           \
        ^
  src/_pybgpstream_module.c:69:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
    ADD_OBJECT(BGPElem);
    ^
  src/_pybgpstream_module.c:37:7: note: expanded from macro 'ADD_OBJECT'
        return;                                                           \
        ^
  src/_pybgpstream_module.c:69:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
  src/_pybgpstream_module.c:39:7: note: expanded from macro 'ADD_OBJECT'
        return;                                                           \
        ^
  3 warnings and 7 errors generated.
  error: command 'clang' failed with exit status 1

  ----------------------------------------
  Failed building wheel for pybgpstream
  Running setup.py clean for pybgpstream
Failed to build pybgpstream
Installing collected packages: pybgpstream
  Running setup.py install for pybgpstream ... error
    Complete output from command /Users/Abhishek/Projects/Python-Projects/Python-VEs/ARMn/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/hn/pc65yvns4qgcx73lskbrhf700000gn/T/pip-build-rokqelxm/pybgpstream/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/hn/pc65yvns4qgcx73lskbrhf700000gn/T/pip-bbm4b6pd-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/Abhishek/Projects/Python-Projects/Python-VEs/ARMn/bin/../include/site/python3.6/pybgpstream:
    running install
    running build
    running build_ext
    building '_pybgpstream' extension
    creating build
    creating build/temp.macosx-10.13-x86_64-3.6
    creating build/temp.macosx-10.13-x86_64-3.6/src
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/_pybgpstream_module.c -o build/temp.macosx-10.13-x86_64-3.6/src/_pybgpstream_module.o
    src/_pybgpstream_module.c:56:18: warning: implicit declaration of function 'Py_InitModule3' is invalid in C99 [-Wimplicit-function-declaration]
      _pybgpstream = Py_InitModule3("_pybgpstream",
                     ^
    src/_pybgpstream_module.c:56:18: warning: this function declaration is not a prototype [-Wstrict-prototypes]
    src/_pybgpstream_module.c:56:16: warning: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]
      _pybgpstream = Py_InitModule3("_pybgpstream",
                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/_pybgpstream_module.c:60:5: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
        return;
        ^
    src/_pybgpstream_module.c:63:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
      ADD_OBJECT(BGPStream);
      ^
    src/_pybgpstream_module.c:37:7: note: expanded from macro 'ADD_OBJECT'
          return;                                                           \
          ^
    src/_pybgpstream_module.c:63:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
    src/_pybgpstream_module.c:39:7: note: expanded from macro 'ADD_OBJECT'
          return;                                                           \
          ^
    src/_pybgpstream_module.c:66:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
      ADD_OBJECT(BGPRecord);
      ^
    src/_pybgpstream_module.c:37:7: note: expanded from macro 'ADD_OBJECT'
          return;                                                           \
          ^
    src/_pybgpstream_module.c:66:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
    src/_pybgpstream_module.c:39:7: note: expanded from macro 'ADD_OBJECT'
          return;                                                           \
          ^
    src/_pybgpstream_module.c:69:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
      ADD_OBJECT(BGPElem);
      ^
    src/_pybgpstream_module.c:37:7: note: expanded from macro 'ADD_OBJECT'
          return;                                                           \
          ^
    src/_pybgpstream_module.c:69:3: error: non-void function 'init_pybgpstream' should return a value [-Wreturn-type]
    src/_pybgpstream_module.c:39:7: note: expanded from macro 'ADD_OBJECT'
          return;                                                           \
          ^
    3 warnings and 7 errors generated.
    error: command 'clang' failed with exit status 1

    ----------------------------------------
Command "/Users/Abhishek/Projects/Python-Projects/Python-VEs/ARMn/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/hn/pc65yvns4qgcx73lskbrhf700000gn/T/pip-build-rokqelxm/pybgpstream/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/hn/pc65yvns4qgcx73lskbrhf700000gn/T/pip-bbm4b6pd-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/Abhishek/Projects/Python-Projects/Python-VEs/ARMn/bin/../include/site/python3.6/pybgpstream" failed with error code 1 in /private/var/folders/hn/pc65yvns4qgcx73lskbrhf700000gn/T/pip-build-rokqelxm/pybgpstream/
alistairking commented 6 years ago

Unfortunately the version on PyPi is outdated wrt to the version on GitHub. Can you try cloning from github instead of using pip?

adwaraki commented 6 years ago

Hi Alistair, Still no luck. I cloned the repo and am trying to install it into my virtual environment. Here is what I am seeing.

[Abhishek:~/Projects/Python-Projects/Python-VEs] [ARMn] 4s $ cd ~/Projects/Git-Repositories/BGPStream/pybgpstream/ [Abhishek:~/Projects/Git-Repositories/BGPStream/pybgpstream] [ARMn] master 4s ± python setup.py build running build running build_ext building '_pybgpstream' extension creating build creating build/temp.macosx-10.13-x86_64-3.6 creating build/temp.macosx-10.13-x86_64-3.6/src clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/_pybgpstream_module.c -o build/temp.macosx-10.13-x86_64-3.6/src/_pybgpstream_module.o clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/_pybgpstream_bgpstream.c -o build/temp.macosx-10.13-x86_64-3.6/src/_pybgpstream_bgpstream.o src/_pybgpstream_bgpstream.c:77:7: warning: implicit declaration of function 'bgpstream_parse_filter_string' is invalid in C99 [-Wimplicit-function-declaration] if (bgpstream_parse_filter_string(self->bs, fstring) == 0) { ^ src/_pybgpstream_bgpstream.c:77:7: warning: this function declaration is not a prototype [-Wstrict-prototypes] src/_pybgpstream_bgpstream.c:100:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_EXACT'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_EXACT, ^~~~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:101:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_MORE'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_MORE, ^~~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:102:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_LESS'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_LESS, ^~~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:103:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_ANY'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_ANY, ^~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:104:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_ASPATH'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_ASPATH, ^~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:105:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_IP_VERSION'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PEER_ASN'? BGPSTREAM_FILTER_TYPE_ELEM_IP_VERSION, ^~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PEER_ASN /usr/local/include/bgpstream.h:80:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PEER_ASN' declared here BGPSTREAM_FILTER_TYPE_ELEM_PEER_ASN = 4, ^ src/_pybgpstream_bgpstream.c:106:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_TYPE'; did you mean 'BGPSTREAM_FILTER_TYPE_RECORD_TYPE'? BGPSTREAM_FILTER_TYPE_ELEM_TYPE, ^~~~~~~ BGPSTREAM_FILTER_TYPE_RECORD_TYPE /usr/local/include/bgpstream.h:77:3: note: 'BGPSTREAM_FILTER_TYPE_RECORD_TYPE' declared here BGPSTREAM_FILTER_TYPE_RECORD_TYPE = 3, ^ src/_pybgpstream_bgpstream.c:176:3: warning: implicit declaration of function 'bgpstream_add_recent_interval_filter' is invalid in C99 [-Wimplicit-function-declaration] bgpstream_add_recent_interval_filter(self->bs, intstring, islive); ^ src/_pybgpstream_bgpstream.c:176:3: warning: this function declaration is not a prototype [-Wstrict-prototypes] 4 warnings and 7 errors generated. error: command 'clang' failed with exit status 1

Regards, Abhishek.

On March 26, 2018 at 5:47:08 PM, Alistair King (notifications@github.com) wrote:

Unfortunately the version on PyPi is outdated wrt to the version on GitHub. Can you try cloning from github instead of using pip?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CAIDA/bgpstream/issues/61#issuecomment-376322836, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWcWryHnV3MAWrXo8JTvsiOPi5S8dAoks5tiWHbgaJpZM4S5nJK .

alistairking commented 6 years ago

Sorry, I think this confusion is caused by us reorganizing the repositories in preparation for the v2 release of BGPStream. The PyBGPStream code that is compatible with the v1 bgpstream code is located within this repo (https://github.com/CAIDA/bgpstream/tree/master/pybgpstream) not in the pybgpstream repo. My apologies.

adwaraki commented 6 years ago

Hi Alistair, I had initially cloned the same repo that you have pointed out and not the pybgpstream repo. In any case, I deleted and recloned the repo. The result is still the same.

Some things to note. I am using virtualenv and running this inside a Python virtual environment. I noticed that there were some issues running it from inside a VE, but they have since been resolved and merged into master. I am also running this on macOS, just to give some context.

[Abhishek:~/Projects/Git-Repositories/BGPStream/pybgpstream] [ARMn] master 4s ± python setup.py build running build running build_ext building '_pybgpstream' extension creating build creating build/temp.macosx-10.13-x86_64-3.6 creating build/temp.macosx-10.13-x86_64-3.6/src clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/_pybgpstream_module.c -o build/temp.macosx-10.13-x86_64-3.6/src/_pybgpstream_module.o clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/_pybgpstream_bgpstream.c -o build/temp.macosx-10.13-x86_64-3.6/src/_pybgpstream_bgpstream.o src/_pybgpstream_bgpstream.c:77:7: warning: implicit declaration of function 'bgpstream_parse_filter_string' is invalid in C99 [-Wimplicit-function-declaration] if (bgpstream_parse_filter_string(self->bs, fstring) == 0) { ^ src/_pybgpstream_bgpstream.c:77:7: warning: this function declaration is not a prototype [-Wstrict-prototypes] src/_pybgpstream_bgpstream.c:100:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_EXACT'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_EXACT, ^~~~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:101:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_MORE'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_MORE, ^~~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:102:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_LESS'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_LESS, ^~~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:103:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_ANY'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_ANY, ^~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:104:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_ASPATH'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX'? BGPSTREAM_FILTER_TYPE_ELEM_ASPATH, ^~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PREFIX /usr/local/include/bgpstream.h:83:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PREFIX' declared here BGPSTREAM_FILTER_TYPE_ELEM_PREFIX = 5, ^ src/_pybgpstream_bgpstream.c:105:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_IP_VERSION'; did you mean 'BGPSTREAM_FILTER_TYPE_ELEM_PEER_ASN'? BGPSTREAM_FILTER_TYPE_ELEM_IP_VERSION, ^~~~~~~~~ BGPSTREAM_FILTER_TYPE_ELEM_PEER_ASN /usr/local/include/bgpstream.h:80:3: note: 'BGPSTREAM_FILTER_TYPE_ELEM_PEER_ASN' declared here BGPSTREAM_FILTER_TYPE_ELEM_PEER_ASN = 4, ^ src/_pybgpstream_bgpstream.c:106:5: error: use of undeclared identifier 'BGPSTREAM_FILTER_TYPE_ELEM_TYPE'; did you mean 'BGPSTREAM_FILTER_TYPE_RECORD_TYPE'? BGPSTREAM_FILTER_TYPE_ELEM_TYPE, ^~~~~~~ BGPSTREAM_FILTER_TYPE_RECORD_TYPE /usr/local/include/bgpstream.h:77:3: note: 'BGPSTREAM_FILTER_TYPE_RECORD_TYPE' declared here BGPSTREAM_FILTER_TYPE_RECORD_TYPE = 3, ^ src/_pybgpstream_bgpstream.c:176:3: warning: implicit declaration of function 'bgpstream_add_recent_interval_filter' is invalid in C99 [-Wimplicit-function-declaration] bgpstream_add_recent_interval_filter(self->bs, intstring, islive); ^ src/_pybgpstream_bgpstream.c:176:3: warning: this function declaration is not a prototype [-Wstrict-prototypes] 4 warnings and 7 errors generated. error: command 'clang' failed with exit status 1

Regards, Abhishek.

On March 26, 2018 at 8:26:36 PM, Alistair King (notifications@github.com) wrote:

Sorry, I think this confusion is caused by us reorganizing the repositories in preparation for the v2 release of BGPStream. The PyBGPStream code that is compatible with the v1 bgpstream code is located within this repo ( https://github.com/CAIDA/bgpstream/tree/master/pybgpstream) not in the pybgpstream repo. My apologies.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CAIDA/bgpstream/issues/61#issuecomment-376355251, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWcWloLupQ-alcFllsYHYZhe9C4V-gqks5tiYc7gaJpZM4S5nJK .

alistairking commented 6 years ago

Ok, so I just tried to reproduce this problem without success.

I took a clean VM, and did roughly the following (after installing dependencies):

git clone git@github.com:CAIDA/bgpstream.git
cd bgpstream
./configure
make 
sudo make install
cd pybgpstream
python setup.py build_ext
sudo python setup.py install

and this worked fine.

I guess you might have some conflicting versions of the library installed. You could try cleaning up /usr/local/lib/libbgpstream* and /usr/local/include/bgpstream* and trying again?

adwaraki commented 6 years ago

Hi Alistair, Thank you for the help. The one difference I see between what you tried and what I am doing is that I am executing this inside of a Python VE, because I have setup my environment such that packages cannot be installed without an active virtual environment (to avoid polluting my Python setup).

I did look in the directories you mentioned and here is what I find.

[Abhishek:~/Projects/Git-Repositories/BGPStream/pybgpstream] [ARMn] master ± ls -hlrt /usr/local/lib/ | grep bgpstream -rw-r--r-- 1 root staff 717K Mar 24 01:13 libbgpstream.a -rwxr-xr-x 1 root staff 197K Mar 24 01:13 libbgpstream.2.dylib -rwxr-xr-x 1 root staff 948B Mar 24 01:13 libbgpstream.la

There is nothing for libbgpstream* in /usr/local/include.

Do I go ahead and delete these files? I wanted to confirm before I deleted them because BGPStream as is works, it is just PyBGPStream that I am not able to install. I do not want to lose functionality that I have with the core components too. :)

Regards, Abhishek.

On March 29, 2018 at 6:41:48 PM, Alistair King (notifications@github.com) wrote:

Ok, so I just tried to reproduce this problem without success.

I took a clean VM, and did roughly the following (after installing dependencies):

git clone git@github.com:CAIDA/bgpstream.git cd bgpstream ./configure make sudo make install cd pybgpstream python setup.py build_ext sudo python setup.py install

and this worked fine.

I guess you might have some conflicting versions of the library installed. You could try cleaning up /usr/local/lib/libbgpstream and /usr/local/include/libbgpstream and trying again?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CAIDA/bgpstream/issues/61#issuecomment-377394465, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWcWqKxn4ocebNJPjGgA9JkKkbiRu6Wks5tjWMrgaJpZM4S5nJK .

adwaraki commented 6 years ago

Hi Alistair,                     I removed the files from my /usr/local/lib and tried compiling it again, but it still gives me the same error. I then proceeded to install BGPStream on my lab server, running Ubuntu 16.04. Cloned the repo you sent me. Here is the output, it is the same problem on the Ubuntu machine. I am not sure if there is some difference in the environment that is causing this issue, but I doubt that since this time I was on a Linux machine, no Python virtual environment etc.

adwaraki@supermicro:~/Documents/BGPStream/CAIDA-Repo/pybgpstream$ python3.5 setup.py build_ext running build_ext building '_pybgpstream' extension creating build creating build/temp.linux-x86_64-3.5 creating build/temp.linux-x86_64-3.5/src x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.5m -c src/_pybgpstream_module.c -o build/temp.linux-x86_64-3.5/src/_pybgpstream_module.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.5m -c src/_pybgpstream_bgpstream.c -o build/temp.linux-x86_64-3.5/src/_pybgpstream_bgpstream.o src/_pybgpstream_bgpstream.c: In function ‘BGPStream_parse_filter_string’: src/_pybgpstream_bgpstream.c:77:7: warning: implicit declaration of function ‘bgpstream_parse_filter_string’ [-Wimplicit-function-declaration]    if (bgpstream_parse_filter_string(self->bs, fstring) == 0) {        ^ src/_pybgpstream_bgpstream.c: In function ‘BGPStream_add_filter’: src/_pybgpstream_bgpstream.c:100:5: error: ‘BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_EXACT’ undeclared (first use in this function)      BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_EXACT,      ^ src/_pybgpstream_bgpstream.c:100:5: note: each undeclared identifier is reported only once for each function it appears in src/_pybgpstream_bgpstream.c:101:5: error: ‘BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_MORE’ undeclared (first use in this function)      BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_MORE,      ^ src/_pybgpstream_bgpstream.c:102:5: error: ‘BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_LESS’ undeclared (first use in this function)      BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_LESS,      ^ src/_pybgpstream_bgpstream.c:103:5: error: ‘BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_ANY’ undeclared (first use in this function)      BGPSTREAM_FILTER_TYPE_ELEM_PREFIX_ANY,      ^ src/_pybgpstream_bgpstream.c:104:5: error: ‘BGPSTREAM_FILTER_TYPE_ELEM_ASPATH’ undeclared (first use in this function)      BGPSTREAM_FILTER_TYPE_ELEM_ASPATH,      ^ src/_pybgpstream_bgpstream.c:105:5: error: ‘BGPSTREAM_FILTER_TYPE_ELEM_IP_VERSION’ undeclared (first use in this function)      BGPSTREAM_FILTER_TYPE_ELEM_IP_VERSION,      ^ src/_pybgpstream_bgpstream.c:106:5: error: ‘BGPSTREAM_FILTER_TYPE_ELEM_TYPE’ undeclared (first use in this function)      BGPSTREAM_FILTER_TYPE_ELEM_TYPE,      ^ src/_pybgpstream_bgpstream.c: In function ‘BGPStream_add_recent_interval’: src/_pybgpstream_bgpstream.c:176:3: warning: implicit declaration of function ‘bgpstream_add_recent_interval_filter’ [-Wimplicit-function-declaration]    bgpstream_add_recent_interval_filter(self->bs, intstring, islive);    ^ src/_pybgpstream_bgpstream.c: At top level: src/_pybgpstream_bgpstream.c:451:15: warning: function declaration isn’t a prototype [-Wstrict-prototypes]  PyTypeObject *_pybgpstream_bgpstream_get_BGPStreamType()                ^ error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Regards, Abhishek.

On March 29, 2018 at 10:46:59 PM, Abhishek Dwaraki (abhishek.dwaraki@gmail.com) wrote:

https://github.com/CAIDA/bgpstream/tree/master/pybgpstream

alistairking commented 6 years ago

I'm a little confused how you are getting into this situation. It seems that when the Python extension is built, it is including an old bgpstream.h header that does not have those filter macros (which have been added in a recent commit to the master branch of the bgpstream repo).

Are you following exactly the commands that I listed earlier?

adwaraki commented 6 years ago

Hi Alistair, Here is the output of my what happens when I follow the steps:

adwaraki@supermicro:~/Documents/BGPStream$ ssh-add ~/.ssh/id_rsa Identity added: /home/adwaraki/.ssh/id_rsa (/home/adwaraki/.ssh/id_rsa)

adwaraki@supermicro:~/Documents/BGPStream$ git clone git@github.com: CAIDA/bgpstream.git Cloning into 'bgpstream'... remote: Counting objects: 1041, done. remote: Compressing objects: 100% (5/5), done. remote: Total 1041 (delta 0), reused 1 (delta 0), pack-reused 1036 Receiving objects: 100% (1041/1041), 10.71 MiB | 0 bytes/s, done. Resolving deltas: 100% (671/671), done.

adwaraki@supermicro:~/Documents/BGPStream$ cd bgpstream adwaraki@supermicro:~/Documents/BGPStream/bgpstream$ ls

AUTHORS autogen.sh bgpcorsaro ChangeLog ChangeLog.md common configure.ac COPYING FILTERING lib m4 Makefile.am NEWS pybgpstream README README.md test tools

adwaraki@supermicro:~/Documents/BGPStream/bgpstream$ ./configure -bash: ./configure: No such file or directory

adwaraki@supermicro:~/Documents/BGPStream/bgpstream$

I am able to do ./configure when I download the tar using curl. I am not sure if that is pulling it from some other location.

Regards, Abhishek.

On April 2, 2018 at 4:42:57 PM, Alistair King (notifications@github.com) wrote:

I'm a little confused how you are getting into this situation. It seems that when the Python extension is built, it is including an old bgpstream.h header that does not have those filter macros (which have been added in a recent commit to the master branch of the bgpstream repo).

Are you following exactly the commands that I listed earlier?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CAIDA/bgpstream/issues/61#issuecomment-378038069, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWcWluQHzAqHn_zCazktxZ6Q_1tr5Qgks5tko1RgaJpZM4S5nJK .

alistairking commented 6 years ago

Yes, the tarball is the released version, and is not compatible with the GitHub master version of pybgpstream.

In order to build BGPStream from GitHub, you first need to run the autogen.sh script:

./autogen.sh
./configure
...
adwaraki commented 6 years ago

My apologies. I had assumed that compiling and using make install on the tarball would allow pybgpstream to find the libraries. Stupid of me. It works now. Sorry about the mix-up.

I did run autogen, configure and then make install. It works now. Thanks Alistair. I feel silly. :)

Regards, Abhishek.

On April 2, 2018 at 6:09:59 PM, Alistair King (notifications@github.com) wrote:

Yes, the tarball is the released version, and is not compatible with the GitHub master version of pybgpstream.

In order to build BGPStream from GitHub, you first need to run the autogen.sh script:

./autogen.sh ./configure ... — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

alistairking commented 6 years ago

Great! I'm glad we figured it out!