বাশ: ./filename: বাইনারি ফাইল চালানো যায় না


37

আমি উবুন্টু ১১.১০ ৩২ বিট-তে একটি ফরট্রান সংকলিত কোড সম্পাদন করতে পারিনি।

ত্রুটি বার্তাটি হ'ল

bash: ./filename : Cannot execute binary file.

আমি জিসিসি এবং গফর্ট্রন গ্রন্থাগারগুলিও ইনস্টল করেছি।

কেউ সাহায্য করতে পারে?

$ file um
um: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped 

6
file filenameফলাফল টাইপ করুন এবং রিপোর্ট করুন।
জানুয়ারী

ফাইলের নাম um.exe এবং ফলাফলের ব্যাশ হল: ./um সম্পন্ন করতে না পারা বাইনারি ফাইল
user87654

2
এটি কোনও দেশীয় লিনাক্স প্রোগ্রামের মতো দেখাচ্ছে না। ওয়াইন ব্যবহার করার চেষ্টা করুন।
লেকেনস্টেইন

এই এক্সিকিউটেবল একটি মেক ফাইল ব্যবহার করে সংকলিত হয় যা ফরট্রান কোডগুলির একটি সেট সংকলন করে। এই
ইডিপ

1
দয়া করে টাইপ করুন file um.exeবা file um(যেটি আপনার বাইনারি ফাইলের নাম)। তবে সম্ভবত উত্পাদিত বাইনারিগুলি এক কারণে বা অন্য উইন্ডোজ বাইনারিগুলির জন্য। এছাড়াও, যদি প্রোগ্রামটি সর্বজনীন হয় তবে আপনি সূত্রের লিঙ্কটি পোস্ট করতে পারেন। বা কেবল এখানে মেকফিল পোস্ট করুন।
জানুয়ারী

উত্তর:


38

আপনি file umযে মন্তব্যটিতে পোস্ট করেছেন তার আউটপুট থেকে আপনি দেখতে পাচ্ছেন , আপনার বাইনারিটি একটি 64-বিট বাইনারি।

32 বিট সিস্টেমগুলি 64 বিট বাইনারিগুলি চালাতে পারে না, এটি কেবল অন্যান্য উপায়ে কাজ করে।


3
এটি এই সমস্যার জন্য আমি সবচেয়ে সাধারণ কারণ দেখেছি এটি ব্যবহার করে fileএটি খুব দ্রুত সনাক্ত করতে পারে।
মাইকব্যাকক

তাহলে এর কোন সমাধান নেই?
জনমারলিনো

@ জনমারলিনো হয় হয় সঠিক নির্দেশিকা সেট এবং এমন একটি ওএস সরবরাহ করে যা এটি সক্ষম করে (এএমডি 64 হার্ডওয়্যার এবং এএমডি 64 প্রোগ্রামের জন্য ওএস)। বা এটি অনুকরণ / অনুকরণ / ভার্চুয়ালাইজ করুন (ভার্চুয়াল বক্স / জেভিএম / ...) বা আপনার নির্দেশের সেটটির জন্য একটি সংস্করণ পান। দেশীয় প্রোগ্রাম হিসাবে সেট করা অন্যান্য নির্দেশের জন্য আপনি সফ্টওয়্যার চালনা করতে পারবেন না।
12431234123412341234123

3

ফাইলটি কার্যকর করার চেষ্টা করুন

chmod +x um.exe

তারপরে এটি চালানোর চেষ্টা করুন

./um.exe

তবে এটি যদি উইন্ডোজের জন্য সংকলিত একটি এক্সি ফাইল হয় তবে আপনার সম্ভবত ওয়াইন ইনস্টল করা দরকার।


3

তুলনামূলক বিটগুলির অংশ ব্যতীত যাদের এই সমস্যা রয়েছে তাদের জন্য আরেকটি সমাধান হ'ল "বাশ" কমান্ড ব্যতীত ফাইলটি চালানো।

কেবল ব্যবহার করুন chmod +x 'path to the file'এবং তারপরে 'the path to the file'টার্মিনালে চালান his এইভাবেই আমি আমার সমস্যার সমাধান করেছি।


0

এই ত্রুটির আর একটি সম্ভাব্য উত্স: একটি ম্যাকের উপর এক্সিকিউটেবল লিনাক্স বাইনারি চালানোর চেষ্টা করা বা তার বিপরীতে।

উদাহরণস্বরূপ, trueএকটি উবুন্টু বাক্সে আমার ম্যাক থেকে বাইনারি চালানোর চেষ্টা করছি যা আমি এটিতে এসসিপি করেছি:

$ ./mactrue 
-bash: ./mactrue: cannot execute binary file: Exec format error

আপনি যদি বাইনারি ডাউনলোড করে থাকেন এবং এটি কার্যকর করতে এই ত্রুটিটি ব্যর্থ হয় তবে আপনি ভুল ওএসের জন্য সংস্করণ ডাউনলোড করেছেন কিনা তা পরীক্ষা করে দেখুন।


0

আমার জন্য, আমার ম্যাকের অ্যাপ্লিকেশনগুলিতে বাইনারিটি অনুলিপি করে আমার পঠন করে তা আমার ম্যাকের সাথে বিভ্রান্ত করে। আমি নিশ্চিত যে অ্যাপ্লিকেশন ফোল্ডারটি বাইনারিটিকে প্রকৃত বাইনারি পরিবর্তে একটি আলিয়াসে পরিণত করেছিল।

-bash: /usr/local/bin/terraform: cannot execute binary file
mike$ file /usr/local/bin/terraform 
/usr/local/bin/terraform: MacOS Alias file

আমি আমার ডাউনলোডগুলি থেকে বাইনারিটি আবার আনজিপ করেছি এবং কেবল mvএটি আমার পথে এডিট করেছি এবং এটি দুর্দান্ত কাজ করেছে।

mike$ file /usr/local/bin/terraform
/usr/local/bin/terraform: Mach-O 64-bit executable x86_64
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.