Building db3-3.3.11-1031 on 10.6 breaks with the error configure: error: No ar utility found.
Building mysql-shlibs-3.23.58-1023 on 10.6 breaks with the error configure: error: no acceptable C compiler found in $PATH (see the corresponding threads on fink-devel and fink-beginners.) Both failures have the same cause which I have now hunted down. It is likely to show up for other packages whose configure scripts were generated by autoconf version 2.53 or older. A workaround is given at the end of this message, and I have fixed db3 correspondingly. The story is the following: These old autoconf versions have a test for deciding whether PATH_SEPARATOR should be ";" or ":". (In reality they have even two independent pieces of code that do this, which is one of the many weirdnesses in this history.) The test looks whether the following line of code PATH=".;."; conftest.sh executes without error, that is, finds the conftest.sh executable which is in the current directory. If yes, PATH_SEPARATOR is set to ";" which, of course, wreaks havoc on MacOSX. Now this line of code is in fact executed by /bin/ksh, because configure, in its quest to find an acceptable variant of the "echo" command, re-executes itself several times in different shells, and it is /bin/ksh that it is trying out when the above test is being performed. The two versions of /bin/ksh in MacOSX 10.5 and 10.6 behave differently with respect to that line of code (both of them are buggy IMHO). You can see this by executing the following line in /bin/ksh: cd /usr/bin; PATH=".;."; type -a machine; machine On 10.5 (similar on 10.4), you get the output > machine is a tracked alias for '/usr/bin/.;./machine' > /bin/ksh: machine: not found [No such file or directory] On 10.6 you get > machine is a tracked alias for '/usr/bin/.;./machine' > i486 Thus on 10.5, it "finds" the command, but then when asked to execute it, doesn't really find it. On 10.6, it actually finds it, although that weirdo path does not exist. In newer versions of autoconf (2.57-2.59, ca 2004), the test is changed: It uses the line PATH="/nonexistent;."; conf$$.sh which correctly fails in /bin/ksh on 10.6, too. Even newer versions of autoconf use some other variant of the test. The workaround is to run configure with the environment variable PATH_SEPARATOR=":" set, so that this whole crazy test is not performed at all. -- Martin ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel