Closed vnikoofard closed 5 years ago
On which platform/distro?
Sorry for incomplete information. I'm using Ubuntu 18.10
You can try linking to the uuid
library, although that should really have worked by itself. In frontend/gtkmm/CMakeLists.txt
find the bit that says
target_link_libraries(cadabra2-gtk
cadabra_client
${Boost_LIBRARIES}
${GLIBMM_LIBRARIES}
${GTKMM3_LIBRARIES}
${SQLITE3_LIBRARIES}
Threads::Threads
)
and change that last line to read
Threads::Threads uuid
No guaruantee, I'm just guessing.
And then make
again from the build directory, of course.
Sorry for late reply In fact, I updated my UBUNTU to version 19.04 before applying your solution. This time after execution of MAKE I received a similar error as above:
[ 96%] Linking CXX executable cadabra2-gtk
/usr/bin/ld: CMakeFiles/cadabra2-gtk.dir/__/common/TeXEngine.cc.o: in function `cadabra::TeXEngine::convert_set(std::set<std::shared_ptr<cadabra::TeXEngine::TeXRequest>, std::less<std::shared_ptr<cadabra::TeXEngine::TeXRequest> >, std::allocator<std::shared_ptr<cadabra::TeXEngine::TeXRequest> > >&)':
/home/vahid/cadabra2/frontend/common/TeXEngine.cc:324: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
/usr/bin/ld: /lib/x86_64-linux-gnu/libblkid.so.1: undefined reference to `uuid_unparse@UUID_1.0'
collect2: error: ld returned 1 exit status
make[2]: *** [frontend/gtkmm/CMakeFiles/cadabra2-gtk.dir/build.make:315: frontend/gtkmm/cadabra2-gtk] Error 1
make[1]: *** [CMakeFiles/Makefile2:675: frontend/gtkmm/CMakeFiles/cadabra2-gtk.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
Then, I applied your suggestion and this time I could finish the installation process. But the problem is that after executing cadabra2-gtk I get the following error
(base) vahid@Spinor:~/cadabra2/build$ cadabra2-gtk cadabra2-gtk: /home/vahid/anaconda3/lib/././libuuid.so.1: no version information available (required by /lib/x86_64-linux-gnu/libblkid.so.1) cadabra2-gtk: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined symbol: g_ref_count_inc
Do you have any idea about this issue?
I have just tried building on a clean install of 19.04, and this worked fine.
However, I do notice that your error message refers to anaconda3. If you have anaconda3 in your path all sorts of things may happen when the compiler finds some prerequisites in the normal system installation and some in the anaconda3 installation. Best to deactivate anaconda3 before you build (anaconda3 is too much of a mess for me to spend time on sorting out their problems, sorry).
Thanks for your reply. I deactivated the Conda environment, then I deleted the existed Cadabra2 folder and started the procedure again following the instruction, this time I received the below error:
[ 3%] Building CXX object client_server/CMakeFiles/cadabra-server.dir/Server.cc.o
/home/vahid/cadabra2/client_server/Server.cc: In constructor ‘Server::Server()’:
/home/vahid/cadabra2/client_server/Server.cc:34:44: error: use of deleted function ‘boost::uuids::random_generator_pure::random_generator_pure(boost::uuids::random_generator_pure&&)’
auto gen = boost::uuids::random_generator();
^
In file included from /usr/include/boost/uuid/uuid_generators.hpp:17,
from /home/vahid/cadabra2/client_server/Server.cc:12:
/usr/include/boost/uuid/random_generator.hpp:149:7: note: ‘boost::uuids::random_generator_pure::random_generator_pure(boost::uuids::random_generator_pure&&)’ is implicitly deleted because the default definition would be ill-formed:
class random_generator_pure
^~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/uuid/random_generator.hpp:149:7: error: use of deleted function ‘boost::uuids::detail::random_provider::random_provider(boost::uuids::detail::random_provider&&)’
In file included from /usr/include/boost/uuid/random_generator.hpp:20,
from /usr/include/boost/uuid/uuid_generators.hpp:17,
from /home/vahid/cadabra2/client_server/Server.cc:12:
/usr/include/boost/uuid/detail/random_provider.hpp:41:7: note: ‘boost::uuids::detail::random_provider::random_provider(boost::uuids::detail::random_provider&&)’ is implicitly deleted because the default definition would be ill-formed:
class random_provider
^~~~~~~~~~~~~~~
/usr/include/boost/uuid/detail/random_provider.hpp:41:7: error: use of deleted function ‘boost::noncopyable_::noncopyable::noncopyable(const boost::noncopyable_::noncopyable&)’
In file included from /usr/include/boost/noncopyable.hpp:15,
from /usr/include/boost/system/error_code.hpp:18,
from /usr/include/boost/asio/detail/scheduler_operation.hpp:18,
from /usr/include/boost/asio/detail/executor_op.hpp:22,
from /usr/include/boost/asio/impl/system_executor.hpp:18,
from /usr/include/boost/asio/system_executor.hpp:129,
from /usr/include/boost/asio/associated_executor.hpp:21,
from /usr/include/boost/asio/detail/bind_handler.hpp:20,
from /usr/include/boost/asio/detail/wrapped_handler.hpp:18,
from /usr/include/boost/asio/io_context.hpp:24,
from /usr/include/boost/asio/basic_io_object.hpp:19,
from /usr/include/boost/asio/basic_waitable_timer.hpp:20,
from /usr/include/boost/asio/steady_timer.hpp:22,
from /home/vahid/cadabra2/libs/websocketpp/websocketpp/common/asio.hpp:61,
from /home/vahid/cadabra2/libs/websocketpp/websocketpp/transport/asio/base.hpp:31,
from /home/vahid/cadabra2/libs/websocketpp/websocketpp/transport/asio/connection.hpp:31,
from /home/vahid/cadabra2/libs/websocketpp/websocketpp/transport/asio/endpoint.hpp:32,
from /home/vahid/cadabra2/libs/websocketpp/websocketpp/config/asio_no_tls.hpp:32,
from /home/vahid/cadabra2/client_server/Server.hh:5,
from /home/vahid/cadabra2/client_server/Server.cc:3:
/usr/include/boost/core/noncopyable.hpp:34:7: note: declared here
noncopyable( const noncopyable& ) = delete;
^~~~~~~~~~~
make[2]: *** [client_server/CMakeFiles/cadabra-server.dir/build.make:76: client_server/CMakeFiles/cadabra-server.dir/Server.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:182: client_server/CMakeFiles/cadabra-server.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
Damn, I just committed that, apparently it's not compatible with the latest boost. Try going back one or two commits, or wait an hour for me to fix it.
This is now fixed on github (and tested on Ubuntu 19.04). Please try once more.
Thank you. I could build and install without any problem.
Just another question. Do you think that I can build the jupyter notebook for Cadabra with Anaconda or I have to install miniconda.
Either one should be fine. I can also give you access to the Jupyter version in the cloud if you want to play with it there (saving you the building hassle).
Before the last step of the installation the version 2.2.7, after "make" command I got the following error
[ 92%] Linking CXX executable cadabra2-gtk /usr/bin/ld: CMakeFiles/cadabra2-gtk.dir/__/common/TeXEngine.cc.o: in function
cadabra::TeXEngine::convert_set(std::set<std::shared_ptr<cadabra::TeXEngine::TeXRequest>, std::less<std::shared_ptr<cadabra::TeXEngine::TeXRequest> >, std::allocator<std::shared_ptr<cadabra::TeXEngine::TeXRequest> > >&)': /home/vahid/cadabra2/frontend/common/TeXEngine.cc:324: warning: the use of
tmpnam' is dangerous, better usemkstemp' /usr/bin/ld: //lib/x86_64-linux-gnu/libblkid.so.1: undefined reference to
uuid_unparse@UUID_1.0' collect2: error: ld returned 1 exit status make[2]: [frontend/gtkmm/CMakeFiles/cadabra2-gtk.dir/build.make:315: frontend/gtkmm/cadabra2-gtk] Error 1 make[1]: [CMakeFiles/Makefile2:753: frontend/gtkmm/CMakeFiles/cadabra2-gtk.dir/all] Error 2 make: *** [Makefile:163: all] Error 2I would really appreciate any help