MySQL কম্পাইল করার সমস্যা যেন আগে ভুলভাবে কনফিগার করায় হয়। সমাধান: পুনরায় কনফিগার করুন।
যদি CMake আগের রান হওয়ার পর tứcই আবার রান করা হয়, তবে এটি আগের কল থেকে সংগৃহীত ইনফরমেশন ব্যবহার করতে পারে। এই ইনফরমেশন CMakeCache.txt-এ থাকে। CMake শুরু হলে এই ফাইল খুঁজে বের করে এবং কন্টেন্ট পড়ে (যদি থাকে), ধরে নেয় যে ইনফরমেশনটি সঠিক। কিন্তু রিকনফিগার করার সময় এই অনুমান ভুল হয়ে যায়।
প্রতিবার CMake রান করলে make আবার এক্সিকিউট করতে হয় রিকম্পাইল করার জন্য। আগের বিল্ড থেকে পুরনো অবজেক্ট ফাইলগুলো আগে রিমুভ করা উচিত, কারণ সেগুলো ভিন্ন কনফিগারেশন অপশনে কম্পাইল করা হয়েছিল।
পুরনো অবজেক্ট ফাইল বা কনফিগারেশন ইনফো বর্তমান ইনস্টলেশনে ব্যবহার না হওয়া নিশ্চিত করতে, CMake পুনরায় রান করার আগে নিচের কমান্ডগুলো রান করুন:
Unix-এ
shell> make clean shell> rm CMakeCache.txt
Windows-এ
shell> devenv MySQL.sln /clean shell> del CMakeCache.txt
যদি সোর্স ট্রির বাইরে বিল্ড করা হয়, তবে বিল্ড ডিরেক্টরি রিমুভ করে পুনরায় তৈরি করতে হবে CMake পুনরায় রান করার আগে। কিছু সিস্টেমে সিস্টেম ইনক্লুড ফাইলের পার্থক্যের কারণে ওয়ার্নিং আসতে পারে।
C এবং C++ কম্পাইলার নির্দিষ্ট করা
CC এবং CXX এনভায়রনমেন্ট ভেরিয়েবল ডিফাইন করে নির্দিষ্ট করা যায়:
shell> CC=gcc shell> CXX=g++ shell> export CC CXX
স্বয়ংক্রিয় C/C++ কম্পাইলার ফ্ল্যাগস
CMAKE_C_FLAGS এবং CMAKE_CXX_FLAGS CMake অপশন ব্যবহার করে নির্দিষ্ট করা যায়।
কোন ফ্ল্যাগস নির্দিষ্ট করতে হবে সেটি জানতে mysql_config এর সাথে --cflags এবং --cxxflags অপশন ইনভোক করুন।
কম্পাইল স্টেজে কোন কমান্ডগুলো এক্সিকিউট হচ্ছে সেটি দেখতে make VERBOSE=1 রান করুন make-এর বদলে (CMake দিয়ে MySQL কনফিগার করার পর)।
যদি কম্পাইলেশন ফেল করে, তবে চেক করুন MYSQL_MAINTAINER_MODE অপশন এনাবল আছে কিনা। এই মোড কম্পাইলার ওয়ার্নিংকে এরর বানায়, তাই এটি ডিজেবল করলে কম্পাইলেশন হতে পারে।