🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

4回答

1958閲覧

"/usr/bin/ld"を上書きしてしまった

mamiyasinzi

総合スコア13

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2019/10/01 06:15

/usr/bin/ldを上書きしてしまいました。

最初、postgreSQLを用いるプログラムをmakeしたところ

"/usr/bin/ld: -lpqxx が見つかりません"

と言われたため、/usr/bin/ldというディレクトリにpqxxライブラリが足りないんだなと思いました。
しかし
cp pqxx.a /usr/bin/ld/ とするところを
cp pqxx.a /usr/bin/ld としてしまいました。

そしてこの時、sudoコマンドでこれを打ってしまいました。
その後にldがディレクトリではないという事、そして間違えてldファイル自身を上書きしたことにも気付き今に至っています。
そこで質問なのですが、ldファイルというのは元々何のファイルなのでしょうか?
更に、これを上書きしたことによるどんな弊害がありますでしょうか?
お手数ですがお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/10/01 06:20

/usr/binの役割自体は把握されてますか?(たぶんその前提がないと話が通じないかもしれない)
m.ts10806

2019/10/01 06:24

役割だけなら「linux ld」とかで出てきます。
mamiyasinzi

2019/10/01 06:27

恥ずかしながら寡聞にして存じませんでした。 今調べたところ種々のコマンドが入っている所という認識を致しました。
mamiyasinzi

2019/10/01 06:27

ありがとうございます。そちらのキーワードで調べてみたいと思います。
guest

回答4

0

ldは、(1つ以上の)コンパイルしたプログラムとライブラリをくっつけて、実行可能なプログラムを作るコマンドです。
そのため、無いと、makeなど、ソースプログラムから実行ファイルを作ることができなくなります。

CentOSだと、binutilsパッケージに含まれています。

投稿2019/10/01 06:33

otn

総合スコア85893

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mamiyasinzi

2019/10/01 06:35

なるほど、binutilsパッケージというのをダウンロードできればよさそうですね。 分かり易い説明も、ありがとうございます。
otn

2019/10/01 10:39

https://pkgs.org/download/binutils から、OSに合わせて rpmファイルか deb ファイルをダウンロードして、あとは、「rpm 展開」とか「deb 展開」とかでググって、ファイルを取り出してください。
guest

0

リンカです。

(linuxjm.osdn.jp)Man page of ld

/usr/bin/ldコマンドを使用して実行モジュールを作成(リンク)できなくなります。

投稿2019/10/01 06:24

Y.H.

総合スコア7918

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mamiyasinzi

2019/10/01 06:28

ありがとうございます。リンク先の勉強させていただきます。
guest

0

ベストアンサー

osの基本コマンドですからリカバリディスクなどからコピーしてくればよいでしょう

投稿2019/10/01 06:21

yambejp

総合スコア116694

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mamiyasinzi

2019/10/01 06:32

ありがとうございます。これもまた恥ずかしい話なのですが、リカバリディスクを作成していなかったので そちらを作成するところから始めたいと思います。 その過程でコピーしてきたいと思います。
guest

0

最終的に
yum reinstall binutils
を用いて再インストールすることでmakeコマンドをまた使えるようになりました。

今回の件で、/usr/binの役割について学ぶことが出来、大変為になりました。
回答していただいた方々、ご協力ありがとうございました。

投稿2019/10/01 06:42

mamiyasinzi

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問