Bug #66001 /usr/bin/libtool doesn't not exist with Xcode 4.3
Submitted: 24 Jul 2012 17:28 Modified: 29 Jul 2019 10:52
Reporter: Mike McQuaid McQuaid Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version:5.5.25a OS:MacOS (10.7.4)
Assigned to: CPU Architecture:Any
Tags: Contribution

[24 Jul 2012 17:28] Mike McQuaid McQuaid
Description:
cmake/libutils.cmake contains a reference to /usr/bin/libtool which does not exist with Xcode 4.3 without the Command Line Tools installed.

How to repeat:
Try to compile MySQL without the Xcode Command Line Tools but Xcode 4.3 installed and with its tools in the PATH.

Suggested fix:
diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake
index 89a9de9..677c68d 100644
--- a/cmake/libutils.cmake
+++ b/cmake/libutils.cmake
@@ -183,7 +183,7 @@ MACRO(MERGE_STATIC_LIBS TARGET OUTPUT_NAME LIBS_TO_MERGE)
       # binaries properly)
       ADD_CUSTOM_COMMAND(TARGET ${TARGET} POST_BUILD
         COMMAND rm ${TARGET_LOCATION}
-        COMMAND /usr/bin/libtool -static -o ${TARGET_LOCATION} 
+        COMMAND libtool -static -o ${TARGET_LOCATION} 
         ${STATIC_LIBS}
       )  
     ELSE()
[24 Jul 2012 17:29] Mike McQuaid McQuaid
Patch

Attachment: 0001-Don-t-use-full-path-to-libtool-on-OS-X.patch (application/octet-stream, text), 939 bytes.

[24 Jul 2012 18:05] Sveta Smirnova
Thank you for the report.

Verified as described using code analysis. Seems using /usr/bin/libtool was done by purpose, but cmake should check its existence, not just call it.
[24 Jul 2012 21:22] Mike McQuaid McQuaid
Aye, I'm sure it was done on purpose but as-of Xcode 4.3 it's incorrect. You could do a find_program with the Xcode binary search path instead if that's preferable but /usr/bin/libtool should not be the only option.
[26 Jul 2019 20:39] Dyre Tjeldvoll
Posted by developer:
 
I have just tried to compile MySQL on a laptop with a fresh install of MacOS 10.14. And it is now virtually impossible to do so without installing the Xcode Command Line tools:

- If you try to use git, prompts you for installing them (you can get around it by installing git yourself, but need to use full path)
- OpenSSL is now required when building MySQL, and the only feasible way to get it is through brew. And just installing brew will prompt you for Xcode command line tools

I'm setting this bug to feedback, with the intention of closing.
[27 Jul 2019 19:33] Mike McQuaid McQuaid
This was years ago so: yes, closing.
[29 Jul 2019 10:52] Dyre Tjeldvoll
Posted by developer:
 
Closing, as XCode cmd line tools are essentially required to build MySQL now.