十進BASIC for Linux (Intel)

2025年12月01日

Linux(Intel)で動作するJIS Full BASIC規格準拠のBASIC処理系です。
Linux(ARM)には,BASIC GenericでLinux_ARM版をダウンロードしてください。
※ CPUがAMDのときは,Intel版(このページ)です。通常,AMD64=x86_64 です。ARM64とAMD64は別物です。

十進BASIC Ver. 8.1

マルチコアCPUを利用して描画と計算を別スレッドで実行します。
グラフィックス出力先にプリンタを選ぶと,ファイル出力に対応するプリンタdriverを利用してベクターグラフィックスが得られます。

エディタ・フォント
エディタ・フォントは,オプションメニューの「フォント」で指定できます。適切なものに選びなおしてください。
推奨 IPAゴシック, Noto Sans Mono CJK JP

漢字入力
漢字は「漢字入力枠」を介して入力します。表示メニューで「漢字入力枠」を選んでください。キー入力alt-Kでも漢字入力枠が表示されます。
漢字やギリシャ文字を変数名として使うときは,オプションメニューの 互換性−識別名 で漢字,ギリシャ文字をチェックしてください。

tutorial.pdf 「(仮称)十進BASICによるJIS Full BASIC入門」


十進BASIC 8.1.5.4 (x86_64)gtk2版

BASIC8154Ja_Linux64.tar.xzをダウンロードし,適宜のフォルダに展開してください。

実行
展開してできたBASIC81Jaフォルダ内のbasicをダブルクリックすると起動します。

トラブル・シューティング
gtk2がないと動作しません。
新しめのLinixで起動しないときは,gtk2をインストールしてください。
Fedora 42などでは,ターミナルで
sudo dnf install gtk2
を実行してgtk2をインストールすれば動作します。
Manjaro Gnome では,端末で
sudo pacman -S gtk2
を実行してください。
Kubuntu 25.04では,
sudo apt install libgtk2.0-common


少し古い型のLinuxだとgtk2が入っているのに動作しないことがあります。
basicが置かれたフォルダで端末を起動して,
./basic
を実行すれば何か情報が得られると思います。

文字が2重に入力されるとき(たとえば,abcと打つとaabbccになる)は,日本語入力の設定を変更してみてください。
たとえば,Manjaro Gnomeでは,ibusを選択してください(fcitx5だと,エディタ画面で文字(英数字)が2重に入力される)。

「漢字入力枠」に日本語入力できないときは,「漢字入力枠」がGTK2アプリケーションであることに留意して日本語入力環境を整備してください。
たとえば,Kubuntu25.04をfcitx5で使うとき,fcitx5-frontend-gtk2の追加インストールが必要です。


<既知の不具合>
制作過程の齟齬により誤ったファイルを公開していました。
同梱ファイルのReadMeJa.txt 1行目の日付が2025/11/30のときは再ダウンロードをお願いします。
ただし,デバッグ・ウィンドウの最大化・最小化ができないときは,そのままでかまいません。
なお,更新後もデバッグ・ウィンドウの最大化・最小化ができるときは,掲示板での報告をお願いします。

gtk2版は,グラフィックスの出力先がプリンタのとき,VIEWPORTに対するクリッピングが正しく行われません。
デフォルトの描画域は下端に接する正方形ですが,その外にも描画され,SET CLIP文の実行も無視されます。


十進BASIC 8.1.5.4 (x86_64) Qt5版

ダウンロード
BASIC8154Ja_Linux64_Qt5.tar.xz (Lazarus 2.0.12で作成)

Qt5PASライブラリのインストール
Qt5PASライブラリのインストールが必要です。

Fedoraなど RedHat系のとき, ターミナルで
sudo dnf install qt5pas

Ubuntu,Linux MintなどDebian系では, 端末で
sudo apt install libqt5pas1

Manjaro Linux (Xfce, Gnome) では,端末で,
sudo pacman -S qt5pas

起動
basic81Jaフォルダで端末を起動し,
./basic --platform xcb
で起動してください。
Linuxのランチャーに登録したいときは,Linuxで十進BASICをランチャーに登録

トラブル・シューティング
起動しないとき,あるいは,不具合があるときは,
BASICJaフォルダ内で右クリックして「端末で開く」あるいは,「Open in Console」で端末を開き
./basic
のように端末から起動し,エラーメッセージを確認してください。

(1) undefined reference to `QGuiApplication_setFallbackSessionManagementEnabled'
あるいは … undefined symbol: QPrinterInfo_availablePrinterNames
Qt5Pasの最新版を入手してください。Qt5Pasの最新版は,
davidbannon libqt5pas
にあるV1.2.16と思われます。assets で“Show all 22 assets”をクリックして探す必要があります。
Ubuntu,Linux MintなどDebian系のとき,
libqt5pas1_2.16-4_amd64.deb をダウンロードし,
ダウンロード先のフォルダで端末から,
sudo apt install ./libqt5pas1_2.16-4_amd64.deb
FedoraなどRedHat系のとき,
libqt5pas-2.16-4.x86_64.rpm をダウンロードし,
ダウンロード先のフォルダで端末から,
sudo dnf install ./libqt5pas-2.16-4.x86_64.rpm
を実行。

(2) error while loading shared libraries: libQt5Pas.so.1: …
 Qt5Pasライブラリのインストール不備です。

(3) QSocketNotifier: Can only be used with threads started with QThread
 この場合,ターミナルから
 ./basic --platform xcb
で起動。
または,ログインのとき,ユーザ名入力時に右下隅に歯車のアイコン が表示されたら  on Xorg を含む側を選ぶ。
<参照>Free Pasacal Wiki Qt5_interface Systems using Wayland

<既知の不具合>
制作過程の齟齬により誤ったファイルを公開していました。
同梱ファイルのReadMeJa.txt 1行目の日付が2025/11/30のときは再ダウンロードをお願いします。
ただし,デバッグ・ウィンドウの最大化・最小化ができないときは,そのままでかまいません。
なお,更新後もデバッグ・ウィンドウの最大化・最小化ができるときは,掲示板での報告をお願いします。


十進BASIC 8.1.5.4 (x86_64) Qt6版

BASIC8154Ja_Linux64_Qt6.tar.xz (Lazarus 3.8で作成)

Qt6PASライブラリのインストール 
Fedora 41では,ターミナルで
sudo dnf install qt6pas
とすればqt6pasが導入できます。
Ubuntu 25.04では,ターミナルで
sudo apt install libqt6pas6
とすればqt6pasが導入できます。
Manjaro Linux (Xfce, Gnome) では,端末で,
sudo pacman -S qt6pas

この方法でインストールできないときは,
Download LibQt6Pas Pre-Built Packages Assets
から下記の実行に必要なファイルをダウンロードし,
ダウンロード先のフォルダで端末から,
Ubuntu,Linux MintなどDebian系のとき,
sudo apt install ./libqt6pas6_6.2.10-1_amd64.deb
FedoraなどRedHat系のとき,
sudo dnf install ./libqt6pas6-6.2.10-1.x86_64.rpm
を実行(バージョン部の数字6.2.10-1は更新されるかもしれない)。

起動
basicJaフォルダで端末を起動し,
./basic --platform xcb
で起動してください。
Linuxのランチャーに登録したいときは,Linuxで十進BASICをランチャーに登録

<既知の不具合>
制作過程の齟齬により誤ったファイルを公開していました。
同梱ファイルのReadMeJa.txt 1行目の日付が2025/11/30のときは再ダウンロードをお願いします。
ただし,デバッグ・ウィンドウの最大化・最小化ができないときは,そのままでかまいません。
なお,更新後もデバッグ・ウィンドウの最大化・最小化ができるときは,掲示板での報告をお願いします。


十進BASIC 8.1.5.4 (x86) 32ビット gtk2版

Linux 32ビット版ダウンロード
BASIC8154Ja.tar.gz


GTK2版とQt版の比較
(テスト環境 Fedora 41, Ubuntu 24.04)
描画出力先スクリーンプリンタ (cups-pdf)
cups-pdfで作成したPDFをWindows上のAdobe Readerで確認
エディション GTK2版  Qt5版  Qt6版 GTK2版Qt5版Qt6版
クリッピング ×
LINE STYLE
AREA STYLE ×
LINE WIDTH
TEXT BACKGROUND ×(常に透明) ×(常に不透明)×(常に不透明)
DRAW MODE MASK × × ×

<補注> cups-pdf インストール
Fedora 41は
sudo dnf install cups-pdf
Ubuntu 24.04は
sudo apt install printer-driver-cups-pdf


上記以外の相違は, 十進BASIC異OSバージョン間の相違 を参照してください。
なお,Qt版では,独自拡張命令のGetKeyState関数は機能しません。


Revision History
Ver. 8.1.5.4
Ver. 8.1.3.5の変更が無効化されていたバグを修正。

Ver. 8.1.5.3
BASIC8153Ja.tar.gz   (x86)GTK2版 (32ビット)
BASIC8153Ja_Linux64.tar.xz  (x86_64)GTK2版
BASIC8153Ja_Linux64_Qt5.tar.xz  (x86_64)Qt5版
BASIC8153Ja_Linux64_Qt6.tar.xz (x86_64)Qt6版
デバッグ機能を強化。

Ver. 8.1.5.2
BASIC8152Ja.tar.gz   (x86)GTK2版 (32ビット)
BASIC8152Ja_Linux64.tar.xz  (x86_64)GTK2版
BASIC8152Ja_Linux64_Qt5.tar.xz  (x86_64)Qt5版
BASIC8152Ja_Linux64_Qt6.tar.xz (x86_64)Qt6版
置換実行でフリーズすることがあるバグを修正

置換ダイアログの挙動の不具合を修正
2次元配列(行列)の行,列の操作を行う命令(独自拡張)を追加。

Ver. 8.1.5.0
MAT文に行列の計算式が書けるようにした(独自拡張)。

Ver. 8.1.4.7
SynEditのGutterを非表示にした。
DLL呼び出し時にCallBack関数を指定できるようにした。

Ver. 8.1.4.5
ASSIGN文(DLL呼び出し)を追加。

Ver. 8.1.4.4
Kubuntu 25.04などでデバッグウィンドウの最小化・最大化が実行できる不具合を対策した。
KDE以外の環境で,上述の問題がなければ Ver. 8.1.4.2からの更新は不要。

Ver. 8.1.4.2
RECTYPE CSVのとき,MAT WRITEが正しく機能しないバグを修正した。

Ver. 8.1.4.1
実行の中断で固まることがある不具合を修正した。

Ver. 8.1.4.0
DRAW文の再帰が遅い不具合を修正した。

Ver. 8.1.3.8
DRAW GRIDなどを組込絵定義として翻訳するように変更。
Ver. 8.1.3.7
Qt版で描画命令の一部がクリッピングに対応しない不具合に対策。
Ver. 8.1.3.6
INPUT文でsyntax errorのとき異常終了するなどのQt6対応の不備を修正。
Ver. 8.1.3.5
Debian, Ubuntu, Linux Mintがデバッグダイアログの最小化を許す不具合を修正。
Ver. 8.1.3.4
Directory GetNameを実行すると異常終了するバグを修正した。
Ver. 8.1.3.3
PLOT文の翻訳系を修正(エラーメッセージを的確化)。
OPTION ARITHMETICを書かない外部手続きは主プログラムの設定を引き継ぐものとした(JIS非互換への変更)。
Ver. 8.1.3.2
Fedora41, Ubuntu24.04でのグラフィクスウィンドウの不具合対応を追加。
互換性オプション「TEXT字形」を廃止。
Ver. 8.1.3.1
Fedora41, Ubuntu24.04などでグラフィックスウィンドウが再表示されない不具合に対応(原因不明で対症療法レベル)。
Ver. 8.1.3.0
PLOT TEXT文が描く文字の字形を物理座標基準に変更した(一部JIS非互換への変更)。
Beam modeの初期値を"IMMORTAL"に変更した(JIS非互換への変更)。
Ver. 8.1.2.6
DATA文に引用符なしで書ける定数の文法を見直した。
Ver. 8.1.2.5
有理数モードでの数値定数入力のバグを修正。
Ver. 8.1.2.4
有理数モードで実数を入力すると整数に丸められるバグを修正。
Ver. 8.1.2.2
ファイル入力時の行末を自動で判別するように変更した。
Ver. 8.1.2.1
デバッグダイアログのシステムメニューを非表示にした。
Ver. 8.1.2.0
入力時にプログラムコードの色分けができるようにした。(オプション−エディタで選択)
Ver. 8.1.1.6
遠隔点を指定すると桁あふれの例外を生成する不具合を修正した。
Ver. 8.1.1.5
例外発生で停止したときDebug窓に変数値が表示されないバグを修正。
Ver. 8.1.1.4
エディタの自動修正ルーチンを修正。
Ver.8.1.1.3
続行可能例外をトレースダイアログにも出力するようにした。
Ver.8.1.1.2
続行可能例外で中断するのを廃止した。
Ver. 8.1.1.1
USING$関数とPLOT TEXT USINGで続行可能例外発生時の動作を修正した。
Ver.8.1.1.0
続行可能例外を報告すように修正した。
複素数モードを内部形式ファイルに対応させた。
Ver. 8.1.0.7
SET BITMAP SIZE 1,1が引き起こす問題を修正
SET COLOR 文(独自拡張)のバグを修正
Ver. 8.1.0.6
PROGRAM文の配列引数が正しく処理されないバグを修正。
Ver. 8.1.0.5
プログラム中にマルチバイト文字(漢字など)があるとヘルプの検索が正しく行われないバグを修正した。
Ver. 8.1.0.4
Helpを更新.
Lazarus 2.0.8でコンパイルした。
Ver. 8.1.0.3
プログラム実行前にグラフィック画面が消去されないことのあるバグを修正。
グラフィック画面初期フォントサイズが異常となることのあるバグを修正。
Qt5でINPUTダイアログの表示で起こる問題に対応。
プログラム保存でエラーを起こす問題に対応。
グラフィックス出力先がプリンタのときにも,SET TEXT BACKGROUNDを有効にした(実際は無視されるかもしれない)。
Ver. 8.1.0.2
グラフィックス座標系をGTK2は16ビット,MACは32ビット,プリンタは32ビットにした。
グラフィックス出力先がプリンタのとき,SET BITMAP SIZE文を実行不可とした。
グラフィックス出力先がプリンタのとき,SET TEXT BACKGROUNDを無視することにした。
グラフィックス出力先がプリンタのときのフォントをスクリーンとそろえた。
Graphicsオプションダイアログでプリンタの選択と設定ができるようにした。
Ver. 8.1.0.1
GraphicsオプションダイアログのHelpボタンが機能しないバグを修正した。
Ver. 8.1.0.0
グラフィックス出力先にプリンタを追加した。
Ver. 8.0.2.4
PAINT, FLOODを言語仕様から外した。
GET POINT文実行時のbeam処理の不備を修正した。
Ver. 8.0.2.3
GLOAD, GSAVEが正常に機能しないバグを修正。
Ver. 8.0.2.2
beam, point color, point style 設定を効率化した。
Ver. 8.0.2.1
MAT GET POINTを実行するとaccess violationになるバグを修正。
GLOAD, GSAVEに失敗するとaccess violationになるバグを修正。
Ver. 8.0.2.0
Draw文で射影変換を実行するとaccess violationになるバグを修正.
Lazarusのバージョンを1.6.4に変更した。(area styleが正しく実行される)


Linux 英語版ダウンロードのページへ

十進BASICのホームページへ

十進BASIC第3掲示板 へ