Bug #87524 | Compilation of unit tests regenerates Makefile | ||
---|---|---|---|
Submitted: | 24 Aug 2017 10:24 | Modified: | 5 Nov 2019 15:13 |
Reporter: | P D | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: Tests | Severity: | S7 (Test Cases) |
Version: | OS: | Ubuntu | |
Assigned to: | MySQL Verification Team | CPU Architecture: | Any |
[24 Aug 2017 10:24]
P D
[25 Aug 2017 7:51]
Tor Didriksen
What version of mysql, and what platform? In both 5.6 and 5.7 I see: 5.6-review/bin-dbg $touch ../sql/field.cc make field-t [ 1%] Built target gen_lex_hash [ 1%] Built target GenServerSource [ 1%] Built target gen_lex_token [ 1%] Built target GenDigestServerSource [ 2%] Built target yassl [ 5%] Built target taocrypt [ 8%] Built target zlib [ 14%] Built target strings [ 14%] Built target gen_dtrace_header [ 28%] Built target mysys [ 28%] Built target dbug [ 29%] Built target mysys_ssl [ 29%] Built target comp_err [ 29%] Built target GenError [ 37%] Built target myisam [ 37%] Built target csv [ 41%] Built target heap [ 41%] Built target federated [ 41%] Built target blackhole [ 44%] Built target myisammrg [ 44%] Built target archive [ 55%] Built target perfschema [ 71%] Built target innobase [ 73%] Built target vio [ 73%] Built target regex [ 73%] Built target partition Scanning dependencies of target sql [ 73%] Building CXX object sql/CMakeFiles/sql.dir/field.cc.o [ 73%] Linking CXX static library libsql.a [ 94%] Built target sql [ 94%] Built target gmock [ 94%] Built target gtest [ 94%] Built target mytap [ 95%] Built target gunit_large [ 98%] Built target binlog [100%] Built target slave [100%] Built target rpl [100%] Built target master [100%] Linking CXX executable field-t [100%] Built target field-t If you touch the *header* file though, you must expect to recompile just about everything, including storage engines and the server itself.
[25 Aug 2017 9:11]
P D
Thanks Tor, I cloned the last commit in github. The platform is Ubuntu 14.04.2 LTS. You are right: the recompilation happens when the header file is modified. It can take minutes and minutes... I attach the output of "make field-t": is that the expected output? Also, Why is cmake regenerating the Makefile (as you can observe at the beginning of the file)? Does it affect the build? Is it possible to add only the necessary dependencies in CMakeLists.txt to build "field-t"? Do it happen the same with the rest of header files? Thanks.
[25 Aug 2017 9:12]
P D
Output of "make field-t"
Attachment: execution.txt (text/plain), 31.16 KiB.
[5 Nov 2019 15:13]
MySQL Verification Team
You wrote: "This is not exactly a bug, but it represents a problem to me." and developer explanation.