Unixな話を中心に。最近は雑多な内容が多かったりして...。Databaseだけ、というので、かなり仕方なく使う、というネガティブな話だったりする。Javaや.NETには公式のデータベースドライバが出ているので、それらを使えば簡単にDBを利用できるけど、せっかくなので今回はGoでやってみることにした。環境ビルドには以下が必要。InstantClientこのほか、当然のことながらGitやGoが必要。Makeとshが入っていたので、GCCを入れるためpacmanを起動。何もフィードバックを出さずpacmanが途中で終了してしまい、パッケージのインストールもアップデートもできずハマる。1809のころはふつうにpacmanが動いていたはずなのに。これでは何もできないので、MSYS2はあきらめることに。Installerで一とおりインストールし、C:\cygwin64\binなどをWindowsのPath環境変数に追加していった。function.と出てビルドできず。toolchain.などど書かれていた。Linux)という、読んで字のごとくLinux互換環境を提供するサブシステムが標準搭載されている。デーモンを常駐させられない以外はほぼLinuxそのままなので、こいつで頑張ってみることに。導入できるのでお手軽だ。結果、エラー表示は出ず。いうことで付属のexampleで動作確認。Databaseは親環境のDockerで動かしているとはいえ、WSLからDockerを制御できているので、親環境とは通信できているはずだが。わけで、この方法もダメということに。GCCをアンインストールしてこちらに切り替えてみた。パッケージマネージャは付属していないので、pkg-configを自力でセットアップしなければならない。やり方自体はStackOverflowの記事を参考にやってみた。一応、直リンクを置いておく。http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/pkg-config_0.23-2_win64.ziphttp://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-runtime_0.18.1.1-2_win64.ziphttp://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.26/glib_2.26.1-1_win64.zip準備自体はGistを残してくれている方がいたので、それを使わせてもらうことに。32212255953221225595をWindowsの電卓に通すと0xC000007Bになるのだが、pkg-configが正常起動できていない、ということのようだ。ABIが違うようなので、win64ではなくwin32に変えることで正常起動するようになった。terminated.....pkg-configがインクルードパスを正常に処理できていないようだ。場所は-Iオプションの行で指定しているんだが。おわりに最後のTDM-GCCパターンではあと一歩なような気もする。そんな気はするんだが、MySQLやPostgreSQLのドライバだったり、GoではなくJavaを選択していた場合だと、もっと簡単にデータアクセスを実装できていたであろう、と考えると、「なぜ僕はこんな苦行を....?」などと考えてしまう。芸能・アイドルRSSを表示する@niftyが提供する無料ブログはココログ!。