X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,TW_RG X-Spam-Check-By: sourceware.org Message-ID: <4C5075E3.9020903@dronecode.org.uk> Date: Wed, 28 Jul 2010 19:24:35 +0100 From: Jon TURNEY User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.7) Gecko/20100713 Thunderbird/3.1.1 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: problem with PATH set by libtool for uninstalled pixman library Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com I have a tinderbox which does daily builds of the X.Org stack for cygwin, and I've come across a something I don't understand with the way libtool is working when building the pixman library, and I hope someone can shed a bit of light. pixman's 'make check' runs various uninstalled test programs, supposedly against the uninstalled version of the shared library we have just built. This doesn't seem to work quite correctly on cygwin, the installed version of the library gets used instead (causing the test to fail when the value it is checking for has changed in the just built version): jon AT allegra /opt/jhbuild/build/pixman/test $ ./blitters-test.exe --lt-debug (main) argv[0] : ./blitters-test (main) program_name : blitters-test (find_executable) : ./blitters-test (check_executable) : /opt/jhbuild/build/pixman/test/./blitters-test (main) found exe (before symlink chase) at : /opt/jhbuild/build/pixman/test/./blitters-test checking path component for symlinks: /opt/jhbuild/build/pixman/test/./blitters-test checking path component for symlinks: /opt/jhbuild/build/pixman/test/. checking path component for symlinks: /opt/jhbuild/build/pixman/test checking path component for symlinks: /opt/jhbuild/build/pixman checking path component for symlinks: /opt/jhbuild/build checking path component for symlinks: /opt/jhbuild checking path component for symlinks: /opt (main) found exe (after symlink chase) at : /opt/jhbuild/build/pixman/test/./blitters-test (main) libtool target name: blitters-test.exe (lt_setenv) setting 'BIN_SH' to 'xpg4' (lt_setenv) setting 'DUALCASE' to '1' (lt_update_lib_path) modifying 'PATH' by prepending '/opt/jhbuild/build/pixman/pixman/.libs:' (lt_setenv) setting 'PATH' to '/opt/jhbuild/build/pixman/pixman/.libs:/home/jon/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0/:/bin' (lt_update_exe_path) modifying 'PATH' by prepending '/opt/jhbuild/install/lib:/opt/jhbuild/install/bin:/opt/jhbuild/build/pixman/pixman/.libs:' (lt_setenv) setting 'PATH' to '/opt/jhbuild/install/lib:/opt/jhbuild/install/bin:/opt/jhbuild/build/pixman/pixman/.libs:/opt/jhbuild/build/pixman/pixman/.libs:/home/jon/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0/:/bin' (main) lt_argv_zero : /opt/jhbuild/build/pixman/test/./.libs/blitters-test.exe (main) newargz[0] : /opt/jhbuild/build/pixman/test/./.libs/blitters-test.exe As you can see, the install path appears before .libs in the PATH the libtool wrapper constructs, so the installed version from a previous build is used, rather than the uninstalled version we want to test. I'm not quite clear why the install path is being added at all, I don't think libpixman has any dependencies which it needs to find there (at least in the cygwin build) I notice if I add '-bindir' to the LDFLAGS, this seems to rearrange the order of things added to PATH so things work, but the description of -bindir is a bit opaque to me, so I'm not sure if that's the correct solution. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple