You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So I did manage to solve this myself, but just wanted to post in case anyone runs into the same problem.
I was trying to pip install keyvi but kept getting
In file included from /tmp/pip-build-tzs1qyas/keyvi/src/cpp/keyvi/include/keyvi/dictionary/dictionary_types.h:28:0,
from _core_p.cpp:652:
/tmp/pip-build-tzs1qyas/keyvi/src/cpp/keyvi/include/keyvi/dictionary/dictionary_compiler.h: In member function ‘void keyvi::dictionary::DictionaryCompiler<ValueStoreType>::Sort()’:
/tmp/pip-build-tzs1qyas/keyvi/src/cpp/keyvi/include/keyvi/dictionary/dictionary_compiler.h:184:20: error: ‘block_indirect_sort’ is not a member of ‘boost::sort’
boost::sort::block_indirect_sort(key_values_.begin(), key_values_.end());
^~~~~~~~~~~~~~~~~~~
In file included from /tmp/pip-build-tzs1qyas/keyvi/src/cpp/keyvi/include/keyvi/dictionary/dictionary_types.h:29:0,
from _core_p.cpp:652:
/tmp/pip-build-tzs1qyas/keyvi/src/cpp/keyvi/include/keyvi/dictionary/dictionary_index_compiler.h: In member function ‘void keyvi::dictionary::DictionaryIndexCompiler<ValueStoreType>::Sort()’:
/tmp/pip-build-tzs1qyas/keyvi/src/cpp/keyvi/include/keyvi/dictionary/dictionary_index_compiler.h:215:20: error: ‘spinsort’ is not a member of ‘boost::sort’
boost::sort::spinsort(key_values_.begin(), key_values_.end());
I had just apt installed libboost-all-dev (1.65.1.0ubuntu1), so that wasn't the problem.
I gave up and downloaded the git repo, and ran pip3 install -r requirements.txt, only to run into a problem with the cryptography lib.
=============================DEBUG ASSISTANCE==========================
If you are seeing an error here please try the following to
successfully install cryptography:
Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
=============================DEBUG ASSISTANCE==========================
So I did pip3 install pip, then reran pip3 install -r requirements.txt, and then found that pip install keyvi worked just fine afterwards!
I'm can't be 100% positive whether it was upgrading pip or installing the requirements manually that did it (and I can't easily go back and check), but I assume the former.
You might consider putting such a DEBUG ASSISTANCE message into the keyvi library if you believe that's the ultimate cause.
The text was updated successfully, but these errors were encountered:
I am surprised about the install from source, we provide pre-compiled packages on pip.
libboost-all-dev (1.65.1.0ubuntu1),
That version of boost is too old, it lacks the sort implementation that we use. The compiler errors you pasted are about missing classes. If I remember correctly at least boost 1.68 is required.
I think that by upgrading pip you basically made your pip aware of the pre-compiled packages. When you called pip install keyvi again, it downloaded and installed the precompiled packages instead of trying to install from source again.
So I did manage to solve this myself, but just wanted to post in case anyone runs into the same problem.
I was trying to
pip install keyvi
but kept gettingI had just apt installed libboost-all-dev (1.65.1.0ubuntu1), so that wasn't the problem.
I gave up and downloaded the git repo, and ran
pip3 install -r requirements.txt
, only to run into a problem with the cryptography lib.So I did
pip3 install pip
, then reranpip3 install -r requirements.txt
, and then found thatpip install keyvi
worked just fine afterwards!I'm can't be 100% positive whether it was upgrading pip or installing the requirements manually that did it (and I can't easily go back and check), but I assume the former.
You might consider putting such a DEBUG ASSISTANCE message into the keyvi library if you believe that's the ultimate cause.
The text was updated successfully, but these errors were encountered: