Created attachment 82458 [details] compressed full build and test log for my platform "configure --with-internal-glib" (with CFLAGS set to -march=native which was necessary), "make" and "make install" succeed without issues, but "make check" gives the following excerpted results: FAIL: check-print-options FAIL: check-path FAIL: check-sysroot FAIL: check-debug 4 of 25 tests failed Note I installed MinGW-4.7.2 and MSYS using mingw-get-inst-20120426.exe with full updates then downgraded one component to msys-core-bin=1.0.17-1 following the directions at http://sourceforge.net/p/mingw/bugs/1950. Also I use the Wine-1.6-rc4 version of Windows that I built on Debian Wheezy. This MinGW-4.7.2/MSYS/Wine-1.6-rc4 platform has proved to be a reliable build platform for other much more complex software (e.g., wxwidgets). Nevertheless, the unique properties of my platform could be the issue here. Furthermore, I installed MinGW and MSYS with a unique installation prefix (where the appropriate bin directories are on the PATH, but the above failing pkg-config tests may require more information than that). Because of the platform caveats probably the first order of business should be to attempt to replicate the issue for the latest MinGW/MSYS on a Microsoft version of the Windows platform. But if the pkg-config developers are interested in more of the details for my particular platform, I have attached a gzip compressed file containing the complete log of the build up to the test failures.
Can you try with git master? I've fixed some bugs with this setup.
I have limited git and autootools expertise so could you double check my notes below to make sure I accessed git master properly and did the autotools steps to prepare it for a build? git clone git://anongit.freedesktop.org/pkg-config pkg-config_git cd pkg-config_git git fetch git rebase origin # Create full configuration ./autogen.sh # Prepare for distribution make distclean # Check distribution. if I don't perform the steps above this step errors out. autoconf Note, the above autotools steps were done on Linux. Would that affect the subsequent MSYS build using this prepared pkg-config source tree? The reason I ask is I got good results for the git version of pkg-config prepared like above for the Linux build and test, but I got bad results for the corresponding MinGW/MSYS/Wine build and test where the configure step failed with some run-time error. (A error box popped us saying sh.exe had some unrecoverable error.) For http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz, the Linux build and test passed all tests (in agreement with results from the git version), and the MinGW/MSYS/Wine build and test completed without run-time errors and with only 4 tests failing (in disagreement with results from the git version). So I have a feeling some/all of the autotools preparation done above on Linux was not correct for the MinGW/MSYS/Wine case, and I need autotools advice about that possibility.
Yes, I can imagine getting the autotools running on your msys platform is tricky. Fortunately, you only have to do it once from any host. So, I suggest you prepare the tree with your Linux tools and then you can build however you want. The following is all autogen.sh does: autoreconf -I Run that from Linux and the autotools are set. Now you can follow the normal build steps for your windows build from that directory or a separate build directory.
That should be autoreconf -i My phone changed it to upper case.
Under git I still don't know how to change the local directory to pristine condition so I removed my previous attempt then did git clone git://anongit.freedesktop.org/pkg-config pkg-config_git cd pkg-config_git git fetch git rebase origin autoreconf -i This time the subsequent run of my build and test script for MinGW/MSYS/Wine worked without run-time errors so thanks very much for the autotools help to make that happen with the git version! However, the results produced with the git version were identical (4 test failures) to pkg-config-0.28. Those failure (for complete details see that attachment I made originally) are the following: [...] Package sort-order-3-1 was not found in the pkg-config search path. Perhaps you should add the directory containing `sort-order-3-1.pc' to the PKG_CONFIG_PATH environment variable No package 'sort-order-3-1' found ../pkg-config.exe --cflags sort-order-3-1 exited with 1 (expected 0) FAIL: check-sort-order [...] ../pkg-config.exe --variable=pc_path pkg-config : 'Z:\home\wine\newstart\build_script\build_dir-1.6-rc4_buildtools\build_projects\Build\build_pkg-config\.libs\lib\pkgconfig;Z:\home\wine\newstart\build_script\build_dir-1.6-rc4_buildtools\build_projects\Build\build_pkg-config\.libs\share\pkgconfig' != 'z:\home\wine\newstart\build_script\build_dir-1.6-rc4_buildtools\build_projects\Build\build_pkg-config\.libs\lib\pkgconfig;z:\home\wine\newstart\build_script\build_dir-1.6-rc4_buildtools\build_projects\Build\build_pkg-config\.libs\share\pkgconfig' FAIL: check-path [...] ../pkg-config.exe --version : 'PKG_CONFIG_DEBUG_SPEW variable enabling debug spew Adding directory 'z:/home/wine/newstart/build_script/build_dir-1.6-rc4_buildtools/build_projects/Source/build_pkg-config/check' from PKG_CONFIG_PATH Global variable definition 'pc_sysrootdir' = '/' Global variable definition 'pc_top_builddir' = '$(top_builddir)' Error printing enabled by default due to use of output options besides --exists, --atleast/exact/max-version or --list-all. Value of --silence-errors: 0 Error printing enabled 0.28' != 'PKG_CONFIG_DEBUG_SPEW variable enabling debug spew Adding directory '/Z/home/wine/newstart/build_script/build_dir-1.6-rc4_buildtools/build_projects/Source/build_pkg-config/check' from PKG_CONFIG_PATH Global variable definition 'pc_sysrootdir' = '/' Global variable definition 'pc_top_builddir' = '$(top_builddir)' Error printing enabled by default due to use of output options besides --exists, --atleast/exact/max-version or --list-all. Value of --silence-errors: 0 Error printing enabled 0.28' FAIL: check-debug [...] ../pkg-config.exe --cflags --libs pcfiledir : '-Iz:/home/wine/newstart/build_script/build_dir-1.6-rc4_buildtools/build_projects/Source/build_pkg-config/check/include -Lz:/home/wine/newstart/build_script/build_dir-1.6-rc4_buildtools/build_projects/Source/build_pkg-config/check/lib -lfoo' != '-I/Z/home/wine/newstart/build_script/build_dir-1.6-rc4_buildtools/build_projects/Source/build_pkg-config/check/include -L/Z/home/wine/newstart/build_script/build_dir-1.6-rc4_buildtools/build_projects/Source/build_pkg-config/check/lib -lfoo' FAIL: check-relocatable ============================================================================== 4 of 26 tests failed Please report to https://bugs.freedesktop.org/enter_bug.cgi?product=pkg-config ============================================================================== So it appears the fixes in git do not make any difference for these four failures. My next order of business is to try a source-tree build (as opposed to the separate build tree I have been using) since there may be some general MSYS issue concerning separate build trees for pkg-config. After all, the first failure above is caused by pkg-config.exe (which is built in a separate build tree) not finding sort-order-3-1.pc in the source tree. There could be a number of reasons for such a failure, but one possibility is some separate build tree issue for pkg-config under MSYS. Meanwhile, I also hope you are willing to attempt to replicate this issue yourself with an up-to-date MinGW/MSYS version on Microsoft Windows.
Correction. I completely missed something. The git version did make a difference for the separate build tree case. Version 0.28 ==> FAIL: check-print-options FAIL: check-path FAIL: check-sysroot FAIL: check-debug git version ==> FAIL: check-sort-order FAIL: check-path FAIL: check-debug FAIL: check-relocatable So for the separate build tree case, two issues were cured by git compared to 0.28, but git also introduced two new issues. I then tried git for an in-source build ==> FAIL: check-path with all other tests passing except for check-relocatable which went into a hang (no cpu activity and no additional results output after waiting for 30 minutes). So this seems promising (at least two failures cured by the in-source build), but the hang is a concern. In general, Wine does not respond smoothly to errors so the cure may be simply to fix whatever is going wrong for the check-relocatable test. All previous tests were done with "make -j4 check". Just in case that parallel check was messing up results, I then tried an in-source build for version 0.28 using "make check" ==> FAIL: check-print-options FAIL: check-path FAIL: check-sysroot So this result is the same as the first result for 0.28 except the check-debug failure has been fixed (by either the in-source build or the non-parallel check). To summarize, there seems to be a consistent increase in test failures for builds using a separate build tree so I suspect that issue will also show up on Microsoft Windows platforms. In addition, probably Wine-1.6-rc4 is adding its own errors (e.g., the hang) to complicate whenever there is a test failure so it is important to determine how many of the above issues show up on the Microsoft version of Windows. I don't have access to that platform myself, but I would be happy to try any additional tests on my MinGW/MSYS/Wine platform if you feel those would be helpful.
I've just tried building 0.28 on RHEL 6.4, and got a single failure on make check: ../pkg-config --print-variables simple : 'prefix libdir exec_prefix includedir' != 'exec_prefix prefix libdir includedir' FAIL: check-print-options Per the instructions given to the original reporter, I've also tried building the git master. It fails in the same way.
(In reply to Michael from comment #7) > ../pkg-config --print-variables simple : > 'prefix > libdir > exec_prefix > includedir' != 'exec_prefix > prefix > libdir > includedir' > FAIL: check-print-options If you look carefully, --print-variables actually returns the correct values, just not in the expected order. This is, in fact, a test suite failure (the order can vary depending on glib version). If you configure with --with-internal-glib it should pass. (And you can file that one under "better late than never.")
(In reply to R.L. Horn from comment #8) > If you look carefully, --print-variables actually returns the correct > values, just not in the expected order. This is, in fact, a test suite > failure (the order can vary depending on glib version). Oh, good catch on that. I pushed a change to sort the --print-variables output. This should be fixed on master. See commit 818aeac. I'm still putting together a couple windows builds (wine and msys) to see if the test output is clean for me.
I pushed another fix that was screwing up check-relocatable for me, and now check passes for me on wine. I'd appreciate if someone else could give this a shot.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pkg-config/pkg-config/issues/44.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.