trouble building the xml docs

I want to build the docs in a machine readable format for programmatically adding them to a julia wrapper library around igraph.

I tried both the release tarball and the git repo (both master and the 0.10.15 tag).

In all cases I get the same error:

❯ cd doc
❯ cmake CMakeLists.txt
...
❯ cmake --build . --target docxml
[  2%] Parsing documentation chunks from source code
[  4%] Generating visitors.xml from visitors.xxml
Chunk not found: igraph_bfs
make[3]: *** [CMakeFiles/docxml.dir/build.make:327: visitors.xml] Error 4
make[2]: *** [CMakeFiles/Makefile2:89: CMakeFiles/docxml.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:96: CMakeFiles/docxml.dir/rule] Error 2
make: *** [Makefile:124: docxml] Error 2

Any suggestions on what I might be doing wrong? Any suggestions on altogether different approach to take for machine readable docs?

Honestly, I’m not really sure … what platform are you on? Do you have all the necessary tools installed? It seems to work for me. Perhaps you can cross-reference the CMake output to see if something looks different on your side.

~/R/i/igraph (master|✔) $ mkdir build && cd build
~/R/i/i/build (master|✔) $ cmake ..
-- Setting build type to 'Release' as none was specified.
-- Version number from Git: 0.10.15-110-g8a875cae2
-- The C compiler identification is AppleClang 17.0.0.17000013
-- The CXX compiler identification is AppleClang 17.0.0.17000013
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_UNKNOWN_WARNING_OPTION_FLAG
-- Performing Test COMPILER_SUPPORTS_UNKNOWN_WARNING_OPTION_FLAG - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ENUMVAL_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ENUMVAL_ATTR - Success
-- Thread-local storage: supported (__thread)
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found FLEX: /opt/local/bin/flex (found version "2.6.4")
-- Found BISON: /opt/local/bin/bison (found version "3.8.2")
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for _stricmp
-- Looking for _stricmp - not found
-- Looking for _strnicmp
-- Looking for _strnicmp - not found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for strndup
-- Looking for strndup - found
-- Looking for include file xlocale.h
-- Looking for include file xlocale.h - found
-- Looking for uselocale
-- Looking for uselocale - found
-- Looking for _configthreadlocale
-- Looking for _configthreadlocale - not found
-- Performing Test HAVE__UMUL128
-- Performing Test HAVE__UMUL128 - Failed
-- Performing Test HAVE___UMULH
-- Performing Test HAVE___UMULH - Failed
-- Looking for C++ include sys/types.h
-- Looking for C++ include sys/types.h - found
-- Looking for C++ include stdint.h
-- Looking for C++ include stdint.h - found
-- Looking for C++ include stddef.h
-- Looking for C++ include stddef.h - found
-- Check size of __uint128_t
-- Check size of __uint128_t - done
-- Performing Test HAVE__POPCNT64
-- Performing Test HAVE__POPCNT64 - Failed
-- Performing Test HAVE__POPCNT
-- Performing Test HAVE__POPCNT - Failed
-- Performing Test HAVE__BITSCANFORWARD64
-- Performing Test HAVE__BITSCANFORWARD64 - Failed
-- Performing Test HAVE__BITSCANFORWARD
-- Performing Test HAVE__BITSCANFORWARD - Failed
-- Performing Test HAVE__BITSCANREVERSE64
-- Performing Test HAVE__BITSCANREVERSE64 - Failed
-- Performing Test HAVE__BITSCANREVERSE
-- Performing Test HAVE__BITSCANREVERSE - Failed
-- Performing Test HAVE_BUILTIN_OVERFLOW
-- Performing Test HAVE_BUILTIN_OVERFLOW - Success
-- Looking for _LIBCPP_VERSION
-- Looking for _LIBCPP_VERSION - found
-- Looking for __GLIBCXX__
-- Looking for __GLIBCXX__ - not found
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Performing Test HAVE_ENABLE_NEW_DTAGS
-- Performing Test HAVE_ENABLE_NEW_DTAGS - Failed
-- Found Python3: /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3.9 (found version "3.9.6") found components: Interpreter
--  
-- -----[ Build configuration ]----
-- Version:  0.10.15-110-g8a875cae2
-- CMake build type:        Release
-- Library type:             static
-- igraph_integer_t size:   64 bits
-- Compiler cache:           ccache
--  
-- ----------[ Features ]----------
-- GLPK for optimization:       yes
-- Reading GraphML files:       yes
-- Thread-local storage:        yes
-- Link-time optimization:       no
--  
-- --------[ Dependencies ]--------
-- ARPACK:                      yes
-- BISON:                       yes
-- BLAS:                        yes
-- FLEX:                        yes
-- GLPK:                        yes
-- GMP:                         yes
-- LAPACK:                      yes
-- LibXml2:                     yes
-- OpenMP:                       no
-- PLFIT:                       yes
--  
-- -----------[ Testing ]----------
-- Diff tool:                  diff
-- Sanitizers:                 none
-- Code coverage:                no
-- Verify 'finally' stack:       no
--  
-- --------[ Documentation ]-------
-- HTML:                        yes
-- PDF:                         yes
-- INFO:                         no
--  
-- igraph configured successfully.
--  
-- Configuring done (5.6s)
-- Generating done (0.9s)
-- Build files have been written to: /Users/szhorvat/Repos/igraph-main/igraph/build
~/R/i/i/build (master|✔) $ ninja docxml
[194/194] Generating xmlstamp
~/R/i/i/build (master|✔) $ ls doc/*.xml
doc/adjlist.xml       doc/fdl.xml           doc/layout.xml        doc/spatialgames.xml
doc/arpack.xml        doc/flows.xml         doc/licenses.xml      doc/stack.xml
doc/attributes.xml    doc/foreign.xml       doc/matrix.xml        doc/status.xml
doc/basicigraph.xml   doc/generators.xml    doc/memory.xml        doc/structural.xml
doc/bipartite.xml     doc/gpl.xml           doc/motifs.xml        doc/strvector.xml
doc/bitset.xml        doc/graphlets.xml     doc/nongraph.xml      doc/threading.xml
doc/cliques.xml       doc/heap.xml          doc/operators.xml     doc/tutorial.xml
doc/coloring.xml      doc/hrg.xml           doc/pmt.xml           doc/vector.xml
doc/community.xml     doc/igraph-docs.xml   doc/progress.xml      doc/vectorlist.xml
doc/cycles.xml        doc/installation.xml  doc/psumtree.xml      doc/visitors.xml
doc/dqueue.xml        doc/introduction.xml  doc/random.xml
doc/embedding.xml     doc/isomorphism.xml   doc/separators.xml
doc/error.xml         doc/iterators.xml     doc/sparsemat.xml
~/R/i/i/build (master|✔) $ 
1 Like

I had misunderstood how to use cmake. Everything works now, thanks!

1 Like