svenevs / exhale

Automatic C++ library api documentation generation: breathe doxygen in and exhale it out.
BSD 3-Clause "New" or "Revised" License
219 stars 51 forks source link

after the xml build an extension error [WinError 32] occurs on Windows #41

Closed albflo closed 6 years ago

albflo commented 6 years ago

I try to use exhale for a project, but the build fails every time with the same error. To ensure that my sphinx and exhale configurations aren't the issue, I've cloned the exhale-companion repo and tried to build that. If I build it with make html or sphinx-build -b html . _build everything runs smooth until the finish of the XML generation (after lookup cache used 108/65536 hits=433 misses=110). Then this error occurs:

Extension Error: Unable to execute 'doxygen': [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\...\\UserName\\AppData\\Local\\Temp\\exhale_launched_doxygen_buff6msnj3_n'

I tried the same on linux and it worked right away. Currently the following versions are installed on the windows host: spinx==1.7.6, lxml==4.2.3, exhale==0.1.8, breathe==4.9.1, sphinx-rtd-theme==0.4.1, sphinxcontrib-apidoc==0.2.1 and -matlabdomain==0.3.3

svenevs commented 6 years ago

Please pip install -U exhale and try v0.2.0. Exhale actually never worked on Windows because of this (when exhale was asked to run doxygen), but that specific problem should be gone now.

Note that there is a minor bug in 0.2.0 that occurs when you have a union inside of a namespace (see #37). That's fixed on master, but I have some other fixes I want to get in before 0.2.1. If that affects your project let me know and I'll include instructions on how to use that master branch on RTD in the interim.

Thanks for including a very detailed issue report, it made it very easy to know what the problem is. Let me know if 0.2.0 does / does not work!

albflo commented 6 years ago

Great thank you! I've installed the latest version 0.2.1.dev and it works now!

If I notice that bug I will submit some information about it.

It was the least i can do, thank you for the quick help!