Bug #42655 | Build looks for no longer existing mysqltest.c | ||
---|---|---|---|
Submitted: | 6 Feb 2009 17:13 | Modified: | 7 Feb 2009 14:20 |
Reporter: | Paul DuBois | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
Version: | 5.1, 6.0 bzr trees | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[6 Feb 2009 17:13]
Paul DuBois
[6 Feb 2009 18:54]
Sveta Smirnova
Thank you for the report. Verified as described.
[6 Feb 2009 20:17]
Sveta Smirnova
In my environment repeatable only with 5.1 tree on Mac. Not repeatable on Linux.
[6 Feb 2009 21:04]
Paul DuBois
Happens to me on Mac OS X and Gentoo Linux.
[7 Feb 2009 12:16]
John Embretsen
Observed with mysql-6.0 and child branches as well (on Solaris) after pulling big MTR changes (v1 --> v2) into an existing branch, see: http://lists.mysql.com/falcon/485 Workaround for me was to re-branch or manually delete libmysqld/examples/mysqltest.c symlink.
[7 Feb 2009 14:20]
Daniel Fischer
This is not (really) a bug. The symbolic link is created during the build process. When the name of the file was changed, the part of the Makefile that is responsible for this was also changed. The described behaviour occurs when there is a mysqltest.c symbolic link still in place that was created during a previous build from before the file was renamed. Since there is no explicit rule for mysqltest.o, and we list ".c" first in .SUFFIXES, a POSIXly correct make implementation will try to build mysqltest.o from mysqltest.c first, before trying mysqltest.cc. Hence, the outdated symbolic link must be removed manually, causing make to pick up the correct source file. Running "make clean" before pulling, or running configure, should also take care of removing the link. However, "make clean" after the Makefile in this directory is updated by configure will not result in the bad link being removed. Newly created branches will not exhibit the described behaviour. Workaround for branches that are already broken: Remove libmysqld/examples/mysqltest.c.
[7 Feb 2009 19:34]
Paul DuBois
Confirming workaround: Manually removing the libmysqld/examples/mysqltest.c symlink resulted in a successful build, for 5.1 and 6.0, on both Mac OS X and Gentoo. Note: I had previously tried make distclean, but that did not fix the problem.
[8 Feb 2009 21:00]
Tomas Ulin
My guess is you see this only when you pull and you've done make before... make clean or make distclean will not fix it... either make a fresh clone... or delete the mysqltest.c in the libmysqld dir... atleast worked for me... T
[9 Feb 2009 7:27]
Daniel Fischer
make clean will prevent it if you run it *before* pulling.