AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 397444
Accepted
Joe
Joe
Asked: 2012-06-11 19:14:33 +0800 CST2012-06-11 19:14:33 +0800 CST 2012-06-11 19:14:33 +0800 CST

Linux 找不到存在的文件

  • 772

我正在尝试启动并运行 Google 的 Dart 语言,但在运行 dart2js 时出错。我正在运行 Arch linux 并从 AUR安装了dart-sdk 。下面是一些相关的终端输出。

% 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 位操作系统,而 dart 二进制文件是 32 位的吗?

64-bit arch-linux
  • 2 2 个回答
  • 3786 Views

2 个回答

  • Voted
  1. Best Answer
    Dmitri Chubarov
    2012-06-11T19:42:29+08:002012-06-11T19:42:29+08:00

    为了执行 ELF 二进制文件,linux 需要启动一个程序来解码 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]
     ...
    

    如果没有找到 ELF 请求的程序解释器,BASH 会收到文件未找到错误并报告“没有这样的文件或目录”。

    正如@poige 上面所说,您需要安装运行 32 位应用程序的基本支持。

    • 19
  2. poige
    2012-06-11T19:30:45+08:002012-06-11T19:30:45+08:00

    是的,Arch x86_64 默认不支持 32 位应用程序。看到这个:

    «...我可以在 Arch64 中运行 32 位应用程序吗?[…] 您可以从 multilib 存储库安装 lib32-* 库…»

    • 4

相关问题

  • 从 Fedora 迁移到 XP 64 位的文件系统功能丢失,DroboPro 不支持 linux :(

  • 是否有带有 SQL Server 2008 64 位的 64 位版本的 SSMS 和 BIDS?

  • OpenSSH 打不开 known_hosts 和 id_rsa,但是文件明显可以访问

  • 在 Windows XP 64 上运行多个网站

  • 适用于 Windows 的 64 位 Web 浏览器?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve