লিনাক্স বিদ্যমান ফাইল খুঁজে পায় না


9

আমি গুগলের ডার্ট ভাষাটি চালু এবং চলমান করার চেষ্টা করছি তবে dart2js চালানোর সময় এটির ত্রুটি রয়েছে। আমি আর্চ লিনাক্স চালাচ্ছি এবং আমি এওআর থেকে ডার্ট-এসডিকে ইনস্টল করেছি । কিছু প্রাসঙ্গিক টার্মিনাল আউটপুট নীচে রয়েছে।

% dart2js main.dart   
/usr/local/bin/dart2js: line 7: /usr/local/bin/dart: No such file or directory

% cat /usr/local/bin/dart2js
#!/bin/sh
# Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

BIN_DIR=`dirname $0`
exec $BIN_DIR/dart --allow_string_plus=false $BIN_DIR/../lib/dart2js/lib/compiler/implementation/dart2js.dart "$@"

% file /usr/local/bin/dart                                                                                          
/usr/local/bin/dart: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.6.15,
BuildID[sha1]=0x27fe166ca015c1adfeaf3a6f9c018e7d7af46d9f, stripped

% ls -alh /usr/local/bin
total 4.9M
drwxr-xr-x  2 root root 4.0K Jun 10 22:51 .
drwxr-xr-x 12 root root 4.0K Jun 10 22:51 ..
-rwxr-xr-x  1 root root 422K May 10 22:41 cargo
-rwxr-xr-x  1 root root 2.7M Jun 10 22:50 dart
-rwxr-xr-x  1 root root  360 Jun  6 16:20 dart2js
-rwxr-xr-x  1 root root  176 Jun  6 16:20 pub
-rwxr-xr-x  1 root root 166K May 10 22:41 rustc
-rwxr-xr-x  1 root root 1.6M May 10 22:41 rustdoc

% uname -rm
3.3.7-1-ARCH x86_64

এটি কি কারণ আমি একটি 64 বিবিটি ওএস চালাচ্ছি এবং ডার্ট বাইনারি 32 বিট?

উত্তর:


19

একটি ELF কার্যকর করতে বাইনারি লিনাক্সকে এমন একটি প্রোগ্রাম শুরু করতে হবে যা ELF ডিকোড করে, ডায়নামিক লাইব্রেরিগুলি লোড করে ইত্যাদি এই প্রোগ্রামটিকে প্রোগ্রাম ইন্টারপ্রেটার বলা হয় । প্রোগ্রাম ইন্টারপ্রেটারের নাম এবং পুরো পথটি ইএলএফতেই লেখা আছে

এই ক্ষেত্রে

 $ file /usr/bin/cheese 
 /usr/bin/cheese: ELF 32-bit LSB executable, Intel 80386

 $ readelf -l /usr/bin/cheese  
 Elf file type is EXEC (Executable file)
 ...
 Program Headers:
 ...
 INTERP         0x000154 0x08048154 0x08048154 0x00013 0x00013 R   0x1
  [Requesting program interpreter: /lib/ld-linux.so.2]
 ...

যদি ইএলএফ দ্বারা অনুরোধ করা প্রোগ্রাম দোভাষীর সন্ধান না পাওয়া যায় তবে BASH ফাইলটি ত্রুটি খুঁজে পাওয়া যায় না এবং "এই জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই" বলে প্রতিবেদন করে।

যেমন @ পোয়েজ উপরে বলেছে, 32-বিট অ্যাপ্লিকেশন চালানোর জন্য আপনার বেসিক সমর্থন ইনস্টল করতে হবে।


4

হ্যাঁ, আর্চ x86_64 ডিফল্টরূপে 32-বিট অ্যাপ্লিকেশন সমর্থন নিয়ে আসে না। এটা দেখ:

«… আমি কি আর্চ 64 এর মধ্যে 32-বিট অ্যাপ্লিকেশন চালাতে পারি? […] আপনি মাল্টিলেব সংগ্রহস্থল থেকে লাইব্রেরিগুলি ইনস্টল করতে পারেন… can

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