আমি আমার লিংকসিস WRVS4400N এর জন্য ফার্মওয়্যারটি সংকলনের চেষ্টা করছি।
lsউপস্থিত রয়েছে তা দেখায় তবে এটি চালানোর চেষ্টা করলে বাশ বলে যে এটি বিদ্যমান নেই। আমি এটিও করতে catপারি, এবং এটি একটি এক্সিকিউটেবল, শেল স্ক্রিপ্ট নয়।
আমি আমার লিংকসিস WRVS4400N এর জন্য ফার্মওয়্যারটি সংকলনের চেষ্টা করছি।
lsউপস্থিত রয়েছে তা দেখায় তবে এটি চালানোর চেষ্টা করলে বাশ বলে যে এটি বিদ্যমান নেই। আমি এটিও করতে catপারি, এবং এটি একটি এক্সিকিউটেবল, শেল স্ক্রিপ্ট নয়।
উত্তর:
আপনি উল্লেখ করেছেন যে আউটপুট file mkdepহয় 32-bit elf। আপনি একটি 64-বিট ভিএম চালাচ্ছেন।
উদাহরণ:
$ uname -m
x86_64
$ ls -l ./example
-rwxr-xr-x 1 root root 92312 2011-08-18 16:52 ./example
$ file ./example
example: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
$ ./example
-bash: ./example: No such file or directory
কেবলমাত্র একটি নতুন 32-বিট ভিএম তৈরি করুন এবং এটি সেখানে সংকলন করুন।
এটি কার্যকর করা সেট করা আছে? যদি না হয়, তবে chmod +x filename। এটা কি তোমার পথের মধ্যে আছে? যদি তা না হয় তবে এটিকে ন্যায়বিচারের ./filenameচেয়ে কল করুন filename।
আপনি যখন কোনও ফাইল নির্বাহ করার চেষ্টা করেন এবং ব্যাশ বলেন যে এটি বিদ্যমান নেই কখনও কখনও এর অর্থ ব্যাশ বিশ্বাস করে যে ফাইলটি একটি স্ক্রিপ্ট এবং প্রথম লাইনে বর্ণিত দোভাষী (#!) এর অস্তিত্ব নেই।
ফাইলগুলির নাম দেওয়া থাকলে mkdepআমি আউটপুট পোস্ট করব
./mkdep
file mkdep
hd mkdep | head
strace ./mkdep 2>mkdep.strace.txt
স্ট্রেস কমান্ডটি সিস্টেম কলগুলি সম্পর্কে তথ্য strace ls 2>ls.tদেয় , উদাহরণস্বরূপ নিম্নলিখিতটি ls.t তে রাখে
এক্সিকিউট ("/ বিন / এলএস", ["এলএস"], [/ * 22 বছর * /]) = 0
brk (0) = 0x8061000
অ্যাক্সেস ("/ etc / ld.so.nohwcap", F_OK) = -1 উত্স (এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই)
এমএমএপি 2 (নুল, 8192, প্রোT_READ | PROT_WRITE, ম্যাপ_প্রাইভেট | এমএপি_অ্যানোনিমোস, -1, 0) = 0xb7f82000
অ্যাক্সেস ("/ etc / ld.so.preload", R_OK) = -1 উত্স (এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই)
("/ etc / ld.so.cache", O_RDONLY) খুলুন = 3
fstat64 (3, {st_mode = S_IFREG | 0644, st_size = 32311, ...}) = 0
এমএমএপ 2 (নুল, 32311, PROT_READ, এমএপি_প্রাইভেট, 3, 0) = 0xb7f7a000
বন্ধ (3) = 0
অ্যাক্সেস ("/ etc / ld.so.nohwcap", F_OK) = -1 উত্স (এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই)
খোলা ("/ lib / librt.so.1", O_RDONLY) = 3
পড়ুন (3, "\ 177ELF \ 1 \ 1 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 3 \ 0 \ 3 \ 0 \ 1 \ 0 \ 0 \ 0 \ 240 30 \ 0 \ 0004 \ 0 \ 0 \ 0 "..., 512) = 512
fstat64 (3, {st_mode = S_IFREG | 0644, st_size = 30624, ...}) = 0
strace ./mkdep 2>mkdep.strace.txtএটি আপনাকে কী চলছে সে সম্পর্কে কিছু ধারণা দেওয়া উচিত। আপনার সংগ্রহস্থলগুলি থেকে স্ট্রেস ইনস্টল করার প্রয়োজন হতে পারে।
আপনি কি আপনার স্ক্রিপ্টে আইএফএস পরিবর্তন করছেন? আমিও আমার স্ক্রিপ্টগুলির মধ্যে একটিতে একই সমস্যাটির মুখোমুখি হয়েছি এবং একইটি ভেবেছিলাম (32 বিট ফাইলটি 64 বিট মেশিনে শেল স্ক্রিপ্ট দ্বারা পঠিত হচ্ছে)। তবে আমার ক্ষেত্রে বিষয়টি ছিল না। পরিবর্তে, আমি আইএফএসকে কমাতে ',' এবং নতুন লাইনে ফিরিয়েছিলাম যা কোনওভাবে পার্সারকে বিভ্রান্ত করেছিল এবং এই ত্রুটি ঘটায়।
আমি কেবল আইএফএসের যে কোনও পরিবর্তন সরিয়েছি এবং এটি এখন ঠিক কাজ করে !!!