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