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

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

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

MSYS(Minimal SYStem)は、Windows上で動くUnixシェル、テキスト操作ユーティリティなどをまとめたパッケージ。C言語やFortranのコンパイラであるMinGWをカバーする目的で作られています。

Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

GDB

GDBはGNUソフトウェアシステムのための標準的なデバッガーです。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1408閲覧

Cygwin installer で GDB をインストール → その GDB 内で起動する Python を 3.x 系にしたい

IkazoIchikawa

総合スコア38

MSYS

MSYS(Minimal SYStem)は、Windows上で動くUnixシェル、テキスト操作ユーティリティなどをまとめたパッケージ。C言語やFortranのコンパイラであるMinGWをカバーする目的で作られています。

Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

GDB

GDBはGNUソフトウェアシステムのための標準的なデバッガーです。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/09/04 14:54

編集2019/09/05 10:14

知りたいこと

Python3 を GDB 内で使用したいのですが、
その環境を構築するための方法として、Cygwin installer を使いたいです。
どうしても Python2.7 になってしまい、Python3 用のパッケージが使用できなくて困っています。

やってみたこと

Cygwin installer を使って GDB をインストールすると、依存関係のパッケージとして以下がリストアップされます。

Select Packages 画面で、gdb 8.2.1-1 をインストールさせる状態にしてから、
Review and confirm changes 画面まで来た時の例です。

Review

1Install _autorebase 001007-1 2Install alternatives 1.3.30c-10 3Install base-cygwin 3.8-1 4Install base-files 4.3-2 5Install bash 4.4.12-3 6Install binutils 2.29-1 (automatically added) 7Install bzip2 1.0.8-1 8Install ca-certificates 2.32-1 9Install coreutils 8.26-2 10Install crypto-policies 20190218-1 11Install cygutils 1.4.16-2 12Install cygwin 3.0.7-1 13Install dash 0.5.9.1-1 14Install diffutils 3.5-2 15Install editrights 1.03-1 16Install file 5.32-1 17Install findutils 4.6.0-1 18Install gawk 5.0.1-1 19Install gdb 8.2.1-1 20Install getent 2.18.90-4 21Install grep 3.0-2 22Install groff 1.22.4-1 23Install gzip 1.8-1 24Install hostname 3.13-1 25Install info 6.6-1 26Install ipc-utils 1.0-2 27Install less 530-1 28Install libargp 20110921-3 29Install libattr1 2.4.48-2 30Install libblkid1 2.33.1-1 31Install libbz2_1 1.0.8-1 32Install libcrypt0 2.1-1 (automatically added) 33Install libdb5.3 5.3.28-2 (automatically added) 34Install libexpat1 2.2.6-1 (automatically added) 35Install libfdisk1 2.33.1-1 36Install libffi6 3.2.1-2 37Install libgcc1 7.4.0-1 38Install libgdbm4 1.13-1 39Install libgmp10 6.1.2-1 40Install libiconv 1.14-3 41Install libiconv2 1.14-3 42Install libintl8 0.19.8.1-2 43Install liblzma5 5.2.4-1 44Install libmpfr6 4.0.2-1 45Install libncursesw10 6.1-1.20190727 46Install libp11-kit0 0.23.15-1 47Install libpcre1 8.43-1 48Install libpipeline1 1.4.0-1 49Install libpkgconf3 1.6.0-1 (automatically added) 50Install libpopt-common 1.16-2 51Install libpopt0 1.16-2 52Install libreadline7 7.0.3-3 53Install libsigsegv2 2.10-2 54Install libsmartcols1 2.33.1-1 55Install libsqlite3_0 3.28.0-1 (automatically added) 56Install libssl1.1 1.1.1c-1 57Install libstdc++6 7.4.0-1 58Install libtasn1_6 4.14-1 59Install libuuid-devel 2.33.1-1 (automatically added) 60Install libuuid1 2.33.1-1 61Install login 1.13-1 62Install man-db 2.7.6.1-1 63Install mintty 3.0.2-1 64Install ncurses 6.1-1.20190727 65Install openssl 1.1.1c-1 66Install p11-kit 0.23.15-1 67Install p11-kit-trust 0.23.15-1 68Install pkg-config 1.6.0-1 (automatically added) 69Install pkgconf 1.6.0-1 (automatically added) 70Install python-pip-wheel 19.1.1-1 (automatically added) 71Install python-setuptools-wheel 41.0.1-1 (automatically added) 72Install python27 2.7.16-1 (automatically added) 73Install rebase 4.4.4-1 74Install run 1.3.4-2 75Install sed 4.4-1 76Install tar 1.29-1 77Install terminfo 6.1-1.20190727 78Install terminfo-extra 6.1-1.20190727 79Install tzcode 2019b-1 80Install tzdata 2019b-1 81Install util-linux 2.33.1-1 82Install vim-minimal 8.1.1772-1 83Install which 2.20-2 84Install xz 5.2.4-1 85Install zlib0 1.2.11-1

リスト中にあるように、
python27 2.7.16-1 が依存パッケージと解釈されており、
そのままインストール
-> 以下の様にすると、確かに GDB が起動する Python が 2.7 であることが確認できます。

※インストールされる Python が 2.7 になってしまうことは、
あらかじめ Python3 を インストールした状態で GDB をインストールしても同じです。
Python2.7 がインストールされて、 GDB 内で起動する Python が 2.7 になってしまいます。
また、インストールする GDB のバージョンを 8.0.1-1 または 8.2.1-1 にしても同じです。

cygwin

1$ gdb 2GNU gdb (GDB) (Cygwin 8.1.1-1) 8.1.1 3Copyright (C) 2018 Free Software Foundation, Inc. 4License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 5This is free software: you are free to change and redistribute it. 6There is NO WARRANTY, to the extent permitted by law. Type "show copying" 7and "show warranty" for details. 8This GDB was configured as "x86_64-pc-cygwin". 9Type "show configuration" for configuration details. 10For bug reporting instructions, please see: 11<http://www.gnu.org/software/gdb/bugs/>. 12Find the GDB manual and other documentation resources online at: 13<http://www.gnu.org/software/gdb/documentation/>. 14For help, type "help". 15Type "apropos word" to search for commands related to "word". 16(gdb) pi 17>>> import sys 18>>> print(sys.version) 192.7.16 (default, Mar 20 2019, 12:15:19) 20[GCC 7.4.0]

しかし、 Python3 用のパッケージを利用したい為、
ここで起動される Python も 3.X 系にしたいのです。

Cygwin installer で入手した GDB が起動させる Python のバージョンを変更することはできるのでしょうか?
もしくは、
Cygwin installer が判定する 依存パッケージの Python バージョンを変更してからインストールする方法はありませんか?

調べてみたこと

1) build する方法

以下によると、GDB を ビルド すれば Python バージョンを指定できるようですが、
インストール作業に比べてハードルが高いです。導入のしやすさを考慮してこのような方法は使いたくありません、、。
(GDB 向けの Python3 パッケージを 不特定多数に公開しようとしているので、 Cygwin 環境で使いたければ、Python3 を使うために GDB をビルドして使ってね という事になってしまいます。これは受け入れられにくいと思うので、、)

2) MSYS2 なら Python3 が使える

MSYS2 環境で GDB をインストールした場合は、Python 3.7 にすることができます。
(Cygwin installer の依存関係チェックがおかしいということなのでしょうか?)

mintty

1$ pacman -S gdb 2依存関係を解決しています... 3衝突するパッケージがないか確認しています... 4 5パッケージ (4) expat-2.2.7-1 6 mpdecimal-2.4.2-2 7 python-3.7.4-1 8 gdb-8.2.1-3 9 10合計ダウンロード容量: 18.87 MiB 11合計インストール容量: 114.37 MiB 12 13:: インストールを行いますか? [Y/n]

しかし Cygwin 環境で構築するためのノウハウがほしいんです、、。

使用環境

  • OS -> Windows 10 (64bit)
  • Cygwin installer -> 3.0.7

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

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

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

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

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

coco_bauer

2019/09/05 01:57

「インストール作業に比べてハードルが高いです。導入のしやすさを考慮してこのような方法は使いたくありません」というのは、質問者の好みの問題ですか? それとも、他の人に作業をさせる事を前提にした時に、作業者の経験やスキルに不安があるという事なのですか? 気長にPython 3.x系をつかうようなGDBのパッケージが出てくるのを待つという選択枝は、ありですか? (Pythonの主流は、2.x系から3.x系に移っていますから、3.x系を使うようなパッケージがそのうち出てくると思います)
IkazoIchikawa

2019/09/05 10:08

コメントありがとうございます > 質問者の好みの問題ですか? それとも、~ →両方です。GDB 向けの Python3 パッケージを 不特定多数に公開しようとしているので、 `Cygwin 環境で使いたければ、Python3 を使うために GDB をビルドして使ってね` というのは、受け入れられにくいとおもうんです、、。 > ~待つという選択枝は、ありですか? →ソモソモ になっちゃうんですが、 Cygwin 環境の **GDB が**、 `Python 2.7 じゃないとだめですよ` と言う(a)のが、パッケージ依存判定の方法(≒決まり事?プロトコル?)なんでしょうか? (GDB の依存パッケージを、 **Cygwin installer が** `Python 2.7` だと判断してしまっている(b)だけということはないでしょうか?) もし (b) の理解が正しければ、`Python 3.x系をつかうようなGDBのパッケージが出てくる` ことはないと思うんですよね、、。
guest

回答1

0

2023年1月現在で最新のgdb11.2-1はpython3.9がインストールされるようです。

投稿2023/01/29 11:34

ujimushi_sradjp

総合スコア2094

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問