আমি কীভাবে ডিস্টিসি ইনস্টল করব?


10

আমি পড়েছি ক্রস-সংকলনের জন্য কীভাবে একটি জিসিসি 4.7 সরঞ্জামচেন তৈরি করবেন? এবং সফলভাবে একটি সাধারণ পরীক্ষা প্রোগ্রাম তৈরি করেছে যা আমার আরপিআই-তে কাজ করে।

এটি করতে, আমাকে arm-unknown-linux-gnueabi-gcc hello.c -o helloআমার এক্স 86 ডেস্কটপে চালাতে হয়েছিল এবং scpআমার আরপিআইতে এক্সিকিউটেবল। এটি ধীর এবং একটি ঝামেলা। আমি বরং আমার আরপিআই থেকে সংকলনটি নিয়ন্ত্রণ করব।

আমি পড়েছি distcc, যা একটি মেশিন থেকে অন্য মেশিনে সংকলন বিতরণ করতে ব্যবহার করা যেতে পারে।

আমি কীভাবে এটি ইনস্টল করব? আমার উভয়ই ডেবিয়ান / উবুন্টু এবং আর্ক লিনাক্স ডেস্কটপ এবং এসডি কার্ডে উভয় ওএস ইনস্টল করা আছে।


আমি কারও জন্য অপেক্ষা করছিলাম যিনি এই প্রশ্নটি পোস্ট করবেন না me আমি সত্যিই এটি করতে চাইনি। চমৎকার কাজ.
জিভিংস

export DISTCC_VERBOSE=1এর জন্য ধন্যবাদ ! এটিই আমি আমার ডিস্টিসি সরঞ্জাম সরঞ্জামটি ডিবাগ করার জন্য যা খুঁজছি

উত্তর:


12

এই নির্দেশাবলী ধরে নিয়েছে যে আপনি ক্রীতদাসের উপর একটি ক্রস-সংকলক রয়েছেন। দয়া করে পড়ুন কিভাবে ক্রস-সংকলনের জন্য একটি জিসিসি 4.7 সরঞ্জামচেন তৈরি করবেন? আপনি না থাকলে। এটি makeমাস্টারে ইনস্টল করাও দরকারী ।

স্থাপন

প্রথমত, আমাদের অবশ্যই ইনস্টল করা উচিত distcc। অপারেটিং সিস্টেমের প্যাকেজ ম্যানেজমেন্ট সিস্টেমগুলির দ্বারা সরবরাহিত প্রি বিল্ট প্যাকেজগুলি আমরা ব্যবহার করব, তবে আপনি যদি চান তবে উত্স থেকে ইনস্টল করতে পারেন!

ডেবিয়ান

sudo apt-get install distcc

খিলান

sudo pacman -S distcc

কনফিগারেশন

স্লেভ - দেবিয়ান / উবুন্টু

টোডো: এটি কি আর্কের জন্য একই? যদি তা না হয় তবে আমরা কীভাবে আর্চ কনফিগার করব?

আমাদের সেটিংসটি এডজাস্ট করতে হবে /etc/default/distcc। আপনার প্রিয় সম্পাদকটিতে এটিকে মূল হিসাবে খুলুন; আমি দৌড়ে গেলাম sudo vim /etc/default/distcc

আপনার পরিবর্তন করা দরকার STARTDISTCC, ALLOWEDNETSএবং LISTENER। ধরে নিই যে আপনার মাস্টার এবং স্লেভ একই সাবনেটে আছেন এবং সেই সাবনেট রয়েছে 192.168.0.0/24, সেগুলি সেট করা উচিত

STARTDISTCC="true"
ALLOWEDNETS="192.168.0.0/24"
LISTENER="0.0.0.0"

তদুপরি, আপনার সংকলকটিতে আপনার পথটি যুক্ত করা উচিত। আমি নিম্নলিখিত লাইনটি যুক্ত করে এটি করেছি

PATH=$PATH:/home/alex/x-tools/arm-unknown-linux-gnueabi/bin

দ্রষ্টব্য দাসের ডিমনটি distccdব্যবহারকারী হিসাবে চলবে , সুতরাং আপনার নির্বাহযোগ্যদের উপর যথাযথ অনুমতিগুলি কনফিগার করা আছে তা নিশ্চিত করুন; আমি সবাইকে ফাঁসি দেওয়ার অনুমতি দিয়েছি।

ডেমন চালান - এটি সাধারণত বুটে শুরু করা হত - চালিয়ে

sudo service distcc start

মাস্টার - খিলান

টোডো: এটি কি দেবিয়ানদের জন্য একই? যদি তা না হয় তবে আমরা কীভাবে দেবিয়ানকে কনফিগার করব?

~/.distcc/hostsআপনার প্রিয় পাঠ্য সম্পাদকটিতে খুলুন এবং স্লেভের আইপি ঠিকানা যুক্ত করুন। আমার hostsফাইলটিতে একটি একক লাইন রয়েছে, যা পড়ে 192.168.0.22

দ্রষ্টব্য আপনার ক্রীতদাসের জন্য একটি স্থির আইপি ঠিকানা বরাদ্দ করা ভাল ধারণা হতে পারে, অন্যথায় আইপি ঠিকানা পরিবর্তন হলে আপনাকে এই ফাইলটি পরিবর্তন করতে হবে।

ব্যবহার

সব ঠিকঠাক চলছে, আপনার খুব সহজেই ডিস্টিসি ব্যবহার করতে সক্ষম হওয়া উচিত। উদাহরণস্বরূপ, কম্পাইল hello.cকরতে hello.o, চালান

distcc arm-unknown-linux-gnueabi-gcc    -c -o hello.o hello.c

উদাহরণ: হ্যালো ওয়ার্ল্ড!

আমি আমার হোম ডিরেক্টরিতে একটি সাধারণ উদাহরণ স্থাপন করেছি, এতে 2 টি ফাইল রয়েছে।

# file: Makefile
hello.o: hello.c
hello: hello.o

# file: hello.c
#include <stdio.h>

int main() {
  printf("Hello World!\n");
  return 0;
}

চলমান make helloস্থানীয়ভাবে সংকলন করা হবে; আপনার প্রথমে দ্রুত পরীক্ষা হিসাবে এটি করা উচিত। যাও, আমি অপেক্ষা করব।

চলমান make hello CC="distcc arm-unknown-linux-gnueabi-gcc"একটি বিতরণ সংকলন চালাবে।

দ্রষ্টব্য প্রিপ্রসেসিং এবং লিঙ্কিংটি আরপিআইতে এখনও ঘটে।

ডিবাগ

এটি সঠিকভাবে কাজ করতে আমার কিছুটা সময় লেগেছে, এবং আমি খুঁজে পেয়েছি সেরা ডিবাগিং সরঞ্জামটি ছিল একটি সাধারণ পরিবেশের পরিবর্তনশীল। আপনি যদি

export DISTCC_VERBOSE=1

distccদরকারী তথ্য ক্লায়েন্ট ইচ্ছা আউটপুট লোড।

এটি একটি দীর্ঘ পোস্ট, তাই কোনও প্রতিক্রিয়া কৃতজ্ঞতার সাথে গ্রহণ করা হবে। আমি আশা করি আমি সমস্ত পদক্ষেপের কথা মনে রেখেছি!


দুর্দান্ত উত্তর। আমি আমার আরপিআই উন্নয়নের জন্য এটি বুকমার্ক করতে যাচ্ছি।
জিভিংস

@ অ্যালেক্সচাম্বারলাইন ডিস্টিসিই এখন "পাম্প মোড" সমর্থন করে যা এটি প্রিপ্রসেসিং বিতরণও করতে দেয়।
teraquendya

@teraquendya তারা সত্যিই করছে, আমি এখনও এ সম্পর্কে বিস্তারিত পোস্ট করতে পারেনি। আমি নিশ্চিত করতে চাই যে আমি প্রথমে পাম্প মোড ছাড়াই সবকিছু পেয়েছি।
অ্যালেক্স চেম্বারলাইন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.