Building wpilib, gradle / doxygen error

I have a fresh clone of https://github.com/wpilibsuite/allwpilib.git and run

./gradlew publish

It eventually fails on the doxygen step. Running a second time, with -debug and -stacktrace is in this gist.

Also not sure if there is a better forum for this problem, if there is please just point me in that direction (would a github issue be a better place?).

I think the important failure is here (but I could be wrong):

allwpilib> ./gradlew :wpilibc:doxygen -info
Initialized native services in: /Users/phurley/.gradle/native
Connected to daemon DaemonInfo{pid=49636, address=[ea65a457-f8ae-4e07-9e75-33ec6267762b port:59918, addresses:[/0:0:0:0:0:0:0:1, /127.51.68.120, /127.0.0.1]], state=Idle, lastBusy=1481718834482, context=DefaultDaemonContext[uid=a4c1edc0-8af0-41ae-afdf-bdb27d3bb113,javaHome=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home,daemonRegistryDir=/Users/phurley/.gradle/daemon,pid=49636,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]}. Dispatching request Build{id=98b1d5c8-ac3f-4416-b11a-81a8ec04894a.1, currentDir=/Users/phurley/code/projects/allwpilib}.
Received result org.gradle.launcher.daemon.protocol.BuildStarted@5cdec700 from daemon DaemonInfo{pid=49636, address=[ea65a457-f8ae-4e07-9e75-33ec6267762b port:59918, addresses:[/0:0:0:0:0:0:0:1, /127.51.68.120, /127.0.0.1]], state=Idle, lastBusy=1481718834482, context=DefaultDaemonContext[uid=a4c1edc0-8af0-41ae-afdf-bdb27d3bb113,javaHome=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home,daemonRegistryDir=/Users/phurley/.gradle/daemon,pid=49636,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]} (build should be starting).
The client will now receive all logging from the daemon (pid: 49636). The daemon log file: /Users/phurley/.gradle/daemon/3.2.1/daemon-49636.out.log
Starting 31st build in daemon [uptime: 49 mins 47.641 secs, performance: 99%, no major garbage collections]
Executing build with daemon context: DefaultDaemonContext[uid=a4c1edc0-8af0-41ae-afdf-bdb27d3bb113,javaHome=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home,daemonRegistryDir=/Users/phurley/.gradle/daemon,pid=49636,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
Starting Build
Settings evaluated using settings file '/Users/phurley/code/projects/allwpilib/settings.gradle'.
Projects loaded. Root project using build file '/Users/phurley/code/projects/allwpilib/build.gradle'.
Included projects: [root project 'allwpilib', project ':hal', project ':myRobot', project ':myRobotCpp', project ':wpilibc', project ':wpilibcIntegrationTests', project ':wpilibj', project ':wpilibjIntegrationTests']
Evaluating root project 'allwpilib' using build file '/Users/phurley/code/projects/allwpilib/build.gradle'.
Evaluating project ':hal' using build file '/Users/phurley/code/projects/allwpilib/hal/build.gradle'.
Evaluating project ':myRobot' using build file '/Users/phurley/code/projects/allwpilib/myRobot/build.gradle'.
Evaluating project ':wpilibj' using build file '/Users/phurley/code/projects/allwpilib/wpilibj/build.gradle'.
Evaluating project ':myRobotCpp' using build file '/Users/phurley/code/projects/allwpilib/myRobotCpp/build.gradle'.
Evaluating project ':wpilibc' using build file '/Users/phurley/code/projects/allwpilib/wpilibc/build.gradle'.
Evaluating project ':wpilibcIntegrationTests' using build file '/Users/phurley/code/projects/allwpilib/wpilibcIntegrationTests/build.gradle'.
Evaluating project ':wpilibjIntegrationTests' using build file '/Users/phurley/code/projects/allwpilib/wpilibjIntegrationTests/build.gradle'.
Starting process 'command '/usr/bin/gcc''. Working directory: /usr/bin Command: /usr/bin/gcc -dM -E -
Successfully started process 'command '/usr/bin/gcc''
Starting process 'command '/usr/bin/clang''. Working directory: /usr/bin Command: /usr/bin/clang -dM -E -
Successfully started process 'command '/usr/bin/clang''
All projects evaluated.
Selected primary task ':wpilibc:doxygen' from project :wpilibc
Tasks to be executed: [task ':wpilibc:unzipCppNtSources', task ':wpilibc:doxygen']
In-memory cache of /Users/phurley/code/projects/allwpilib/.gradle/3.2.1/taskArtifacts/fileHashes.bin: Size{599}, CacheStats{hitCount=19888, missCount=599, loadSuccessCount=599, loadExceptionCount=0, totalLoadTime=51041794, evictionCount=0}
In-memory cache of /Users/phurley/code/projects/allwpilib/.gradle/3.2.1/taskArtifacts/fileSnapshots.bin: Size{154}, CacheStats{hitCount=705, missCount=39, loadSuccessCount=39, loadExceptionCount=0, totalLoadTime=10220081, evictionCount=0}
In-memory cache of /Users/phurley/code/projects/allwpilib/.gradle/3.2.1/taskArtifacts/taskArtifacts.bin: Size{12}, CacheStats{hitCount=182, missCount=12, loadSuccessCount=12, loadExceptionCount=0, totalLoadTime=36487407, evictionCount=0}
:wpilibc:unzipCppNtSources (Thread[Daemon worker Thread 16,5,main]) started.
:wpilibc:unzipCppNtSources
Putting task artifact state for task ':wpilibc:unzipCppNtSources' into context took 0.0 secs.
Task :wpilibc:unzipCppNtSources class loader hash: 7746e3800a8f1bea614c0a3db1ea9efc
Task :wpilibc:unzipCppNtSources actions class loader hash: fde60ab3b9776111ebd9bf87f24df716
Skipping task ':wpilibc:unzipCppNtSources' as it is up-to-date (took 0.003 secs).
:wpilibc:unzipCppNtSources UP-TO-DATE
:wpilibc:unzipCppNtSources (Thread[Daemon worker Thread 16,5,main]) completed. Took 0.007 secs.
:wpilibc:doxygen (Thread[Daemon worker Thread 16,5,main]) started.
:wpilibc:doxygen
Putting task artifact state for task ':wpilibc:doxygen' into context took 0.0 secs.
Task :wpilibc:doxygen class loader hash: a233ae1bc7896c815bafb735ed549d02
Task :wpilibc:doxygen actions class loader hash: bde355cc2e1ad1be6496fa001e296c44
Executing task ':wpilibc:doxygen' (up-to-date check took 0.004 secs) due to:
  No history is available.
Starting process 'command 'doxygen''. Working directory: /Users/phurley/code/projects/allwpilib/wpilibc Command: doxygen -g /Users/phurley/code/projects/allwpilib/wpilibc/build/tmp/wpilibc.doxyfile
Successfully started process 'command 'doxygen''


Configuration file `/Users/phurley/code/projects/allwpilib/wpilibc/build/tmp/wpilibc.doxyfile' created.

Now edit the configuration file and enter

  doxygen /Users/phurley/code/projects/allwpilib/wpilibc/build/tmp/wpilibc.doxyfile

to generate the documentation for your project

:wpilibc:doxygen FAILED
:wpilibc:doxygen (Thread[Daemon worker Thread 16,5,main]) completed. Took 0.031 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':wpilibc:doxygen'.
> org.ysb33r.gradle.doxygen.DoxygenException: Doxyfile parsing error /Users/phurley/code/projects/allwpilib/wpilibc/build/tmp/wpilibc.doxyfile:122

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

BUILD FAILED

Total time: 1.051 secs
Stopped 0 compiler daemon(s).
Received result Failure[value=org.gradle.initialization.ReportedException: org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ':wpilibc:doxygen'.] from daemon DaemonInfo{pid=49636, address=[ea65a457-f8ae-4e07-9e75-33ec6267762b port:59918, addresses:[/0:0:0:0:0:0:0:1, /127.51.68.120, /127.0.0.1]], state=Idle, lastBusy=1481718834482, context=DefaultDaemonContext[uid=a4c1edc0-8af0-41ae-afdf-bdb27d3bb113,javaHome=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home,daemonRegistryDir=/Users/phurley/.gradle/daemon,pid=49636,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]} (build should be done).
allwpilib>

Note

allwpilib> doxygen -v
1.8.12
allwpilib> doxygen /Users/phurley/code/projects/allwpilib/wpilibc/build/tmp/wpilibc.doxyfile
Searching for include files...
Searching for example files...
Searching for images...
Searching for dot files...
Searching for msc files...
Searching for dia files...
Searching for files to exclude
Searching INPUT for files to process...
Searching for files in directory /Users/phurley/code/projects/allwpilib
Reading and parsing tag files
Parsing files
Reading /Users/phurley/code/projects/allwpilib/CONTRIBUTING.md...
Reading /Users/phurley/code/projects/allwpilib/README.md...
Building group list...
Building directory list...
Building namespace list...
Building file list...
Building class list...
Associating documentation with classes...
Computing nesting relations for classes...
Building example list...
Searching for enumerations...
Searching for documented typedefs...
Searching for members imported via using declarations...
Searching for included using directives...
Searching for documented variables...
Building interface member list...
Building member list...
Searching for friends...
Searching for documented defines...
Computing class inheritance relations...
Computing class usage relations...
Flushing cached template relations that have become invalid...
Computing class relations...
Add enum values to enums...
Searching for member function documentation...
Creating members for template instances...
Building page list...
Search for main page...
Computing page relations...
Determining the scope of groups...
Sorting lists...
Freeing entry tree
Determining which enums are documented
Computing member relations...
Building full member lists recursively...
Adding members to member groups.
Computing member references...
Inheriting documentation...
Generating disk names...
Adding source references...
Adding xrefitems...
Sorting member lists...
Computing dependencies between directories...
Generating citations page...
Counting data structures...
Resolving user defined references...
Finding anchors and sections in the documentation...
Transferring function references...
Combining using relations...
Adding members to index pages...
Generating style sheet...
Generating search indices...
Generating example documentation...
Generating file sources...
Generating file documentation...
Generating page documentation...
Generating docs for page md_CONTRIBUTING...
Generating docs for page md_README...
/Users/phurley/code/projects/allwpilib/README.md:3: warning: Unexpected html tag <img> found within <a href=...> context
/Users/phurley/code/projects/allwpilib/README.md:38: warning: unable to resolve reference to `https:' for \ref command
Generating group documentation...
Generating class documentation...
Generating namespace index...
Generating graph info page...
Generating directory documentation...
Generating index page...
Generating page index...
Generating module index...
Generating namespace index...
Generating namespace member index...
Generating annotated compound index...
Generating alphabetical compound index...
Generating hierarchical class index...
Generating member index...
Generating file index...
Generating file member index...
Generating example index...
finalizing index lists...
writing tag file...
lookup cache used 0/65536 hits=0 misses=0
finished...
allwpilib&gt; 

Thanks in advance for any pointers. I am guessing there is an 80% chance I am doing something stupid :slight_smile:

What version of doxygen are you running? I recall experiencing something like that with more recent versions. For reference, on our system we’re currently running 1.8.6.

Oh, totally missed the version in your output. Any chance you would be able to test it with a lower version? I’m pretty sure I’ve used 1.8.11 successfully before.

Yeah, GitHub is a better place for this, as we get notifications for those.

It was the version of doxygen. I will post as an issue on github. Thanks for taking a look.