We created an extension called "json-stream-encode" which doesn't encode JSON in a single large block, as the standard PHP code. For large JSONs this is a large memory improvement.
So, after building vim from source, python from source, and cmake from source (damn old repos...), I'm finally getting stuff to build. and I hit this:
Linking CXX static library libBoostParts.a
[ 89%] Built target BoostParts
Scanning dependencies of target ycm_core
[ 90%] [ 92%] Building CXX object ycm/CMakeFiles/ycm_core.dir/LetterNode.cpp.o
Building CXX object ycm/CMakeFiles/ycm_core.dir/Utils.cpp.o
[ 93%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o
[ 93%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Candidate.cpp.o
[ 94%] Building CXX object ycm/CMakeFiles/ycm_core.dir/PythonSupport.cpp.o
cc1plus: warnings being treated as errors
/home/zdrillings/.vim/bundle/YouCompleteMe/cpp/BoostParts/boost/python/converter/pyobject_type.hpp: In static member function ‘static bool boost::python::converter::pyobject_type<Object, pytype>::check(PyObject) [with Object = boost::python::list, PyTypeObject pytype = (& PyList_Type)]’:
/home/zdrillings/.vim/bundle/YouCompleteMe/cpp/BoostParts/boost/python/converter/obj_mgr_arg_from_python.hpp:101: instantiated from ‘bool boost::python::converter::detail::object_manager_ref_check(const T&) [with T = boost::python::list]’
/home/zdrillings/.vim/bundle/YouCompleteMe/cpp/BoostParts/boost/python/converter/obj_mgr_arg_from_python.hpp:109: instantiated from ‘bool boost::python::converter::object_manager_ref_arg_from_python<Ref>::convertible() const [with Ref = const boost::python::list&]’
/home/zdrillings/.vim/bundle/YouCompleteMe/cpp/BoostParts/boost/preprocessor/iteration/detail/local.hpp:34: instantiated from ‘PyObject* boost::python::detail::caller_arity<3u>::impl<F, Policies, Sig>::operator()(PyObject, PyObject) [with F = boost::python::list ()(const boost::python::list&, const std::string&, const std::string&), Policies = boost::python::default_call_policies, Sig = boost::mpl::vector4<boost::python::list, const boost::python::list&, const std::string&, const std::string&>]’
/home/zdrillings/.vim/bundle/YouCompleteMe/cpp/BoostParts/boost/python/object/py_function.hpp:38: instantiated from ‘PyObject boost::python::objects::caller_py_function_impl<Caller>::operator()(PyObject, PyObject) [with Caller = boost::python::detail::caller<boost::python::list ()(const boost::python::list&, const std::string&, const std::string&), boost::python::default_call_policies, boost::mpl::vector4<boost::python::list, const boost::python::list&, const std::string&, const std::string&> >]’
/home/zdrillings/.vim/bundle/YouCompleteMe/cpp/ycm/ycm_core.cpp:186: instantiated from here
/home/zdrillings/.vim/bundle/YouCompleteMe/cpp/BoostParts/boost/python/converter/pyobject_type.hpp:21: warning: dereferencing type-punned pointer will break strict-aliasing rules
make[3]: [ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o] Error 1
make[3]: * Waiting for unfinished jobs....
make[2]: * [ycm/CMakeFiles/ycm_core.dir/all] Error 2
make[1]: * [ycm/CMakeFiles/ycm_core.dir/rule] Error 2
make: * [ycm_core] Error 2
Now, I went in and removed the -Werror flag from the makefiles and that got around it, but I get a ton of errors when i start vim, doing that:
Error detected while processing function youcompleteme#Enable:
line 11:
Traceback (most recent call last):
Press ENTER or type command to continue
Error detected while processing function youcompleteme#Enable:
line 11:
File "<string>", line 1, in ?
Press ENTER or type command to continue
Error detected while processing function youcompleteme#Enable:
line 11:
File "/home/zdrillings/.vim/bundle/YouCompleteMe/autoload/../python/ycm/base.py", line 28
Press ENTER or type command to continue
Error detected while processing function youcompleteme#Enable:
line 11:
except ImportError as e:
Press ENTER or type command to continue
Error detected while processing function youcompleteme#Enable:
line 11:
^
Press ENTER or type command to continue
Error detected while processing function youcompleteme#Enable:
line 11:
SyntaxError: invalid syntax
Press ENTER or type command to continue
Error detected while processing function youcompleteme#Enable:
line 13:
Traceback (most recent call last):
Press ENTER or type command to continue
Error detected while processing function youcompleteme#Enable:
line 13:
File "<string>", line 0, in ?
Press ENTER or type command to continue
Error detected while processing function youcompleteme#Enable:
line 13:
NameError: name 'base' is not defined
Press ENTER or type command to continue
Error detected while processing function youcompleteme#Enable:
line 13:
E858: Eval did not return a valid python object
Press ENTER or type command to continue
YouCompleteMe unavailable: ycm_core too old, PLEASE RECOMPILE ycm_core
I'm guessing it's related. Does anyone have any advice on fixing some of this, so I can try this plugin? it sounds fantastic.