On Tue, Sep 20, 2016 at 8:38 PM, Pavolik, Ethan Thomas <[email protected]> wrote: > I'm (bravely) trying to build Avogadro 2 using Visual Studio 2015 and I > wanted to post on some issues I've resolved so far as well as try to get > some help on the issues I'm currently facing. > Thanks for posting a summary of your progress. > > I've been working on a Windows 10 PC that I reset/wiped and completely > reinstalled VS2015 and the Windows SDK version 10.0.10586.0 to cross out any > errors being due to my install. > > Some things I've noticed and changed so far: > > > zlib- zlib seems to build fine, however there is a post-build instruction > that is defined somewhere in the cmake files that renames zlib.lib - > > zlib1.lib. I'm not sure if this is a problem building on other platforms, > but when I build in debug mode, VS produces zlibd.lib. Then when it attempts > to do the renaming step, it will say the build failed despite zlibd.lib > being correctly generated. Building as release seems to work fine. > I have never put the time in to get a working debug build on Windows, this is likely true with VS2010 that I was using too. > > libxml2- At the time of this message, libxml 2.9.1 is being used as a > dependency. After much frustration it turns out that they introduced a fix > for VS2015 in version 2.9.2 involving a macro definition of "snprintf". I've > since changed it to use version 2.9.4 on my machine. While that has allowed > me to compile fine, I'm currently facing unresolved external errors during > linking which I have yet to look into. > I actually had to push libxml2 back in order to get it to build with VS2010, I am all in favor of moving this forward. It is mainly there for Open Babel at this point, Avogadro 2 doesn't use it directly. > > boost- Attempting to build boost resulted in a single toolset error, which I > was able to fix by adding > > "elseif(MSVC14) > > set(_toolset "msvc-14.0")" > to cmake/External_boost.cmake.
For VS2015 and Avogadro 2/MoleQueue there should be no need for Boost as far as I know. > > HDF5- They recently changed where they were hosting their 1.8.12 source. If > you don't already have it in your downloads folder you will get a 404 error > when trying to download the source. After changing the download location and > version to 1.8.17 I still was not able to compile, but luckily they offer a > binary compiled on VS2015 which seemed to work fine. If you have the new location I would love to fix that, if you want to make a pull request, or I can update it in the superbuild. > > Molequeue- Setting "CMAKE_PREFIX_PATH" was required for the required QT > files to be located. I have a couple of patches, where CMAKE_PREFIX_PATH will continue to work, but Qt5_DIR should work and be passed down. I had been using prefix path as it was the simplest solution. > > avogadrolibs- VS2015 wasn't able to recognize the type "uint" so I had to > add "typedef unsigned int uint" at the top of poscarformat.cpp in order for > this project to compile. That is a mistake, I must have missed it in review. It should be changed to unsigned int, I can patch that. > > These are the changes I've made so far in order to build most of the > solution. Hopefully my notes so far can help some people in a similar > situation, as well as bring up some issues that may affect others too (such > as the HDF5 download location). I will turn HDF5 off by default, the support was experimental and we don't want to make builds harder unless they are actually using the library. > > Right now my build is being stopped by unresolved externals in both the > libxml2 and avogadrolibs projects. I'm focusing on solving my issues with > avogadrolibs right now. The issue seems to be between AvogadroQuantumIo + > Json::Value (http://pastebin.com/nG4YYRXj) and AvogadroMoleQueue + > Avogadro::QtGui::GenericHighlighter (http://pastebin.com/XDbDfAhA). They are news to me, I will see if I can take a look. Thanks for posting detailed notes, I can create a few patches for the simpler fixes, and will see if I can get VS2015 up and running on my machine. Marcus ------------------------------------------------------------------------------ _______________________________________________ Avogadro-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/avogadro-devel
