Bitshares-core: build error Can't locate doxygen/perlmod/DoxyDocs

Created on 28 Sep 2017  路  7Comments  路  Source: bitshares/bitshares-core

[ 80%] Generating api_documentation.cpp
Can't locate doxygen/perlmod/DoxyDocs.pm in @INC

build

Most helpful comment

The following line in libraries/wallet/CMakeLists.txt
PERLLIB=${CMAKE_CURRENT_SOURCE_DIR}
should be
PERLLIB=${CMAKE_CURRENT_BINARY_DIR}

otherwise the doxygen build will complain " Can't locate doxygen/perlmod/DoxyDocs.pm" in Ubuntu 18.04 TLS.

because the actual full path of DoxyDocs.pm is "BitShares/build/libraries/wallet/doxygen/perlmod/DoxyDocs.pm" if the cmake build dir is "BitShares/build".

All 7 comments

you may need to install doxygen

sudo apt-get install doxygen

please let us know you distribution and version, we nay need to update the install docs.

doxygen is already the newest version (1.8.13-9).

ubuntu 17.10

we didn't tried it in 17.10 , it will be great if you can help us so i don't have to install a virtual machine to test. here are some things i will like you to try if you can:

  • https://github.com/bitshares/bitshares-core/pull/401
    @abitmore added to the docs g++ for ubuntu 16.04, in one of his comments he had to install also libreadline-dev. try that.

  • doxygen is used only in the cli_wallet part of the project. if you are after a node you can try make witness_node instead of just make after your cmake

  • make sure you did git submodule update --init --recursive

  • error seems to be perl cant locate the doxygen module, make sure you have perl installed.

libreadline-dev is already the newest version (7.0-0ubuntu2).
perl is already the newest version (5.26.0-8ubuntu1).
libperl-dev is already the newest version (5.26.0-8ubuntu1).

git submodule update --init --recursive
done

need cli_wallet

ok, it is definitively some problem with the perl not being able to see the doxygen module. it is hard to tell where perl is looking and where are module files in your system without installing a 17.02 here.

but here is something faster you may try:

https://github.com/bitshares/bitshares-core/blob/master/libraries/wallet/CMakeLists.txt

the above file is in charge of generating the cli_wallet and its where the doxygen is used. if you see line 19: https://github.com/bitshares/bitshares-core/blob/master/libraries/wallet/CMakeLists.txt#L19

cli_wallet should compile without perl or doxygen, problem in your case is that cmake finds perl, find doxygen but not working.

i will comment/delete lines : https://github.com/bitshares/bitshares-core/blob/master/libraries/wallet/CMakeLists.txt#L3-L18
and line: https://github.com/bitshares/bitshares-core/blob/master/libraries/wallet/CMakeLists.txt#L23

this should compile the cli wallet as a system with no doxygen and perl and may work.

thanks @piem for fixing the issue.

The following line in libraries/wallet/CMakeLists.txt
PERLLIB=${CMAKE_CURRENT_SOURCE_DIR}
should be
PERLLIB=${CMAKE_CURRENT_BINARY_DIR}

otherwise the doxygen build will complain " Can't locate doxygen/perlmod/DoxyDocs.pm" in Ubuntu 18.04 TLS.

because the actual full path of DoxyDocs.pm is "BitShares/build/libraries/wallet/doxygen/perlmod/DoxyDocs.pm" if the cmake build dir is "BitShares/build".

Was this page helpful?
0 / 5 - 0 ratings