Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improves travis-ci config to support ubuntu/centos+gcc, cpplint #263

Merged
merged 1 commit into from
Apr 11, 2016

Conversation

kazuki
Copy link
Contributor

@kazuki kazuki commented Mar 25, 2016

Enables build, unittest, cpplint tests in below distributions

  • CentOS6 + gcc 4.4
  • CentOS7 + gcc 4.8
  • CentOS7 + gcc 5.2 (devtoolset-4)
  • Ubuntu 12.04 + gcc 4.6
  • Ubuntu 14.04 + gcc 4.8
  • Ubuntu 16.04 + gcc 5.3

gcc4.8 enables to test #254
gcc5.x enables to test #246 #250

Enables build, unittest, cpplint tests in below distributions
* CentOS6 + gcc 4.4
* CentOS7 + gcc 4.8
* CentOS7 + gcc 5.2 (devtoolset-4)
* Ubuntu 12.04 + gcc 4.6
* Ubuntu 14.04 + gcc 4.8
* Ubuntu 16.04 + gcc 5.3
@kmaehashi kmaehashi self-assigned this Mar 28, 2016
@kmaehashi kmaehashi added this to the 0.3.0 milestone Mar 28, 2016
- docker exec -t test bash -ic "./waf configure"
- docker exec -t test bash -ic "./waf build --checkall"
- docker exec -t test bash -ic "./waf cpplint"
- if [ -n "$SCL" ]; then docker exec test ./waf build --checkall; fi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this line needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

将来的にCentOS7でも #246 / #250 の全機能を使ったバイナリを配布することを考慮して,
比較的新しいgccが利用できるSCLでビルドしたバイナリを,SCL外で実行するテストを追加しました.SCLのRHEL版であるDTのマニュアルでは互換性がある様に記載してありましたので.
(ビルド・実行環境の互換性マトリクスC++ABI互換性 )

※ SCLが設定されている場合,bash経由でコマンドを実行すると51行目で出力した .bashrc が有効となりますが,bashを経由しないでコマンドを実行すると .bashrc を読み込まないのでSCL環境外でそのコマンドを実行するという動作になります

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ありがとうございます、意図了解しました。

なお、手元で試してみたところ、現時点では SCL-enabled であってもシステム側のランタイムライブラリが使われるようです。

# SCL Disabled

$ which g++
/usr/bin/g++

$ g++ test.cpp -o test

$ ldd ./test
        linux-vdso.so.1 =>  (0x00007ffce87fc000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f9e7585e000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f9e7555c000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f9e75345000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f9e74f84000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9e75b6f000)

# SCL Enabled

$ source scl_source enable devtoolset-4

$ which g++
/opt/rh/devtoolset-4/root/usr/bin/g++

$ g++ test.cpp -o test

$ ldd ./test
        linux-vdso.so.1 =>  (0x00007ffec456b000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f32714e3000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f32711e0000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3270fca000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f3270c09000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f32717f4000)

@kmaehashi
Copy link
Member

👍 Thanks! LGTM except for one comment above.

I confirmed that tests passed in all matirx.
https://travis-ci.org/kmaehashi/jubatus_core/builds/122197870

@kmaehashi kmaehashi merged commit 1af7939 into jubatus:develop Apr 11, 2016
@kazuki kazuki deleted the travisci branch April 20, 2016 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants