This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

problem with PATH set by libtool for uninstalled pixman library



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@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]