Np2kai改修中のようで、ちょっとDebian13系でビルドが通らない。
どうもSDL3関連、glib関連とか色々と環境が変わっている模様。
とりあえず修正部分メモ
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 664b93a..8d995a9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1590,3 +1590,8 @@ else()
endif()
endif()
+# GTK2 (X11 frontend)
+if(BUILD_X)
+pkg_check_modules(GTK2 REQUIRED gtk+-2.0)
+add_definitions(-DSUPPORT_IDEIO)
+endif()
diff --git a/io/printif.c b/io/printif.c
index 1cef6ad..75bdaa6 100755
--- a/io/printif.c
+++ b/io/printif.c
@@ -4,6 +4,10 @@
#include "iocore.h"
#include "pccore.h"
+#ifndef COMMSG_REOPEN^M
+#define COMMSG_REOPEN (COMMSG_USER + 4)^M
+#endif^M
+^M
#if 0
#undef TRACEOUT
static void trace_fmt_ex(const char* fmt, ...)
diff --git a/wab/cirrus_vga.c b/wab/cirrus_vga.c
index 868c396..ef53512 100644
--- a/wab/cirrus_vga.c
+++ b/wab/cirrus_vga.c
@@ -5504,7 +5504,7 @@ int cirrusvga_drawGraphic(){
uint8_t *scanptr;
uint8_t *vram_ptr;
-#if defined(NP2_X11)
+#if defined(NP2_X11) || defined(NP2_X)
GdkPixbuf *VRAMBuf = NULL;
char* p;
#endif
diff --git a/x/dosio.c b/x/dosio.c
index f789c21..b9343b5 100755
--- a/x/dosio.c
+++ b/x/dosio.c
@@ -605,13 +605,13 @@ file_setseparator(OEMCHAR *path, int maxlen)
}
}
-short file_rename(const char* ExistFile, const char* NewFile)
-{
- return (rename(ExistFile, NewFile) == 0) ? 0 : -1;
-}
-
-short file_dirdelete(const char* PathName)
-{
- return (remove(PathName) == 0) ? 0 : -1;
-}
+//short file_rename(const char* ExistFile, const char* NewFile)
+//{
+// return (rename(ExistFile, NewFile) == 0) ? 0 : -1;
+//}
+//
+//short file_dirdelete(const char* PathName)
+//{
+// return (remove(PathName) == 0) ? 0 : -1;
+//}
diff --git a/x/gtk2/gtk_menu.c b/x/gtk2/gtk_menu.c
index 0cb8d84..cab06ae 100755
--- a/x/gtk2/gtk_menu.c
+++ b/x/gtk2/gtk_menu.c
@@ -82,6 +82,10 @@
BOOL nvl_check();
#endif
+void create_network_dialog(void) {
+ /* スタブ(何もしない空の関数) */
+}
+
void create_hostdrv_dialog(void);
void create_sound_dialog(void);
void create_midi_dialog(void);
SDL3系とかaptで追加必要、詳しくは、、わすれた。。
ビルドは以前はNp2とNp21で同時に生成されてたけど指定方法が変わったみたい。。
// Np2系
cmake .. -D BUILD_X=ON -D BUILD_I286=ON
// Np21系
cmake .. -D BUILD_X=ON -D BUILD_I286=OFF
ビルドは通ったがxnp21kaiでSCSI#4のopenエラーになるな、そもそも設定にSCSI無いなあ。。AIに聞いたらすぐ答えでた。
/fdd/sxsi.h
SCSIHDD_MAX = 8→4
だって。AIすげえ。wx系も実行ファイルは出来てるけど画面表示からおかしいのでとりあえず放置。。まあ、安定するまで待ちが吉かな?
追記
とりあえず、現状はmasterでSDL3が適用される前まで戻すといいかもね。
さらに追記:なんかcmakeの設定をみるとUSE_SDLを設定すればいいだけのような気もするなあ。。
//ここは手順書通り
sudo apt install git cmake ninja-build nasm build-essential libx11-dev libglib2.0-dev libgtk2.0-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libusb-1.0-0-dev libfreetype-dev libfontconfig1-dev libssl-dev
// masterブランチからもってきてSDL3適用前までもどす。
git clone -b master https://github.com/AZO234/NP2kai.git
git checkout 3bbd4963451c659c697071de5c023f2e9d3e711d
//ここからも手順書通り
cd NP2kai
mkdir build
cd build
cmake .. -DBUILD_X=ON -DBUILD_I286=OFF
make
2026/01/27だからちょっと古いけど、これ以降SDL3が必要になるんだよなあ。。
commit 3bbd4963451c659c697071de5c023f2e9d3e711d (HEAD)
Author: AZO234 <typesylph@gmail.com>
Date: Tue Jan 27 18:18:18 2026 +0900
fix
Debian13系のSDL3はちょっと古くてあやしんだよな。。この辺でトラブってちょっと信用してない。。っていうか、新しいバージョンのSDL3を入れろよって話だけど実行ファイルだけ他PCに持って行ってaptでライブラリ追加だけで動かすってオレ的に重要なんだよ。。
o-junk.hatenablog.com
Debian12系、Ubuntu24.04系以前の場合は多分、SDL3がaptで入れられないので苦労したくなければ、masterブランチからもってきてSDL3適用前までもどす、が最適解になっちゃうかなあ。。
追記2
SDL3を使ったmasterブランチビルド、SDL3でいいならmasterがビルド通るようにしてあるみたいです。現在2026/08/21が最終更新。ちなみにcmakeで-DUSE_SDL=2 でDSL2でビルド可能だけどメンテされてないみたいでエラーになるよ。
//ここは手順書通り、まあSDL2系はいらないと思うけど
sudo apt install git cmake ninja-build nasm build-essential libx11-dev libglib2.0-dev libgtk2.0-dev libsdl2-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libusb-1.0-0-dev libfreetype-dev libfontconfig1-dev libssl-dev
// SDL3など足りないもの追加
sudo apt install libcdio-dev libsdl3-dev libsdl3-ttf-dev
// masterブランチclone
git clone -b master https://github.com/AZO234/NP2kai.git
//ここからも手順書通り
cd NP2kai
mkdir build
cd build
cmake .. -DBUILD_X=ON -DBUILD_I286=OFF
make