দূরবর্তী লিনাক্স মেশিনে সি ++ সংকলন - "ক্লক স্কিউ সনাক্ত" সতর্কতা


168

আমি আমার বিশ্ববিদ্যালয়ের ছোট লিনাক্স ক্লাস্টারের সাথে পুটিটিওয়াই এবং উইনসিসিপি এর মাধ্যমে সংযুক্ত রয়েছি, পরেগুলির সাহায্যে ফাইলগুলি স্থানান্তর করে এবং এগুলি পূর্বের সাথে সংকলন এবং চালনা করছি। আমার এ পর্যন্ত কাজটি বিশ্ববিদ্যালয়ের ল্যাবগুলিতে করা হয়েছে তবে আজ আমি ঘরে বসে এমন কিছু কাজ করছি যা একটি আকর্ষণীয় সতর্কতা তৈরি করেছিল।

আমি স্টাফের পুরো ফোল্ডারটি আপলোড করেছি এবং makeকমান্ডটি চালানোর পরে , আমি এটিকে আউটপুটের শেষ লাইন হিসাবে পেয়েছি:

করা: সতর্কতা: ঘড়ির স্কিউ সনাক্ত হয়েছে। তেমার নির্মান অসম্পূর্ণ হতে পারে.

ফলস্বরূপ বাইনারি সঠিকভাবে কাজ করে এবং বিল্ড প্রক্রিয়াতে অন্য কোনও অপ্রত্যাশিত ত্রুটি বলে মনে হয় না।

আমি মনে করি কিছু নতুন / প্রতিস্থাপন ফাইলগুলি আপলোড করার পরে বিল্ডিংয়ের মাধ্যমে ত্রুটিটি ট্রিগার করতে সক্ষম হয়েছি (আমি স্থানীয়ভাবে সমস্ত কিছু সম্পাদনা করি তবে নতুন সংস্করণটি আপলোড করি), তাই আমি ভাবছি যে এটি কোনও মিল নেই ফাইল পরিবর্তনের সময়গুলির মতোই সাধারণ? বা আরও কিছু সম্পর্কে?

তাহলে, আমার কি চিন্তিত হওয়া উচিত? আমি কীভাবে এটি সংশোধন / প্রতিরোধ করব?


ঘড়ির পার্থক্য একটি সম্ভাবনা, যেমন উত্তরের কয়েকটি হিসাবে উল্লেখ করা হয়েছে। আপনি অনুলিপি করার আগে এবং পরে উত্স ফাইলগুলির সংশোধন সময়ের সাথে তুলনা করতে পারেন - আপনি দেখতে পাবেন যে দুটি ওএস / ফাইল সিস্টেমগুলি দিবালোকের সঞ্চয়কে আলাদাভাবে চিকিত্সা করার কারণে সেগুলি এক ঘন্টা আলাদা different
স্টিভ জেসোপ

একটি শেষ পরামর্শ: আমার কাছে কোনও উইন্ডোজ মেশিন নেই তাই আমি পিটিটিওয়াই এবং উইনসিসিপির দক্ষতার সাথে পরিচিত নই, তবে প্রায়শই ফাইল ট্রান্সফার সরঞ্জামগুলিতে এমন বিকল্প রয়েছে যা আপনাকে পরিবর্তিত সময়টি সংরক্ষণ করা আছে কিনা তা নিয়ন্ত্রণ করতে দেয়। আপনার মোডের সময়গুলি অবশ্যই স্পষ্টভাবে সংরক্ষিত আছে, তবে আপনি যদি এটিগুলি বন্ধ করতে পারেন তবে ফাইলগুলি আপনার সিস্টেমে অনুলিপি করা হলে তারা আপনার সিস্টেম ঘড়ির দ্বারা সেট করা মোড সময় ব্যবহার করবে, দূরবর্তী সিস্টেমের ঘড়ি নয়।
ম্যাডসায়েন্টিস্ট

উত্তর:


206

এই বার্তাটি সাধারণত একটি ইঙ্গিত দেয় যে আপনার কিছু ফাইলের বর্তমান সিস্টেম সময়ের চেয়ে বেশ কয়েকটি সময়ের পরে পরিবর্তন হয়েছে। যেহেতু makeকোনও উত্স ফাইলের তুলনায় কোনও উত্স ফাইলগুলি আরও সম্প্রতি সংশোধন করা হয়েছে কিনা তা পরীক্ষা করে একটি ইনক্রিমেন্টাল বিল্ড সম্পাদন করার সময় কোন ফাইলগুলি সংকলন করতে হবে তা সিদ্ধান্ত নেয়, এই অবস্থার ফলে অপ্রয়োজনীয় ফাইলগুলি নির্মিত বা খারাপ ফাইলগুলি প্রয়োজনীয় ফাইলগুলি না তৈরি হতে পারে।

তবে, আপনি যদি স্ক্র্যাচ থেকে তৈরি করছেন (একটি ইনক্রিমেন্টাল বিল্ড না করে) আপনি সম্ভবত এই সতর্কতাটিকে কোনও পরিণতি ছাড়াই উপেক্ষা করতে পারেন।


4
দেখে মনে হচ্ছে এই ক্লাস্টারের একটি সময় আছে my 3 মিনিট আমার ডেস্কটপের পিছনে , সুতরাং ফাইলগুলি "ভবিষ্যতে" পরিবর্তিত হওয়ার সম্ভাব্য কারণ বলে মনে হচ্ছে। কোনও বিল্ড চালানোর আগে কোনও আপলোড করার পরে 5 মিনিট অপেক্ষা করার জন্য সবচেয়ে নিরাপদ বাজিটি কি? আমি বরং অপেক্ষা করতে হবে না, সুতরাং সমস্যাটি এড়াতে কোনও আপলোডকৃত "ভবিষ্যত" ফাইলের সময় পুনরায় সেট করার কোনও উপায় আছে কি?
DMA57361

14
@ ডিএমএ ৫7361 :১: touch *বর্তমান সময়কে মাইটাইম আপডেট করবে। বিকল্পভাবে আপনি আপনার ডেস্কটপে এনটিপিকে আপনার ঘড়িটি সিঙ্ক করতে সক্ষম করতে পারেন (ধরে নিচ্ছেন এটি আপনার ডেস্কটপটি ভুল, এবং ইউনির মেশিনটি নয় ... যদি পরবর্তীকালে, সম্ভবত সিসাডমিনদের এটি ঠিক করতে বলুন?)
ক্যাফে

2
এর জন্য ধন্যবাদ, touch *এটি আপাতত, এবং আমি দেখতে পাচ্ছি যে আমি কোনটি ভুল তা খুঁজে পেতে পারি এবং পরের বার সাইটে সাইটে অ্যাডমিন লোকের সাথে একটি শব্দ থাকতে পারে।
DMA57361

1
আমার ক্ষেত্রে আমার পুনরাবৃত্তির স্পর্শ প্রয়োজন:find . -exec touch {} \;
এমএস

8
অ্যারনস এর মতো কমান্ডের জন্য touchএকাধিক ফাইলকে কাজ করতে স্বীকৃতি দিতে পারে, আপনি এটি আরও দক্ষতার সাথে করতে পারবেন find . -exec touch {} +যা touchদিয়ে যতটা সম্ভব যুক্তি উপস্থাপন করা হবে।
ভিক্টর ডাহল

56

সাধারণত এনএফএস মাউন্ট করা ডিরেক্টরিতে বিল্ডিংয়ের সময় এটি ঘটে এবং ক্লায়েন্ট এবং এনএফএস সার্ভারের ঘড়িগুলি সিঙ্কের বাইরে চলে যায়।

সমাধানটি হ'ল এনএফএস সার্ভার এবং সমস্ত ক্লায়েন্ট উভয়েই একটি এনটিপি ক্লায়েন্ট চালানো।


1
আমি কোনও এনএফএস মাউন্টড ডিয়ার তৈরি করছি না।
কিংসমার 1

আপনি যদি এই জাতীয় সতর্কবার্তাটি দমন করার জন্য কিছু টিপস দিতে পারেন তবে আমাকে জানতে দিন, কারণ এটি কার্যকরভাবে কার্যকর করা বা ফলাফলগুলিতে কোনও পার্থক্য করে না।
কিংমশার 1

@ কিংমাসের 1: জড়িত সমস্ত মেশিনে একটি এনটিপি ক্লায়েন্ট চালান।
জান্নেব

আমি স্রেফ আমার লক্ষ্য যাচাই করেছিলাম। তারিখটি সেট করা হয়নি। কীভাবে এখানে এনটিপি চালানো যায় তা সম্পর্কে আমি নিশ্চিত নই। এটা ঠিক আছে, আমি যদি তারিখ আপডেট করি? আমার নির্মিত x86 যেখানে আমি নির্মাণ করি তা বর্তমান তারিখটিতে সেট করা থাকে তবে আমার লক্ষ্য (যেখানে আমি মৃত্যুদন্ড কার্যকর করি) এর তারিখটি সোমের 1970 এর রয়েছে's
কিংমশার 1

1
সমস্যাটি বাছাই করা হয়। আমি আমার টার্গেটের তারিখটি বর্তমান তারিখে পরিবর্তন করেছি এবং সতর্কতাটি নিখোঁজ হয়ে গেছে। সুতরাং সমস্যাটি হ'ল: টার্গেটের তারিখ যদি এক্সিকিউটেবলের তারিখের চেয়ে পিছনের তারিখ হয় তবে সমস্যাটি ঘটে।
কিংমশার 1

22

নেটওয়ার্ক টাইম প্রোটোকল ইনস্টল করুন

makeএকটি সার্ভারে সাম্বা এসএমবি সিআইএফএস ভাগ করে নেওয়ার সময় আমারও এটি ঘটেছিল । একটি টেকসই সমাধান ntpসার্ভার এবং ক্লায়েন্ট উভয়ই ডিমন ইনস্টল করে । (দয়া করে নোট করুন যে দৌড়ানোর মাধ্যমে এই সমস্যাটির সমাধান হচ্ছে নাntpdate This এটি সময়ের পার্থক্য কেবল সাময়িকভাবে সমাধান করবে, তবে ভবিষ্যতে নয়))

উবুন্টু এবং ডেবিয়ান থেকে প্রাপ্ত সিস্টেমগুলির জন্য, কমান্ড লাইনে কেবল নিম্নলিখিত লাইনটি টাইপ করুন:

$ sudo apt install ntp

তবুও, touch *একবারে এবং একবারের জন্য একবারে ফাইল পরিবর্তনের সময় সংশোধন করার জন্য আক্রান্ত ডিরেক্টরিটিতে একবার (এবং কেবল একবার) কমান্ডটি জারি করা প্রয়োজন ।

$ touch *

ntpএবং এর মধ্যে পার্থক্য সম্পর্কে আরও তথ্যের জন্য ntpdate, দয়া করে দেখুন:



6

লিনাক্স কিউশনস.আরজে m9dhatter অনুসারে :

"মেক" ফাইলটি সংকলনের চেষ্টা করছে এটি ফাইলটি পুরানো বা নতুন কিনা তা নির্ধারণ করতে টাইমের স্ট্যাম্প ব্যবহার করে। যদি আপনার ঘড়িটি বোনাক হয় তবে এটি সংকলন করতে সমস্যা হতে পারে।

আপনি যদি কয়েক মিনিটের সামনে একটি ঘড়ির সময় নিয়ে অন্য মেশিনে ফাইলগুলি সংশোধন করার চেষ্টা করেন এবং সেগুলি আপনার মেশিনে স্থানান্তর করেন এবং তারপরে সংকলনের চেষ্টা করেন তবে এটি একটি সতর্কতা কাশি হতে পারে যা বলেছিল যে ভবিষ্যতে ফাইলটি সংশোধিত হয়েছিল। ঘড়িটি স্কিউড হতে পারে বা সেই প্রভাবের কিছু হতে পারে (সত্যিই মনে রাখা যায় না)। আপনি কেবল আপত্তিজনক ফাইলটি বন্ধ করে দিতে পারেন এবং এটি করতে পারেন:

# টিউচ <আপত্তিজনক ফাইলের ফাইলের নাম>


6

এখানে অন্যান্য উত্তরগুলি সমস্যাটি ব্যাখ্যা করার জন্য ভাল কাজ করে, তাই আমি এখানে এটি পুনরাবৃত্তি করব না। তবে এর মধ্যে একটি সমাধান রয়েছে যা এটি সমাধান করতে পারে যা এখনও তালিকাভুক্ত নয়: কেবল চালান make clean, তারপরে পুনরায় চালু করুন make

ইতিমধ্যে সংকলিত যে কোনও ফাইল অপসারণ করা সতর্কবার্তাটি সমাধান করে, টাইমস্ট্যাম্পগুলির তুলনা করার জন্য কোনও ফাইল থাকা থেকে বিরত রাখবে।


এটি একটি আসল সমাধান নয়: যদি সংকলকটির সবকিছু সংকলনের জন্য 30 মিনিটের প্রয়োজন হয় এবং আমি একটি একক ফাইলে কাজ করি (যেখানে বিল্ডটি কেবল 2 সেকেন্ডের প্রয়োজন হয়) আমি কোনও একক অংশে পরিবর্তন আনতে সারা দিন নষ্ট করতে যাচ্ছি বিশাল গ্রন্থাগার রাইট? তবে হ্যাঁ, আপনার সাথে make cleanসমস্যাগুলি সমাধান করা হবে (অন্যকে তৈরি করে)।
Leos313

@ Leos313 আমি কেবল আমার জন্য যা কাজ করেছি তা ভাগ করছি। আমি একটি স্কুল নেটওয়ার্কে এটির মুখোমুখি হয়েছি যে আমার কাছে রুট অনুমতি নেই তাই আমি এনটিপি সেট আপ করতে পারিনি, এবং কেবলমাত্র touchসমস্ত ফাইল ব্যবহার করে সংকলনের ফলাফলগুলিতে আমি বিশ্বাস করি না । আপনি ঠিক বলেছেন যে এটির জন্য একটি পুরো পুনঃনির্মাণের প্রয়োজন হবে, তবে সেই সময়ের উপযুক্ত কিনা তা আপনার অগ্রাধিকার এবং প্রকল্পের আকারের উপর নির্ভর করে পৃথক হবে। আমি এটি "সত্যিকারের সমাধান নয়" বলে সঠিক বলে মনে করি না কারণ এটি সেরা নয় বা কিছু ত্রুটি রয়েছে। এটি সমস্যার সমাধান করবে; আমার কাছে সমাধানের মতো শোনাচ্ছে।
skrrgwasme

আমি ভোট দিয়েছি না :) এটি অন্যকে তৈরি করে সমস্যার সমাধান করে। এর চেয়ে বেশি কিছু না! :) নিশ্চিতভাবেই উত্তরটি বেশিরভাগ পরিস্থিতিতে সহায়তা করবে এবং এটি এখানে থাকা মূল্যবান! আমি যে বিষয়টি নিম্নরেখাঙ্কিত করতে চাই এবং মাঝে মাঝে সতর্কতার সাথে দৌড়ানোর চেয়ে থাকাই ভালmake clean
Leos313

4

অতীতে আমার এটি ছিল - মেশিনগুলিতে ঘড়ি থাকার কারণে। এনটিপি স্থাপনের বিষয়টি বিবেচনা করুন যাতে সমস্ত মেশিনের একই সময় থাকে।


2

এটি সাধারণত আপনার হোস্ট এবং ক্লায়েন্ট মেশিনের মধ্যে মেলে না এমন সময় কারণে। আপনি এনটিপি ব্যবহার করে আপনার মেশিনে সময়গুলি সিঙ্ক্রোনাইজ করার চেষ্টা করতে পারেন ।


1

সমাধানটি হ'ল এনটিপি ক্লায়েন্ট চালানো, নীচের মত কমান্ডটি চালানো

#ntpdate 172.16.12.100

172.16.12.100 হল এনটিপি সার্ভার


2
স্ট্যাক ওভারফ্লোতে স্বাগতম! আপনার পোস্টের জন্য ধন্যবাদ! দয়া করে আপনার পোস্টগুলিতে স্বাক্ষর / ট্যাগলাইন ব্যবহার করবেন না। আপনার ব্যবহারকারীর বাক্সটি আপনার স্বাক্ষর হিসাবে গণ্য হয়েছে এবং আপনি নিজের প্রোফাইল সম্পর্কে নিজের পছন্দমতো কোনও তথ্য পোস্ট করতে ব্যবহার করতে পারেন। স্বাক্ষর / ট্যাগলাইন সম্পর্কিত FAQ
অ্যান্ড্রু বার্বার

ব্যবহার ntpdateকরা কেবল একটি বন্ধ সংশোধন। ntpএকটি টেকসই সমাধান পেতে সার্ভার এবং ক্লায়েন্ট উভয়ই ইনস্টল করা ভাল ।
সার্জ স্ট্রোব্যান্ড ২

1

আপনার কম্পিউটারে ঘড়ির ব্যাটারি প্রতিস্থাপন করুন। যখন আমি মাদারবোর্ডে মুদ্রা দেখানো ব্যাটারি প্রতিস্থাপনের প্রয়োজন ছিল তখন আমি এই ত্রুটি বার্তাটি দেখেছি।


1

(কেবলমাত্র কেউ এখানে অবতরণ করলে) আপনার যদি sudo অধিকার থাকে তবে একটি বিকল্প হ'ল সিস্টেম সময় সিঙ্ক্রোনাইজ করা

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

-1

সংকলনের ফলাফল, উদাহরণস্বরূপ somefile.o, উত্সের চেয়ে পুরনো, যেমন somefile.c আছে কিনা তা পরীক্ষা করে দেখুন। উপরের সতর্কতার অর্থ এই যে ফাইলগুলির টাইমস্ট্যাপগুলি সম্পর্কে কিছু অদ্ভুত। সম্ভবত বিশ্ববিদ্যালয়ের সার্ভারের সিস্টেম ঘড়িগুলি আপনার ঘড়ির থেকে পৃথক এবং আপনি উদাহরণস্বরূপ তারিখের দুপুর ২ টায় একটি ফাইলটি সংশোধন তারিখের সাথে চাপ দিন। তারিখটি টাইপ করে আপনি কনসোলে সময়টি দেখতে পারেন।


-3

এটা আমার সাথে ঘটেছিল। এটি কারণ আমি দৌড়েছি make -j 4এবং কিছু কাজ ক্রমশ শেষ হয়েছে। -jবিকল্পটি ব্যবহার করার সময় এই সতর্কতাটি আশা করা উচিত ।


5
অর্ডারের বাইরে কাজ ঠিক আছে। এর অর্থ এই নয় যে তাদের পরিবর্তনের সময়টি ভবিষ্যতে হওয়া উচিত।
ক্লিমকিন

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