MacOS-এ সোর্স OR-Tools Java থেকে বিল্ডিং

ভূমিকা

এই নির্দেশিকাটি ব্যাখ্যা করে কিভাবে উৎস OR-Tools থেকে জাভা সমর্থন সহ MacOS-এ তৈরি করা যায়।

আপনি যদি সোর্স কোড পরিবর্তন করার পরিকল্পনা না করেন বা OR-Tools সহ একটি তৃতীয়-পক্ষ সমাধানকারী ব্যবহার করেন, আমরা প্যাকেজ ইনস্টলেশনের সুপারিশ করি।

যদিও এই নির্দেশাবলী অন্যান্য MacOS ভেরিয়েন্টগুলিতেও কাজ করতে পারে, আমরা সেগুলিকে শুধুমাত্র নিম্নলিখিত প্রয়োজনীয়তা পূরণকারী মেশিনগুলিতে পরীক্ষা করেছি:

  • MacOS 13.0.1 (ভেন্টুরা) ইন্টেল 64-বিট (x86_64)
  • MacOS 13.0.1 (Ventura) M1 (arm64)

পূর্বশর্ত

নিম্নলিখিত বিভাগগুলি OR-Tools ইনস্টল করার পূর্বশর্তগুলি বর্ণনা করে৷

এক্সকোড কমান্ড লাইন টুল

আপনাকে অবশ্যই Xcode কমান্ড লাইন টুল ইনস্টল করতে হবে। এটি করতে, /Applications/Utilities/ এ পাওয়া টার্মিনাল খুলুন এবং লিখুন:

xcode-select --install

এক্সকোড কমান্ড লাইন টুল ডাউনলোড এবং ইনস্টল করতে "ইনস্টল করুন" এ ক্লিক করুন। আপনাকে অ্যাপ স্টোর থেকে "এক্সকোড পান" করার দরকার নেই৷ আপনার যদি ধীর গতির ইন্টারনেট সংযোগ থাকে তবে এটি অনেক মিনিট সময় নিতে পারে।

আপনি সফলভাবে Xcode কমান্ড লাইন টুল ইনস্টল করেছেন তা যাচাই করুন:

xcode-select -p

আপনি দেখতে হবে:

/Library/Developer/CommandLineTools

হোমব্রু

অবশিষ্ট পূর্বশর্তগুলি ইনস্টল করার জন্য, আমরা প্রথমে "macOS এর জন্য অনুপস্থিত প্যাকেজ ম্যানেজার" ইনস্টল করার পরামর্শ দিই অন্যথায় Homebrew নামে পরিচিত৷ এটি করতে, একটি টার্মিনাল উইন্ডো খুলুন এবং লিখুন:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew update

আপনি সফলভাবে ব্রু ইনস্টল করেছেন তা যাচাই করতে:

brew --version

আপনি দেখতে হবে:

Homebrew 1.6.9-8-g25542d7
Homebrew/homebrew-core (git revision 0e0c84; last commit 2018-06-20)

C++ টুল

C++ টুল ইনস্টল করতে, একটি টার্মিনাল উইন্ডো খুলুন এবং লিখুন:

brew install cmake wget pkg-config

SWIG টুল

SWIG টুল ইনস্টল করতে, একটি টার্মিনাল উইন্ডো খুলুন এবং লিখুন:

brew install swig

জাভা জেডিকে

আপনাকে অবশ্যই Java JDK 8.0 বা উচ্চতর ইনস্টল করতে হবে।

একবার আপনি হোমব্রু ইনস্টল করার পরে, আপনি একটি টার্মিনাল উইন্ডো খুলে openjdk ইনস্টল করতে পারেন এবং লিখুন:

brew install openjdk
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

তারপর আপনাকে JAVA_HOME ভেরিয়েবল রপ্তানি করতে হবে:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk.jdk

মাভেন

আপনাকে অবশ্যই Maven ইনস্টল করতে হবে।

একবার আপনি হোমব্রু ইনস্টল করার পরে, আপনি একটি টার্মিনাল উইন্ডো খুলে ম্যাভেন ইনস্টল করতে পারেন এবং লিখুন:

brew install maven

আপনি Maven সঠিকভাবে ইনস্টল করা পরীক্ষা করতে পারেন এবং নিম্নলিখিত কমান্ড ব্যবহার করে জাভা খুঁজে পেতে পারেন:

mvn -v

সোর্স কোড ডাউনলোড করুন

GitHub- এ OR-Tools সোর্স কোডের দুটি স্বতন্ত্র শাখা রয়েছে: stable এবং main

stable শাখাটি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা হয়েছে এবং সমস্ত সমর্থিত প্ল্যাটফর্মে ত্রুটিহীনভাবে কাজ করা উচিত।
main শাখা যেখানে সর্বশেষ আপডেট এবং উন্নতি প্রয়োগ করা হয়েছে; এটা আরো বর্তমান, কিন্তু কম স্থিতিশীল.

স্থিতিশীল উৎস কোড ডাউনলোড করুন

আপনি নিম্নলিখিত যে কোনও উপায়ে OR-Tools-এর জন্য স্থিতিশীল সোর্স কোড পেতে পারেন:

  • প্রবেশ করে stable শাখা ক্লোন করুন:

    git clone https://github.com/google/or-tools
    
  • GitHub-Clone or download বোতামে ক্লিক করে একটি সংকুচিত ফাইলে সর্বশেষ রিলিজ ডাউনলোড করুন। ক্লোন বা ডাউনলোড বোতামের ছবি

প্রধান উৎস কোড ডাউনলোড করুন

main শাখা থেকে উৎস কোড পুনরুদ্ধার করতে, লিখুন:

git clone -b main https://github.com/google/or-tools

আগের রিলিজ ডাউনলোড করুন

আপনি নিম্নলিখিত যেকোনো উপায়ে পূর্ববর্তী রিলিজের জন্য সোর্স কোড পেতে পারেন:

  • GitHub রিলিজ পৃষ্ঠা থেকে একটি পূর্ববর্তী রিলিজ ডাউনলোড করুন।
  • ধরে নিচ্ছি আপনি ইতিমধ্যে একটি স্থানীয় সংগ্রহস্থল তৈরি করেছেন ( git clone দ্বারা), আপনি একটি গিট ট্যাগ ব্যবহার করে একটি নির্দিষ্ট রিলিজ পরীক্ষা করতে পারেন। উদাহরণস্বরূপ, main শাখার পরিবর্তে v9.10 রিলিজের সাথে কাজ করতে, আপনার স্থানীয় রেপোতে নিম্নলিখিত কমান্ডগুলি লিখুন:

    git fetch --all --tags --prune
    git checkout tags/v9.10 -b v9.10
    

বিল্ড কনফিগার করুন

OR-Tools তৈরি করার আগে, আপনাকে CMake বিল্ড সিস্টেম জেনারেটর কনফিগার করতে হবে।

একটি টার্মিনাল খুলুন এবং ডিরেক্টরিতে নেভিগেট করুন যেখানে আপনি ফাইলগুলি বের করেছেন। তারপর লিখুন:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON

বিস্তারিত জানার জন্য CMake ডকুমেন্টেশন চেকআউট করুন.

SCIP ব্যবহার করে

v7.8 থেকে, SCIP এখন ইন্টিগ্রেটেড তাই আপনাকে ম্যানুয়ালি ইন্সটল করতে হবে না।

গুরোবি ব্যবহার করে

গুরোবি এখন প্রাক-সংহত। প্রয়োজন হলে, রানটাইমে, OR-Tools MAC OS X এবং Windows-এ গুরোবি ইনস্টলারদের ডিফল্ট ইনস্টল পাথে গুরোবি শেয়ার্ড লাইব্রেরি অনুসন্ধান করবে, অথবা GUROBI_HOME এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে।

একটি ঐচ্ছিক তৃতীয় পক্ষের MIP সমাধানকারী ব্যবহার করা

এছাড়াও আপনি OR-Tools ব্যবহার করতে পারেন নিম্নোক্ত ঐচ্ছিক তৃতীয় পক্ষের MIP সলিভারগুলির সাথে যার সমর্থন ডিফল্টরূপে অক্ষম থাকে:

বিস্তারিত জানার জন্য এই ডকুমেন্টেশন কটাক্ষপাত করুন.

সোর্স কোড তৈরি করুন

সোর্স কোড তৈরি করতে, একটি টার্মিনাল খুলুন এবং যে ডিরেক্টরিতে আপনি ফাইলগুলি বের করেছেন সেখানে নেভিগেট করুন। তারপর OR-Tools কম্পাইল করতে নিম্নলিখিত কমান্ডটি প্রবেশ করান:

cmake --build build --config Release --target ALL_BUILD -j -v

বিস্তারিত জানার জন্য CMake ডকুমেন্টেশন চেকআউট করুন.

সোর্স কোড পরীক্ষা করুন

আপনি প্রবেশ করে সবকিছু সঠিকভাবে চলছে কিনা তা পরীক্ষা করতে পারেন:

cmake --build build --config Release --target RUN_TESTS -v

এটি OR-Tools-এর উদাহরণ চালায়। যদি সমস্ত উদাহরণ সফলভাবে চালানো হয়, আপনি OR-Tools দিয়ে শুরু করতে প্রস্তুত।

বিল্ড ফাইল পরিষ্কার করা

আপনার যদি OR-Tools পুনরায় ইনস্টল করার প্রয়োজন হয়, কমান্ডটি:

rm -r build

সমস্ত সংকলিত নির্ভরতা মুছে ফেলবে। এটি একটি পরিষ্কার অবস্থায় পুনরায় সেট করার জন্য দরকারী হতে পারে।

তারপর কমান্ডগুলি পুনরায় লিখুন:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_JAVA=ON

cmake --build build --config Release --target ALL_BUILD -j -v

আপনার অপারেটিং সিস্টেমে OR-Tools ইনস্টল করা হচ্ছে

আপনি প্রবেশ করে আপনার অপারেটিং সিস্টেমে জাভার জন্য OR-Tools ইনস্টল করতে পারেন:

cmake --build build --config Release --target install -v