質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

3989閲覧

make installした時の --prefix と exportについて

sususu

総合スコア99

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2019/07/28 23:34

先日Djangoをインストールしようとし、下記のサイトを参考に記載の通りに実行していったら無事にDjangoを使用することができました。
https://qiita.com/rururu_kenken/items/8202b30b50e3bfa75821

しかし調べても何をしているのかわからない部分があるのでお聞きさせて頂きたく思います。
どなたかご回答よろしくお願いいたします。

URLの中の記事転載

# Python3のインストール sudo yum install python3 cd python3 -m venv ~/myvenv/ # 仮想環境に切り替え source ~/myvenv/bin/activate # Djangoインストール pip install Django # Djangoのチュートリアルをやろうとしてプロジェクト作成 $ django-admin startproject mysite # 開発用サーバー起動 $ python manage.py runserver # 大量に出るので一部だけ # SQLite3は3.8.3、または、3.8.3以降のバージョンにしてくださいエラー packages/django/db/backends/sqlite3/base.py", line 63, in check_sqlite_version raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version) django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17). # SQLite3を最新化する # ソースを取得 (ホームディレクトリで実行してます) $ cd $ wget https://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz $ tar xvfz sqlite-autoconf-3280000.tar.gz # ビルドしてインストール $ cd sqlite-autoconf-3280000 $ ./configure --prefix=/usr/local $ make $ sudo make install $ sudo find /usr/ -name sqlite3 # コマンド結果 # /usr/lib64/python2.7/sqlite3と/usr/lib64/python3.7/sqlite3はディレクトリ /usr/bin/sqlite3 /usr/lib64/python2.7/sqlite3 /usr/lib64/python3.7/sqlite3 /usr/local/bin/sqlite3 # 不要なファイル、ディレクトリ削除 $ cd $ rm sqlite-autoconf-3270200.tar.gz $ rm -rf ./sqlite-autoconf-3270200 # バージョン確認 $ /usr/local/bin/sqlite3 --version 3.28.0 2019-04-16 19:49:53 884b4b7e502b4e991677b53971277adfaf0a04a284f8e483e2553d0f83156b50 $ /usr/bin/sqlite3 --version 3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668 $ sqlite3 --version 3.28.0 2019-04-16 19:49:53 884b4b7e502b4e991677b53971277adfaf0a04a284f8e483e2553d0f83156b50 $ sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3_old $ sudo ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3 # 共有ライブラリへパスを通す # vi ~/.bashrcで設定を追加(すぐに反映する場合 source ~/.bashrc)しないとターミナルを起動するたびに実行することになります $ export LD_LIBRARY_PATH="/usr/local/lib" # PythonのSQLite3バージョン確認 $ python Python 3.7.2 (default, Feb 26 2019, 20:08:16) [GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import sqlite3 >>> sqlite3.sqlite_version '3.28.0' >>> exit() # 開発用サーバー起動 $ cd $ cd mysite $ python manage.py runserver

お聞きしたい箇所の1つ目ですが
$ ./configure --prefix=/usr/local
についてです。
インストール先を /usr/localに指定していると思っているのですが、
実際に確認しているコマンド結果では下記のように/usr/local/bin/sqlite3と
binが入ってきてしまっています。これはいったいなぜでしょうか?

# コマンド結果 # /usr/lib64/python2.7/sqlite3と/usr/lib64/python3.7/sqlite3はディレクトリ /usr/bin/sqlite3 /usr/lib64/python2.7/sqlite3 /usr/lib64/python3.7/sqlite3 /usr/local/bin/sqlite3

お聞きしたい箇所の2つ目ですが
$ export LD_LIBRARY_PATH="/usr/local/lib"の部分で
なぜ/usr/local/libにパスを通しているのでしょうか?
パスを通す場合sqlite3のインストール先かシンボリックリンクを通している
/usr/local/bin/sqlite3 もしくは /usr/bin/sqlite3
かと思ってしまうのですが、、、

質問が多くて申し訳ありませんが、どなたかご回答いただけると
幸いです。

以上よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

インストール先は実行ファイル(bin)だけではありません。libとかincludeとかmanとか色々あります。
それらの前に付けるディレクトリを--prefixで指定します。
makeを実行したディレクトリで、grep prefix Makefileすると、インストール先ディレクトリがいろいろ出てくると思います。

LD_LIBRARY_PATHPATHは別物です。
LD_LIBRARY_PATHは、ライブラリを探索するパスを指定します。

投稿2019/07/29 00:01

otn

総合スコア84499

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問