otakuto / crazydiskinfo

CrazyDiskInfo is an interactive TUI S.M.A.R.T viewer for Unix systems.
MIT License
311 stars 28 forks source link

.deb または PPA 等の提供 #6

Closed ghost closed 7 years ago

ghost commented 7 years ago

Ubuntu やそれをベースとした各種派生 Linux 向けに、.deb パッケージまたは PPA の提供等は予定されていますか? Ubuntu 14.04 LTS 環境でビルドしてみましたが、 cmake のバージョンを PPA から上げて g++, c++, cpp のバージョンも PPA から上げて、update-alternatives でその新しいのを 使うように設定し、足りないライブラリをインストールして、やっとの想いでビルドできました。 かなり大変なのと、デフォルトの環境をいじってしまうので、できれば dpkg -i コマンドまたは add-apt-repository して apt-get でインストールできるような状態にはできないでしょうか?

tSU-RooT commented 7 years ago
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 658b2a1..d3d08d0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
-cmake_minimum_required(VERSION 3.0.0)
+cmake_minimum_required(VERSION 2.8)
 project(CrazyDiskInfo CXX)
 add_executable(CrazyDiskInfo main.cpp)
-set(CMAKE_CXX_FLAGS "-Wall -std=c++14")
+set(CMAKE_CXX_FLAGS "-Wall -std=c++1y")
 SET_TARGET_PROPERTIES(CrazyDiskInfo PROPERTIES OUTPUT_NAME crazy)
 target_link_libraries(CrazyDiskInfo atasmart)
 target_link_libraries(CrazyDiskInfo ncursesw)

こういうパッチを書いてみたけど、ビルド通らなかったので ツールのバージョンの必要要件を下げて対応するのでは無理そうですね、 C++14を使っていて14.04のGCCが対応していないのが根本原因に見えるので、 PPAからGCCのバージョンを上げて、ビルドした物を debパッケージのバイナリとして配るのが現実的な対応? 問題点: GCCのバージョンを上げた時、上げたGCCでコンパイルした バイナリのABI互換性などが保たれて元の14.04で正しく動作するかわかっていない。 CC: @otakuto

tSU-RooT commented 7 years ago

PPAで配るのは無理かも、14.04用にソースパッケージをPPAにアップロードしても たぶんビルドサーバーのGCCが要件を満たさない。

otakuto commented 7 years ago

c++11にダウングレードした... 9e69b80b10b13999271787cfe56424d7fe3db98b

otakuto commented 7 years ago

baea674bf528485a5481c84412dae599496e8c11 tSU-RooT 氏に頼んで作ってもらいました! これで多分大丈夫だと思います。

ghost commented 7 years ago

ありがとうございます! Ubuntu 14.04 LTS 相当の環境でテストして問題なく インストールと起動が出来ました。 Issue Close させて頂きます。