Thank you, that explains everything! You checked in the generated files so that I wouldn't have to install cmake. Unfortunately the msbuild invoked cmake (which I didn't have installed at the time) causing the build to fail. I just assumed that I needed cmake installed, but that may not be the case...
Now there are two ways that I can build successfully. == Without CMake == In tag.vcxproj, remove the entire <ItemGroup> that contains the cmake invocations. Use the original build_taglib.bat, which doesn't invoke cmake. (Also do the same for chromaprint's vcxproj) * Note that I did not uninstall CMake when testing this, so it is possible that there are still cmake invocations hiding somewhere, but I doubt it. == With CMake == Use the updated build_taglib.bat, which causes cmake to regenerate the VS project files. Add the following lines to taglib-1.9.1/CMakeLists.txt so that these preprocessor definitions are included when it regenerates tag.vcxproj add_definitions(-DZLIB_WINAPI) add_definitions(-DZLIB_DLL) The cmake-generated files should then be removed from source control. Personally, I would favor the "With CMake" method. From my point of view, I'm already downloading, unzipping, and building Qt. That took me more than an hour. Installing cmake took less than 5 minutes. It's a very small price to pay for a more uniform build. On Tue, Oct 28, 2014 at 4:23 PM, RJ Ryan <russelljr...@gmail.com> wrote: > Hey Ryan -- we use the WINAPI variant of zlib in the build sever > intentionally... I think you (or cmake rather) probably just undid some > change I made to the taglib config when you re-ran cmake. I remember > defining ZLIB_WINAPI in the taglib build. See the commit comments here: > > https://github.com/mixxxdj/buildserver/commit/ceceee2a61003d9169a5e85f5d43b001b9461388 > > On Sun, Oct 26, 2014 at 1:52 PM, Ryan Kramer <default.kra...@gmail.com> > wrote: > >> Solved! Found the clue here, see step 5: >> http://www.tannerhelland.com/5076/compile-zlib-winapi-wapi-stdcall/ >> >> I just added "#undef ZLIB_WINAPI" to the top of zlib-1.2.8/zconf.h. >> Rebuilt zlib and taglib and it linked correctly. >> >> >> Now I can cleanly build the dependencies with these errata: >> >> 1) Needed CMake installed and on the PATH. The wiki should be updated. >> >> 2) Needed updated scripts from Max for chromaprint and taglib, see 3 >> posts earlier. >> >> 3) Needed to undefine ZLIB_WINAPI when building zlib so taglib would >> link. I don't know the best way to integrate this into the build; I just >> hacked zconf.h which is probably not ideal. >> >> On Fri, Oct 24, 2014 at 5:35 PM, Ryan Kramer <default.kra...@gmail.com> >> wrote: >> >>> Aha! I noticed that the link error was contained within a conditional >>> compile. (Line 253 of id3v2frame.cpp for reference) So I forced HAVE_ZLIB >>> to be 0 (by modifying ConfigureChecks.cmake). Then it built successfully. >>> >>> Max and/or others, can you confirm that you are building successfully >>> with HAVE_ZLIB defined as 1? >>> >>> This still leaves the mystery of "why can't my linker resolve >>> _uncompress?" It seems to be passed correctly to link.exe, and I even used >>> dumpbin to verify that "_uncompress@16" is an exposed symbol from >>> zlibwapi.lib. The only strange thing is that I have never seen this syntax >>> (calling a static function on nothing?), but my compiler seems perfectly OK >>> with it: >>> >>> ::uncompress((Bytef *) data.data(), >>> (uLongf *) &uLongTmp, >>> (Bytef *) frameData.data() + frameDataOffset, >>> size()); >>> >>> On Fri, Oct 24, 2014 at 2:22 PM, Ryan Kramer <default.kra...@gmail.com> >>> wrote: >>> >>>> Thank you, with the modified scripts I get much closer. Chromaprint >>>> builds successfully now. The only remaining error is a link error for >>>> taglib: >>>> >>>> Creating library >>>> C:/code/github/mixxxBuild/buildserver/build/taglib-1.9.1/taglib/Release/tag.lib >>>> and object >>>> C:/code/github/mixxxBuild/buildserver/build/taglib-1.9.1/taglib/Release/tag.exp >>>> id3v2frame.obj : error LNK2019: unresolved external symbol _uncompress >>>> referenced in function "protected: class TagLib::ByteVector __thiscall >>>> TagLib::ID3v2::Frame::fieldData(class TagLib::ByteVector const &)const " >>>> (?fieldData@Frame@ID3v2@TagLib@@IBE?AVByteVector@3@ABV43@@Z) >>>> [C:\code\github\mixxxBuild\buildserver\build\taglib-1.9.1\taglib\tag.vcxproj] >>>> C:\code\github\mixxxBuild\buildserver\build\taglib-1.9.1\taglib\Release\tag.dll >>>> : fatal error LNK1120: 1 unresolved externals >>>> [C:\code\github\mixxxBuild\buildserver\build\taglib-1.9.1\taglib\tag.vcxproj] >>>> >>>> I am currently copying everything into C:/mixxx/environments/prototype >>>> to see if that resolves it, but that will take some time on this laptop :) >>>> >>>> On Fri, Oct 24, 2014 at 10:16 AM, Max Linke <max_li...@gmx.de> wrote: >>>> >>>>> Hi >>>>> >>>>> Did cmake installing actually fix building the missing dependencies? >>>>> As far as I >>>>> can see from the logs of Ferran it did not. Please don't change the >>>>> build >>>>> instructions until your issues are actually fixed. >>>>> >>>>> We still have some hardcoded paths in the VS solutions produced by >>>>> cmake. >>>>> Unfortunately we can't create the VS solutions during the build >>>>> process since we >>>>> need to edit them to allow creating Windows XP binaries. During the >>>>> build cmake >>>>> wants to rerun itself for a reason I don't understand currently and >>>>> uses the >>>>> hardcoded path. >>>>> >>>>> You can try several ways to fix this. Either build the dependencies in >>>>> the >>>>> folder `C:\mixxx/environments/prototype/build` or modify the build >>>>> scripts to >>>>> run cmake for every build and directly us the VS solutions from cmake. >>>>> >>>>> I have modified build scripts uploaded on github. >>>>> >>>>> >>>>> https://github.com/kain88-de/buildserver/blob/custom_windows/build_chromaprint.bat >>>>> >>>>> https://github.com/kain88-de/buildserver/blob/custom_windows/build_taglib.bat >>>>> >>>>> I actually tried both ways and now I can build the dependencies on any >>>>> folder. I >>>>> have no idea why this is possible for me and not for you right now. >>>>> When I'm >>>>> back home I can look a bit more into it. >>>>> >>>>> It would be nice if you can report back about your experience. >>>>> >>>>> best Max. >>>>> >>>>> On Thu, 23 Oct 2014 15:57:04 -0500 >>>>> Ryan Kramer <default.kra...@gmail.com> wrote: >>>>> >>>>> > I just tried building the dependencies on windows and reached the >>>>> same >>>>> > errors as Ferran. >>>>> > >>>>> > First of all, I didn't have CMake installed. I tried to update the >>>>> > instructions on this wiki page ( >>>>> > http://mixxx.org/wiki/doku.php/compiling_on_windows) but the Edit >>>>> link gave >>>>> > this error. "Sorry, there was an error processing your request. If >>>>> this is >>>>> > an error contact us at info AT mydomain.com." To be fair, I'm not >>>>> sure if >>>>> > I'm supposed to have permission to edit wiki pages. >>>>> > >>>>> > Once I installed CMake, I got errors like: >>>>> > >>>>> > CUSTOMBUILD : CMake error : The source directory >>>>> > "C:/mixxx/environments/prototype/build/chromaprint-1.1" does not >>>>> appear to >>>>> > contain CMakeLists.txt. >>>>> > >>>>> [C:\code\github\mixxxBuild\buildserver\build\chromaprint-1.1\src\chromaprint.vcxproj] >>>>> > >>>>> > and >>>>> > >>>>> > CUSTOMBUILD : CMake error : The source directory >>>>> > "C:/mixxx/environments/prototype/build/taglib-1.9.1" does not appear >>>>> to >>>>> > contain CMakeLists.txt. >>>>> > >>>>> [C:\code\github\mixxxBuild\buildserver\build\taglib-1.9.1\taglib\tag.vcxproj] >>>>> > >>>>> > Why is it looking in the directory "C:/mixxx/..."? On my machine, >>>>> the file >>>>> > exists at >>>>> > >>>>> "C:\code\github\mixxxBuild\buildserver\build\chromaprint-1.1\CMakeLists.txt". >>>>> > It looks like the former path is mistakenly hard-coded. It seems the >>>>> only >>>>> > two dependencies with this problem (chromaprint and taglib) are also >>>>> the >>>>> > only two that use CMake... >>>>> > >>>>> > >>>>> > Since those two dependencies didn't build, I wasn't expecting a >>>>> clean build >>>>> > of mixxx. However, it is strange that I get errors like >>>>> "ERROR:root:Unmet >>>>> > dependency: Did not find libportaudio.a, portaudio.lib, or the >>>>> > PortAudio-v19 development header files." I am pretty sure my >>>>> WINLIB_PATH is >>>>> > correct: >>>>> > >>>>> > set WINLIB_PATH=C:\code\github\mixxxBuild\buildserver >>>>> > >>>>> > And portaudio.lib definitely exists in >>>>> > "C:\code\github\mixxxBuild\buildserver\lib". It seems to have built >>>>> just >>>>> > fine. >>>>> > >>>>> > I will keep investigating as I have time, but hopefully someone can >>>>> shed >>>>> > some light on this. >>>>> > >>>>> > On Sat, Oct 18, 2014 at 7:14 AM, Ferran Pujol Camins < >>>>> > ferranpujolcam...@gmail.com> wrote: >>>>> > >>>>> > > Could you find what was not working? Is it really an issue with >>>>> the build >>>>> > > scripts or might be something wrong in my computer? >>>>> > > El dia 14/10/2014 17.49, "Ferran Pujol Camins" < >>>>> > > ferranpujolcam...@gmail.com> va escriure: >>>>> > > >>>>> > > The libs missing are: >>>>> > >> >>>>> > >> *Portaudio*. I didn't rename the asio sdk folder correctly, my >>>>> bad. Now >>>>> > >> it compiles. >>>>> > >> >>>>> > >> *Chromprint*. Error: >>>>> > >> >>>>> > >> "C:\Development\buildserver\build\chromaprint-1.1\chromaprint.sln" >>>>> > >>> (chromaprint:Clean;chromaprint:Rebuild target) (1) - >>>>> > >>> > >>>>> > >>> >>>>> "C:\Development\buildserver\build\chromaprint-1.1\src\chromaprint.vcxproj" >>>>> > >>> (Rebuild target) (2:2) -> >>>>> > >>> (CustomBuild target) -> >>>>> > >>> CUSTOMBUILD : CMake error : The source directory >>>>> > >>> "C:/mixxx/environments/prototype/build/chromaprint-1.1" does not >>>>> app >>>>> > >>> ear to contain CMakeLists.txt. >>>>> > >>> >>>>> [C:\Development\buildserver\build\chromaprint-1.1\src\chromaprint.vcxproj] >>>>> > >>> >>>>> > >> >>>>> > >> >>>>> > >> *Taglib*. Error: >>>>> > >> >>>>> > >> "C:\Development\buildserver\build\taglib-1.9.1\taglib.sln" >>>>> > >>> (tag:Clean;tag:Rebuild target) (1) -> >>>>> > >>> >>>>> "C:\Development\buildserver\build\taglib-1.9.1\taglib\tag.vcxproj" >>>>> > >>> (Rebuild target) (2:2) -> >>>>> > >>> (CustomBuild target) -> >>>>> > >>> CUSTOMBUILD : CMake error : The source directory >>>>> > >>> "C:/mixxx/environments/prototype/build/taglib-1.9.1" does not >>>>> appear >>>>> > >>> to contain CMakeLists.txt. >>>>> > >>> >>>>> [C:\Development\buildserver\build\taglib-1.9.1\taglib\tag.vcxproj] >>>>> > >>> >>>>> > >> >>>>> > >> 2014-10-13 20:43 GMT+02:00 Max Linke <max_li...@gmx.de>: >>>>> > >> >>>>> > >>> Some of the dependencies weren't build. I can't see the files for >>>>> > >>> chromaprint >>>>> > >>> and portaudio in your lib folder. >>>>> > >>> >>>>> > >>> Can you install cmake and then test to build only these >>>>> dependencies? >>>>> > >>> Just >>>>> > >>> comment out all the other deps in `build_environment.bat`. I had >>>>> similar >>>>> > >>> issues >>>>> > >>> when I tried the new build. I think some of the solutions have >>>>> to be >>>>> > >>> updated by >>>>> > >>> cmake but I'm not 100% that this was the error >>>>> > >>> >>>>> > >>> >>>>> > >>> What are the dependencies that scons is complaining about. The >>>>> config >>>>> > >>> log helps >>>>> > >>> but is a noisy. >>>>> > >>> >>>>> > >>> best Max >>>>> > >>> >>>>> > >>> >>>>> > >>> On Mon, 13 Oct 2014 20:25:59 +0200 >>>>> > >>> Ferran Pujol Camins <ferranpujolcam...@gmail.com> wrote: >>>>> > >>> >>>>> > >>> > I've reverted back WINLIB_PATH to the correct value. I've >>>>> tried to >>>>> > >>> compile >>>>> > >>> > mixxx again: >>>>> > >>> > >>>>> > >>> > 2014-10-13 10:00 GMT+02:00 Max Linke <max_li...@gmx.de>: >>>>> > >>> > >>>>> > >>> > > Thanks for the Feedback >>>>> > >>> > > >>>>> > >>> > > On Sun, 12 Oct 2014 19:59:58 +0200 >>>>> > >>> > > Ferran Pujol Camins <ferranpujolcam...@gmail.com> wrote: >>>>> > >>> > > >>>>> > >>> > > > Well, I still cannot build Mixxx correctly. >>>>> > >>> > > > In the build.bat suggested. I found an error (I think): >>>>> > >>> > > > -When calling scons, It should be* >>>>> winlib=%WINLIB_PATH%\lib* >>>>> > >>> instead >>>>> > >>> > > > of *winlib=%WINLIB_PATH% >>>>> > >>> > > >>>>> > >>> > > No the winlib path is correct. You have to point it to a >>>>> directory >>>>> > >>> that >>>>> > >>> > > contains >>>>> > >>> > > the compiled shared libraries AND the headers that we >>>>> include. The >>>>> > >>> > > libraries are >>>>> > >>> > > in the 'lib' folder and the headers in the 'include'. >>>>> > >>> > > >>>>> > >>> > > >>>>> > >>> > > > *isn't it? >>>>> > >>> > > > >>>>> > >>> > > > I've tried that fix but I still have unmet dependencies. >>>>> See >>>>> > >>> attached >>>>> > >>> > > > config.log >>>>> > >>> > > >>>>> > >>> > > Can you post the content of %WINLIB_PATH%/lib, where your >>>>> > >>> %WINLIB_PATH% is >>>>> > >>> > > and >>>>> > >>> > > the script that you use to build mixxx. >>>>> > >>> > > >>>>> > >>> > > best Max >>>>> > >>> > > >>>>> > >>> > > > >>>>> > >>> > > > 2014-09-24 19:41 GMT+02:00 Max Linke <max_li...@gmx.de>: >>>>> > >>> > > > >>>>> > >>> > > > > Hi >>>>> > >>> > > > > >>>>> > >>> > > > > We have recently updated our windows build environment >>>>> on our >>>>> > >>> build >>>>> > >>> > > server. >>>>> > >>> > > > > >>>>> https://github.com/mixxxdj/buildserver/tree/windows_environment >>>>> > >>> > > > > >>>>> > >>> > > > > Today I have updated our build instructions for windows >>>>> as well. >>>>> > >>> > > > > http://www.mixxx.org/wiki/doku.php/compiling_on_windows >>>>> > >>> > > > > >>>>> > >>> > > > > If you had problems recently to compile on windows give >>>>> it a >>>>> > >>> shoot. >>>>> > >>> > > > > Any comments about problems are appreciated. >>>>> > >>> > > > > >>>>> > >>> > > > > Best Max >>>>> > >>> > > > > >>>>> > >>> > > > > >>>>> > >>> > > > > >>>>> > >>> > > >>>>> > >>> >>>>> ------------------------------------------------------------------------------ >>>>> > >>> > > > > Meet PCI DSS 3.0 Compliance Requirements with EventLog >>>>> Analyzer >>>>> > >>> > > > > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box >>>>> PCI DSS >>>>> > >>> > > Reports >>>>> > >>> > > > > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download >>>>> White >>>>> > >>> paper >>>>> > >>> > > > > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with >>>>> EventLog >>>>> > >>> Analyzer >>>>> > >>> > > > > >>>>> > >>> > > > > >>>>> > >>> > > >>>>> > >>> >>>>> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk >>>>> > >>> > > > > _______________________________________________ >>>>> > >>> > > > > Get Mixxx, the #1 Free MP3 DJ Mixing software Today >>>>> > >>> > > > > http://mixxx.org >>>>> > >>> > > > > >>>>> > >>> > > > > >>>>> > >>> > > > > Mixxx-devel mailing list >>>>> > >>> > > > > Mixxx-devel@lists.sourceforge.net >>>>> > >>> > > > > https://lists.sourceforge.net/lists/listinfo/mixxx-devel >>>>> > >>> > > > > >>>>> > >>> > > > >>>>> > >>> > > > >>>>> > >>> > > > >>>>> > >>> > > >>>>> > >>> > > >>>>> > >>> > > >>>>> > >>> >>>>> ------------------------------------------------------------------------------ >>>>> > >>> > > Meet PCI DSS 3.0 Compliance Requirements with EventLog >>>>> Analyzer >>>>> > >>> > > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI >>>>> DSS >>>>> > >>> Reports >>>>> > >>> > > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download >>>>> White paper >>>>> > >>> > > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog >>>>> Analyzer >>>>> > >>> > > http://p.sf.net/sfu/Zoho >>>>> > >>> > > _______________________________________________ >>>>> > >>> > > Get Mixxx, the #1 Free MP3 DJ Mixing software Today >>>>> > >>> > > http://mixxx.org >>>>> > >>> > > >>>>> > >>> > > >>>>> > >>> > > Mixxx-devel mailing list >>>>> > >>> > > Mixxx-devel@lists.sourceforge.net >>>>> > >>> > > https://lists.sourceforge.net/lists/listinfo/mixxx-devel >>>>> > >>> > > >>>>> > >>> > >>>>> > >>> > >>>>> > >>> > >>>>> > >>> >>>>> > >> >>>>> > >> >>>>> > >> >>>>> > >> -- >>>>> > >> Ferran Pujol Camins >>>>> > >> >>>>> > > >>>>> > > >>>>> > > >>>>> ------------------------------------------------------------------------------ >>>>> > > Comprehensive Server Monitoring with Site24x7. >>>>> > > Monitor 10 servers for $9/Month. >>>>> > > Get alerted through email, SMS, voice calls or mobile push >>>>> notifications. >>>>> > > Take corrective actions from your mobile device. >>>>> > > http://p.sf.net/sfu/Zoho >>>>> > > _______________________________________________ >>>>> > > Get Mixxx, the #1 Free MP3 DJ Mixing software Today >>>>> > > http://mixxx.org >>>>> > > >>>>> > > >>>>> > > Mixxx-devel mailing list >>>>> > > Mixxx-devel@lists.sourceforge.net >>>>> > > https://lists.sourceforge.net/lists/listinfo/mixxx-devel >>>>> > > >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> _______________________________________________ >>>>> Get Mixxx, the #1 Free MP3 DJ Mixing software Today >>>>> http://mixxx.org >>>>> >>>>> >>>>> Mixxx-devel mailing list >>>>> Mixxx-devel@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/mixxx-devel >>>>> >>>> >>>> >>> >> >> >> ------------------------------------------------------------------------------ >> >> _______________________________________________ >> Get Mixxx, the #1 Free MP3 DJ Mixing software Today >> http://mixxx.org >> >> >> Mixxx-devel mailing list >> Mixxx-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/mixxx-devel >> > >
------------------------------------------------------------------------------
_______________________________________________ Get Mixxx, the #1 Free MP3 DJ Mixing software Today http://mixxx.org Mixxx-devel mailing list Mixxx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mixxx-devel