Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    NAITOH Jun
    @naitoh

    llvm8対応でご相談させてください。

    どうやら clang-format 8 の(AlignAfterOpenBracket?)デフォルトの挙動が下記(after clang format)のように変わるようなのですが、この対処として、以下のどちらが望ましいでしょうか?

    A. apache-arrow のソースコードを clang-format 8 向けに修正する。
    B. clang-format 8 のオプション調整で今まで通りの結果に調整する。(可能か、まだわかりませんが)

    https://github.com/naitoh/arrow/runs/387127456

    --- /arrow/cpp/src/gandiva/decimal_ir.cc
    +++ /arrow/cpp/src/gandiva/decimal_ir.cc (after clang format)
    @@ -308,9 +308,9 @@
           auto ret = AddWithOverflowCheck(x, y, out);
    
           // if there is an overflow, switch to the AddLarge codepath.
    -      return BuildIfElse(ret.overflow(), types()->i128_type(),
    -                         [&] { return AddLarge(x, y, out); },
    -                         [&] { return ret.value(); });
    +      return BuildIfElse(
    +          ret.overflow(), types()->i128_type(), [&] { return AddLarge(x, y, out); },
    +          [&] { return ret.value(); });
         } else {
           return AddLarge(x, y, out);
         }
    Yosuke Shiro
    @shiro615

    cpp/src/arrow/adapters/tensorflow/
    cpp/src/arrow/dbi/hiveserver2/
    cpp/src/arrow/testing/もいけるかどうか一応見てもらえますか!?
    cpp/cmake_modules/DefineOptions.cmakeにオプションがまとまっているので、そこでON/OFFできるモジュールが有効になっているかをpkg-configで判断できるようにしたいです!

    わかりました!試してみます!

    Sutou Kouhei
    @kou

    @naitoh C. clang-formatはLLVM 7のものを使えるようにする(Gandivaで使うLLVMのバージョンとclang-formatで使うLLVMのバージョンを別に指定できるようにする)

    がよいと思います!
    CMakeを書くのがしんどそうならそこらへんは引き取るので、機能面でLLVM 8(最終的にはLLVM 9)でいけるかどうか確認するのを優先するのがよいと思います!

    @shiro615 さすがです!
    NAITOH Jun
    @naitoh
    @kou 了解です。そのようにしてみます。CMake周りは難しそうであればご相談させてください。
    ありがとうございます!
    Kenta Murata
    @mrkn
    Mac で GRPC で SEGV するやつは何なんでしょうね。
    Sutou Kouhei
    @kou
    私のテスト環境だと再現しないんですよねぇ。
    Kenta Murata
    @mrkn
    これかなぁ grpc/grpc#21587
    Kenta Murata
    @mrkn
    須藤さんの環境は Catalina ですか?
    Sutou Kouhei
    @kou
    そうです!
    Kenta Murata
    @mrkn
    Xcode のバージョンは幾つですか?
    Sutou Kouhei
    @kou
    11.3な気がします!
    $ xcodebuild -version
    Xcode 11.3
    Build version 11C29
    Yosuke Shiro
    @shiro615
    @kou -DARROW_HIVESERVER2=ON にするとビルドに失敗してしまうのですが何かわかりますでしょうか...?
    clang version 11.0.0
    Thrift version 0.13.0
    In file included from /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.cpp:7:
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:29:17: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param query
         ~~~~~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:36:17: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param query
         ~~~~~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:37:21: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param clientCtx
         ~~~~~~~~~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:44:17: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param query
         ~~~~~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:53:20: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param query_id
         ~~~~~~~~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:54:22: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param start_over
         ~~~~~~~~~~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:55:22: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param fetch_size
         ~~~~~~~~~~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:62:18: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param handle
         ~~~~~~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:69:18: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param handle
         ~~~~~~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:76:13: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param s
         ~~~~~~~^
    /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:89:19: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
       * @param context
         ~~~~~~~~~~~~~^
    11 errors generated.
    Kenta Murata
    @mrkn
    Xcode のバージョンも一緒だ
    Sutou Kouhei
    @kou
    @shiro615 わからないのでJIRAにissueを作っておいてください!

    packages.red-data-tools.orgにDebian GNU/Linux, Ubuntu用のパッケージを作っておきました。CentOS 8用のやつも作ろうとしたんですが、CentOS 8はqt5-develが壊れているみたいで作れませんでした。

    ↓でruby-grが動きます。

    sudo apt install -y -V lsb-release wget
    wget https://packages.red-data-tools.org/$(lsb_release --id --short | tr 'A-Z' 'a-z')/red-data-tools-archive-keyring-latest-$(lsb_release --codename --short).deb
    sudo apt install -y -V ./red-data-tools-archive-keyring-latest-$(lsb_release --codename --short).deb
    sudo apt update
    sudo apt install -y -V libgr3-dev
    GRDIR=/usr ruby ...
    Kenta Murata
    @mrkn
    GRDIRは /usr なら指定しなくても動いて欲しいですねぇ
    Sutou Kouhei
    @kou
    GR frameworkの自動インストール込みであとでruby-grにpull requestを送ろうかと思っていました。
    Kenta Murata
    @mrkn
    libgr をフルパスで指定する方法はダメなんでしたっけ?
    フォントとかもあるからダメだったのかな
    Kazuma Furuhashi
    @284km
    次回の Red Data Tools オフラインのミートアップは 2/13(木) になります!公開しました!
    https://speee.connpass.com/event/163422/
    Sutou Kouhei
    @kou
    GR frameworkがフォントのパスとかもろもろGRDIRからの相対パスで解決しているので、ruby-gr側でlibgr.soからGRDIRを用意しないといけないんですよ。
    あざっす!
    Yosuke Shiro
    @shiro615
    わかりました!issue作っておきます。ありがとうございます。
    kojix2
    @kojix2
    読んでます!
    Debian GNU/Linux, Ubuntu用のパッケージ
    スゴイ
    kojix2
    @kojix2
    (そうかLinuxのパッケージって誰でも作れるもんだったんだ、的な思い)
    どこか雲の向こうで誰かがやってることとして思考停止していた事が急に近くに現れたような不思議な感覚が
    kojix2
    @kojix2
    自分にわからないこと技術的にできないだけのことを、やってはいけないこと法律的にできないことみたいに、無意識に思い込んでしまっている部分があるんだなあ。ポエ散らかしてすみませんけど、書きたい気持ちになったので書きました。
    kojix2
    @kojix2
    ああ、でも再配布はライセンスと深く関わってますからそこはしっかり確認しないとダメでしたね。
    Sutou Kouhei
    @kou
    GR frameworkのCentOS 8用のパッケージも作りました。
    GR frameworkをpkg-configに対応させたらruby-grにpull requestを出しておきます。
    kojix2
    @kojix2
    ありがとうございます。Pull requestとか、パッケージの作り方とかなるべく理解するように努めます。
    Kenta Murata
    @mrkn
    numo-narray で a.inplace + b って書くと warning: possibly useless use of + in void context って言われるんだなぁ
    Kenta Murata
    @mrkn
    inplace= を定義すれば回避できそう ruby-numo/numo-narray#151
    NAITOH Jun
    @naitoh

    @kou clang-format の件以外は対処したつもりです。
    https://github.com/naitoh/arrow/tree/ARROW-6841

    (やった内容は基本的にDocker コンテナを llvm8 に変更してテストが通る事を確認しただけですが。テストが通ってるので問題ないのかなと)

    clang-format の件は互換性を保てるオプションが無いのと、Lint の時だけ、clang-format7に切り替えるのが厳しかったので、お手数ですがご相談させてください。
    (clang-format 8/9 の結果は同じで、そんなに変更量が無さそうなので、新しいスタイルに変更する形の方が楽そうではありますが)

    C. clang-formatはLLVM 7のものを使えるようにする(Gandivaで使うLLVMのバージョンとclang-formatで使うLLVMのバージョンを別に指定できるようにする)
    がよいと思います!
    CMakeを書くのがしんどそうならそこらへんは引き取るので、機能面でLLVM 8(最終的にはLLVM 9)でいけるかどうか確認するのを優先するのがよいと思います!

    Sutou Kouhei
    @kou

    わかりました!

    では、apache/arrowへのプルリクエストにしてもらえますか!?そうすると、私がそのブランチにpushできるようになるんです。

    変更へのコメント:

    • Dockerfileの中でARG llvm_version=8とかしていますが、ENV LLVM_VERSION=8とかの方がいいです!ARGは外から変更するようのやつなので、今回みたいに外から変えないやつはENVで十分です。

    • (ほんとにただのコメント)変更が広範に渡っていて、近い将来LLVM 8から9にすることを考えると漏れなく変更するのはなかなか難しそうですね。。。どこかで共通してバージョンを参照するようにできればよいんだろうけどどうするのがよいのか。。。

    Kenta Murata
    @mrkn
    irb で複数行出力の際に先頭に改行を入れる変更案を作った ruby/irb#66
    Dockerfile とか CI の yaml ファイルに埋め込まれてるバージョン番号をまとめて一箇所で管理できたら便利ですよねぇ。
    LLVM のバージョン番号が書かれた LLVM_VERSION っていうファイルをリポジトリに置いて、それを参照するとか?
    Sutou Kouhei
    @kou
    あぁ、トップディレクトリーにある.envに書いてみんながそれを参照できるといいかも。
    一番融通がきかなそうなdocker-compose.envを読むので.envを使えるならそこが解決できそう。
    irbのやつ、いいですね!
    もしかしたら、変な(?)エンコーディングのケースを気にしないと例外があがるかも?
    NAITOH Jun
    @naitoh
    @kou ありがとうございます。.envの指摘事項も含め、今晩やってみます。
    Kenta Murata
    @mrkn
    変なエンコーディング怖いですね!
    Kenta Murata
    @mrkn
    inspect の結果が US-ASCII と incompatible なエンコーディングだったら、今でも printf で例外がでそうですね。
    出た。
    Sutou Kouhei
    @kou
    次の開発イベントは2月13日(木)の夜です!
    https://speee.connpass.com/event/163422/