■始めに
google playにあるtermuxは古いので入れてはいけない。f-droidから落とすべし。
でないと必ずハマります←はまった人
https://f-droid.org/ja/
■make install しようとすると書き込みできないと出る
cmake で -DCMAKE_INSTALL_PREFIX=$PREFIX を付ける
参照:https://github.com/termux/termux-packages/issues/3099
./configure なら ./configure --prefix=$PREFIX
■configureしたらconfigure: error: no acceptable ld found in $PATHとでた
binutils を入れる
■pkgやaptで落とされるパッケージの場所
/data/data/com.termux/cache/apt/archives
ついでtermux-packagesの作業場所は ~/.termux-build
■シェルスクリプトが動かない
改行コードがCR+LFになってないか確認する。linuxなのでLFでないと動かない
Termux-execを使う。最初から入ってると思うけど。
https://wiki.termux.com/wiki/Termux-exec
https://unicorn.limited/jp/rd/linux/20221030-termux-config.html
■x11(gui画面)を出す
こちら
https://ivonblog.com/en-us/posts/termux-x11/
■visual studio code を動かす
ぐぐってみるとubuntuを起動してどうたらと出てきますが、今はそんなの必要ないです
pkg install code-oss です
■Xで signal 9 エラーが出る
こちら
https://ivonblog.com/en-us/posts/fix-termux-signal9-error/
■ちゃんと設定できてるはずなのにcmakeでstddef.hが無いと出る
cmakeのclangの設定が間違ってるポイ
/usr/lib/cmake/clang/ClangConfig.cmakeの先頭
# Compute the installation prefix from this LLVMConfig.cmake file location.
get_filename_component(CLANG_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(CLANG_INSTALL_PREFIX "${CLANG_INSTALL_PREFIX}" PATH)
get_filename_component(CLANG_INSTALL_PREFIX "${CLANG_INSTALL_PREFIX}" PATH)
get_filename_component(CLANG_INSTALL_PREFIX "${CLANG_INSTALL_PREFIX}" PATH)
を
#get_filename_component(CLANG_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
#get_filename_component(CLANG_INSTALL_PREFIX "${CLANG_INSTALL_PREFIX}" PATH)
#get_filename_component(CLANG_INSTALL_PREFIX "${CLANG_INSTALL_PREFIX}" PATH)
#get_filename_component(CLANG_INSTALL_PREFIX "${CLANG_INSTALL_PREFIX}" PATH)
set(CLANG_INSTALL_PREFIX "ENV${PREFIX}/lib/clang/17" )
こうする
■openGLについて
えーとハードなのはないです。ソフトエミュ(mesa)の方ならありました。
しかしヘッダが入ってないので自分で落としてきます(こういうパターンが多い)。
手持ちのパーションではhttps://archive.mesa3d.org/mesa-23.2.1.tar.xzでした。
ここから足りないヘッダを/usr/lib/GL にコピーします。
で実行したところ
まぁそのまんまですな。一応動いたということで
------ソース----------------- #include "glut.h" int main(int argc, char *argv[]) { glutInit(&argc, argv); glutCreateWindow("Check OpenGL"); printf("Vendor :%s\n", glGetString(GL_VENDOR)); printf("GPU :%s\n", glGetString(GL_RENDERER)); printf("OpenGL ver.%s\n", glGetString(GL_VERSION)); } glut と EGL_mesa と GLX_mesa が必要です
■std::auto_ptr について
boostをビルドしようとしたらstd::auto_ptrは使用不可だと出た。
ぐぐってみるとclang-tidyというので変換させる方法があったが、めんどいなぁと思ったら
#define BOOST_NO_AUTO_PTR を付ければいいというのがあったのでそうした
参考https://github.com/TRIQS/triqs/issues/523
・ちなみにclang-tydyを試した時はこんな感じ
clang-tidy -p=../compile_flags.txt,modernize-replace-auto-ptr -fix -fix-errors --checks=misc-use-override config.cpp
cmakeからcompile_flags.txtを作らなくてはいけなくてうだうだとやる。
この辺参考https://qiita.com/s_araki/items/32aded38dca734c0e02d
-vをつけてパスが反映されているか確認。
最後に-std=c++11をつけないとコンパイルが通らなかった
■modplug について
sinf()がclangのライブラリとぶつかると言われるので
cmake . -DCMAKE_CXX_FLAGS="-DHAVE_SINF" -DCMAKE_INSTALL_PREFIX=$PREFIX
make
make install

0 件のコメント:
コメントを投稿