JDK ๋ด์์์ ๋ค๋ฅธ ์์นด์ด๋ธ์์ ๋๋ฒ๊ทธ ๊ธฐํธ๋ฅผ ์์ฑํ๋ ์ต์ ์ ๋๋ค.
๋๋ฒ๊ทธ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ฉํ์ง ์๊ณ JDK ์์นด์ด๋ธ๋ฅผ ๋ง๋ค ์ ์์ง๋ง ๋ณ๋๋ก ๋ง๋๋ ์ต์ ์ ์์ต๋๋ค.
@milderhc - (#2043 ๋ณํฉ๊ณผ ํจ๊ป) ์ด ๋ถ๋ถ์์ ํฐ ์ง์ ์ด ์์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
๋ค์ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋น์ ์ ๊ทธ๊ฒ์ ๋งก์ ๊ฒ์ธ๊ฐ? ์ด๋ฅผ ์งํํ๊ธฐ ์ํด ์ง์์ด ํ์ํฉ๋๊น?
@smlambert ๋ฌผ๋ก ์ ๋๋ค. ๋ด๊ฐ ๊ฐ์ ธ๊ฐ ์ ์์ต๋๋ค.
ํ์ดํ๋ผ์ธ ์คํฌ๋ฆฝํธ๊ฐ ์ด๋์ ์๋์ง ์๋ ค์ฃผ์๊ฒ ์ต๋๊น? ๋ํ API์ ์์ด๋์ด๋ ์น ์ฌ์ดํธ๋ฟ๋ง ์๋๋ผ ๋๋ฒ๊ทธ ๊ธฐํธ๋ฅผ ๋ ์ ์ ์ผ๋ก ์ ๊ณตํ๋ ์๋ก์ด ๋ฐฉ๋ฒ์ด ๋ ๊ฒ์ ๋๊น?
๋๋ ๊ทธ repos์ ์ต์ํ์ง ์์ต๋๋ค. ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ ๋๋ค.
@milderhc ๊ฐ์ฌํฉ๋๋ค! ํ์ดํ๋ผ์ธ ์คํฌ๋ฆฝํธ๋ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์์ต๋๋ค. OpenJ9์ ๋ํ ๋๋ฒ๊ทธ ์ด๋ฏธ์ง ์ง์์ ์ถ๊ฐ ํ
@andrew-m-leonard @sxa - ๋น์ ์ค ํ ๋ช
์ด @milderhc ๋ฅผ ๋์ธ ์ ์์ต๋๊น?
๋๋ฒ๊ทธ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ธฐ ์ํด ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ์ ์ค์ ๋ก ์
๋ฐ์ดํธํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์
๋๊น?
API ์์
: (์์
์๋ฃ) https://github.com/AdoptOpenJDK/openjdk-api-v3/pull/130
์น์ฌ์ดํธ ์์
: (์์ง ๋ฏธํด๊ฒฐ?) https://github.com/AdoptOpenJDK/openjdk-website/issues/696 (API๋ฅผ ํตํด debuginfo๋ฅผ ์ ๊ณตํ ์ ์๋ ๊ฒ๋ณด๋ค ๋ ์ค์ํจ)
๋ฌผ๋ก ๋ด๊ฐ ๋์ธ ์ ์์ต๋๋ค. @smlambert @milderhc jdk-16์ฉ OpenJDK์ ํตํฉํ๋ ๋ฐ ๋์์ด ๋ ๋ค์ ๋ฒ๊ทธ๊ฐ ์ฌ๊ธฐ์์๋ ๊ด๋ จ์ด ์๋์ง ํ์ธํ๊ณ ์ถ์์ต๋๋ค.
https://bugs.openjdk.java.net/browse/JDK-8252233 ๊ธฐํธ ์ด๋ฏธ์ง์ ๋๋ฒ๊ทธ ๊ธฐํธ ๋ฃ๊ธฐ
@andrew-m-leonard์ ๊ด๋ จ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ๋ก์ ํธ(ํซ์คํ ๋น๋์ ๊ฒฝ์ฐ)์์ ์ด๋ฌํ ์ํฐํฉํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ถ๊ฐ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ ๋ฌด์์ ์ค๋ช ํ ์ ์์ต๋๊น?
๋ฐ๋ผ์ https://bugs.openjdk.java.net/browse/JDK-8252233์ ๋ณ๊ฒฝํ๋ฉด ๋์์ ํตํด ์์ ๋๋ฒ๊ทธ ๊ธฐํธ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
make symbols-image
"build/*/images/symbols" ์ด๋ฏธ์ง๊ฐ ์์ฑ๋ฉ๋๋ค.
Adopt ๋น๋์์ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ "make product-images"์๋ "symbols-image"๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์ด๋ฏธ ์์ฑ ์ค์ธ ๊ธฐํธ ์ด๋ฏธ์ง ํด๋๊ฐ ์์์ ์์์ผ ํฉ๋๋ค.
@andrew-m-leonard - jdk16+ ๋๋ ๋ชจ๋ ๋ฒ์ ์ ๋ํด์๋ง ๋์์ ์ง์ ํฉ๋๊น? ์๋ง๋ ์ฝ๋์์ https://github.com/AdoptOpenJDK/openjdk-build/issues/2042#issuecomment -742898474์์ ์ด๋ฅผ ํ์ฑํํ๋๋ก ๋ณ๊ฒฝํ ์์น๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์์ต๋๋ค.
@milderhc ์๋
ํ์ธ์ Milder, ์ ๋ ์
์คํธ๋ฆผ openjdk๊ฐ ์ง์ํ๋ ๊ฒ์ ์ดํด๋ณด๊ณ ์์ผ๋ฉฐ ํ์ฌ ๋ฒ์ ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค.
jdk16+ : https://bugs.openjdk.java.net/browse/JDK-8252233 ์ง์์ผ๋ก ์ด์ "make symbol-image"๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค. ์ "์์ง ์ด๋ฏธ์ง"๊ฐ "์ ํ ์ด๋ฏธ์ง"๋ฉ์ดํฌ์
๋์์ ์ผ๋ถ์ด๋ฉฐ, jdk8 + ์ด๋ฏธ ์ฑํ์ ์ํด ๊ทธ ๋์์ ๋น๋ : https://github.com/AdoptOpenJDK/openjdk-build/blob/87f799024a58d392255eead1cd83d93515410b2e/configureBuild.sh#L206 . ์ด๊ฒ์ jdk16+์ ๊ฒฝ์ฐ ์ด๋ฏธ "build/*/symbols/.." ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ ์์์ ์๋ฏธํฉ๋๋ค. ๋น๋๊ฐ ๋๋ ๋ ์์นด์ด๋ธํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ด ๋ผ์ธ์ "symbols" ํด๋๋ฅผ ์ด๋ํด์ผ ํฉ๋๋ค. https:// github.com/AdoptOpenJDK/openjdk-build/blob/88c0d77255264cc92423d534de9c3563d4fb0903/sbin/build.sh#L632 ie."${BUILD_CONFIG[DEBUG_IMAGE_PATH]16+์ ๋ํ jd besymbol์ด ํ์ํฉ๋๋ค.
jdk11u & jdk8u: ๋ฐ๋ผ์ ์ด ๋ ์ง์ ๋ชจ๋ "์ฌ๋ณผ ์ด๋ฏธ์ง"๋ฅผ ๋ง๋ค์ง๋ง JDK-8252233์ด ์์ผ๋ฏ๋ก ์ด๋ฏธ์ง ๋ฒ๋ค์ ์์ฑํ์ง ์๊ณ ๊ธฐํธ๋ฅผ jdk ์ด๋ฏธ์ง "lib" ํด๋์ ๋ฐฐ์นํฉ๋๋ค. ์ฆ, ์ฌ๊ธฐ์ ๋ ๊ฐ์ง ์ต์
์ด ์์ต๋๋ค.
1) JDK-8252233์ ๋ฐฑํฌํธํ๊ณ jdk16+์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ์ด๊ฒ์ ์๋ง๋ ์ด์์ ์ด์ง๋ง ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์
๋๋ค ...
2) sbin/build.sh์ ๋
ผ๋ฆฌ๋ฅผ ์ถ๊ฐํ์ฌ ๊ธฐํธ๋ฅผ lib์์ ์ ์์น๋ก ์ด๋ํฉ๋๋ค. ์ด๋ฏธ ์๋ฃํ ๊ฒ ๊ฐ์ต๋๊น? https://github.com/AdoptOpenJDK/openjdk-build/blob/88c0d77255264cc92423d534de9c3563d4fb0903/sbin/build.sh#L651 jdk16+์์ ์๋ํฉ๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ ์ ๋์ JDK-8252233์ ๋ฌด์ํ์ญ์์ค.
์ด์ ์ ๋น๋ arg: --create-debug-symbols-package๋ฅผ ์ถ๊ฐํ ๊ฒ์ ๋ณด์์ผ๋ฏ๋ก ์ง๋ฌธํ ์ง๋ฌธ์ ์ด ์ค์ ์ ์ธ์ true๋ก ์ค์ ํด์ผ ํ๋๋๋ ๊ฒ์
๋๋ค. ์ธ์ ๋? ๊ทธ๋ ๋ค๋ฉด https://github.com/AdoptOpenJDK/openjdk-build/blob/master/build-farm/make-adopt-build-farm.sh ์์ ์ค์ ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
ํน์ ํ๋ซํผ ๋๋ ๋ฒ์ ์์๋ง ์ค์ ์ ์ํ๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ: https://github.com/AdoptOpenJDK/openjdk-build/tree/master/build-farm/platform-specific-configurations
@milderhc --create-debug-symbols-package๋ฅผ ํ์ฑํํ๊ธฐ ์ ์ ํ๊ฐํด์ผ ํ๋ ๋ ๋ค๋ฅธ ์ค์ํ ์ฌ์ค์ ์ฉ๋ ๊ณํ์ ์ํด ์ฌ๋ณผ ์์นด์ด๋ธ๊ฐ ๋น๋์ ์ถ๊ฐํ ๊ณต๊ฐ์ด ์ผ๋ง๋ ๋ฉ๋๊น? ์ด๊ฒ์ osbuild x ๋ณํ x ๋ฒ์ ๋น xMB๋ฅผ ์ถ๊ฐํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์...?
@sxa fyi
์๋ ํ์ธ์ @andrew-m-leonard, ์ด์ ๋ํด ์ดํด๋ณด๊ณ ์์ธํ ์ค๋ช ์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
--create-debug-symbols-package
์ต์
์ jdk8u, jdk11u ๋ฐ jdk16+์์ ์๋ํฉ๋๋ค. ๋น๋ ํ์ดํ๋ผ์ธ์ ์ํด ํธ์ถ๋๋ make-adopt-build-farm.sh
์ง์ ํฌํจํ ์ ์์ต๋๊น?
Linux์์ jdk11u์ ๊ณต๊ฐ(MB)์ ์ฝ 230MB์ด๊ณ macOS ๋ฐ Windows์ ๊ฒฝ์ฐ ์ฝ 40MB์ ๋๋ค. jdk8u์์ LInux์ ๊ฒฝ์ฐ ์ฝ 100MB, Windows์ ๊ฒฝ์ฐ 5MB์ ๋๋ค. jdk16์ ํฌ๊ธฐ๋ jdk11u์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค.
@milderhc ์๋ ํ์ธ์, ๋น ๋ฅธ ์ง๋ฌธ ํ๋, ํ์ฌ openj9 "-debug-image"์ ์๋ก์ด "-debug-symbols"์ ์ฐจ์ด์ ์ ๋ฌด์์ ๋๊น?
ํซ์คํ์ ํ๋์ "๋๋ฒ๊ทธ ์ด๋ฏธ์ง"๋ผ๊ณ ๋ ๋ถ๋ฅด๋ ๊ฒ์ด ์ด์น์ ๋ง์ต๋๊น?
ํฌ๊ธฐ์ ๋ํ ๋๋ต์ ์ธ ๊ณ์ฐ:
๊ฐ ๋ฒ์ ์ ๋ํด ๋น๋๋ฅผ ์บ์ํ๋ ํ๋ซํผ:
ํ์ฌ ์บ์ํ์ง ์๋ ํ๋ซํผ:
AIX : ws ํด๋ฆฌ์ด
zLinux : ws ์ญ์ ๋จ
Win : tmp ws์ ๋ง์ง๋ง ๋น๋๋ง ์บ์ํฉ๋๋ค.
x๋ฆฌ๋
์ค : ๋์ปค
aarch64 : ๋์ปค
๋ชจ๋ ๋ฒ์ x ํ๋ซํผ์ ๋ํ "๋ง์คํฐ" ๋ ธ๋ ์์นด์ด๋ธ ์คํ ๋ฆฌ์ง:
jdk8:
- 11 Linux = 1100MB
- 5 mac & win = 25MB
jdk11:
- 9 Linux = 2160MB
- 4 mac & win = 160MB
jdk15:
- 7 Linux = 1680MB
- 3 mac & win = 120MB
jdk16:
- 7 Linux =1680MB
- 4 mac & win = 160MB
jdk17:
- 7 Linux = 1680MB
- 4 mac & win = 160MB
๋ฐ๋ผ์ Jenkins "๋ง์คํฐ"์์ ๊ฐ๊ฐ์ ์ ์์นด์ด๋ธ๋ ํ์ดํ๋ผ์ธ ๋น๋ ํฌ๊ธฐ์ ๋๋ต 1.1-2.3Gb ์ถ๊ฐ ์ฆ๊ฐ
@sxa fyi
๋ ์์ ๋ ๊ฐ์ ๊ฒ์ ๋ฌป๊ณ ์์๋ค. ๋๋ ๊ทธ๋ค์ด ๊ฐ๋ค๊ณ ์๊ฐํ๋ค. ์ฌ์ค --with-debug-symbols-package
์ ํจ๊ป openj9์ฉ ์คํฌ๋ฆฝํธ๋ฅผ ํธ์ถํ๋ฉด ๋ ๊ฐ์ ํจํค์ง๋ฅผ ์ป์ ์ ์์ต๋๋ค. debug-symbol์ ์ด๋ฆ์ debug-image๋ก ๋ฐ๊พธ๋ ๊ฒ๋ ์ด์น์ ๋ง์ต๋๋ค.
๋ ์์ ๋ ๊ฐ์ ๊ฒ์ ๋ฌป๊ณ ์์๋ค. ๋๋ ๊ทธ๋ค์ด ๊ฐ๋ค๊ณ ์๊ฐํ๋ค. ์ฌ์ค
--with-debug-symbols-package
์ ํจ๊ป openj9์ฉ ์คํฌ๋ฆฝํธ๋ฅผ ํธ์ถํ๋ฉด ๋ ๊ฐ์ ํจํค์ง๋ฅผ ์ป์ ์ ์์ต๋๋ค. debug-symbol์ ์ด๋ฆ์ debug-image๋ก ๋ฐ๊พธ๋ ๊ฒ๋ ์ด์น์ ๋ง์ต๋๋ค.
๋ค ๋์ํฉ๋๋ค
๋ ์์ ๋ ๊ฐ์ ๊ฒ์ ๋ฌป๊ณ ์์๋ค. ๋๋ ๊ทธ๋ค์ด ๊ฐ๋ค๊ณ ์๊ฐํ๋ค. ์ฌ์ค
--with-debug-symbols-package
์ ํจ๊ป openj9์ฉ ์คํฌ๋ฆฝํธ๋ฅผ ํธ์ถํ๋ฉด ๋ ๊ฐ์ ํจํค์ง๋ฅผ ์ป์ ์ ์์ต๋๋ค. debug-symbol์ ์ด๋ฆ์ debug-image๋ก ๋ฐ๊พธ๋ ๊ฒ๋ ์ด์น์ ๋ง์ต๋๋ค.
๋ฐ๋ผ์ openj9์ ๊ฒฝ์ฐ ํ์ฌ์ ๊ฐ์ด ํ์ฌ "๋๋ฒ๊ทธ ์ด๋ฏธ์ง" make target์ ์ฌ์ฉํ๊ณ ๋ค๋ฅธ ๋ณํ์ ๊ฒฝ์ฐ "๋๋ฒ๊ทธ ์ด๋ฏธ์ง"๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ถ๊ฐํ ์ ๋ ผ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ๋ก์ง์ ์ ๋ฐ์ดํธํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์๊ฒ ์ต๋๋ค. ๋จผ์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
@milderhc ์๋
@andrew-m-leonard ์๋ ํ์ธ์, ๋ต๋ณ์ด ๋ฆ์ด ์ฃ์กํฉ๋๋ค. ํ ์์ฒญ์ ๋ง๋ค์์ต๋๋ค. https://github.com/AdoptOpenJDK/openjdk-build/pull/2393
@milderhc ๊ฐ์ฌํฉ๋๋ค, ๊ทธ PR์ด ์ข์ ๋ณด์ ๋๋ค. ๋ณํฉ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค.
์ด์ ๋น๋ ์ถ๋ ฅ ์ ๋ฆฌ PR์ด ๋ณํฉ๋์์ผ๋ฉฐ ์ ์ฉํ๋ ค๋ฉด ๋น๋ ๋
ธ๋ ์ ์ฒด์ ์ ํํด์ผ ํฉ๋๋ค. ํ์ฌ ๊ฐ์ฅ ์ฌ์ ๊ณต๊ฐ์ด ์๋ ๋น๋ ๋
ธ๋๋ 2๊ฐ์ arm ๋
ธ๋์ด๋ฉฐ ํ์ฌ ๊ฐ๊ฐ 3Gb, 4Gb์ ์ฌ์ ๊ณต๊ฐ์ด ์์ต๋๋ค. ํ์ฌ ๋์
ํ๋ฉด ์ด 2๋์ ์์คํ
์ ์ฝ 1.2Gb๋ก ์ฃผ๋ณํํ ์ ์์ต๋๋ค.
ํด๋ฆฐ ๋น๋ ์ถ๋ ฅ์ด ๋
ธ๋ ์ ์ฒด์ ์ ํ๋๋ฉด ์ค๋ณต ์ฌ์ฉ์ ํ์ธํ๊ณ ๋
ธ๋๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด ๊ฐ๊ฐ์ ๊ฒ์ฌํ ๊ฒ์
๋๋ค.
build-scaleway-ubuntu1604-armv7-1์ ๋ฐฉ๊ธ ์กฐ์ฌํ ๊ฒฐ๊ณผ ๋น๋ ์ถ๋ ฅ ์ ๋ฆฌ๋ 8Gb๋ฅผ ํด์ ํด์ผ ํฉ๋๋ค.
@sxa fyi
jdk8/11/16/17์ arm์ฉ ๋น๋ ํ์ดํ๋ผ์ธ์ ์ ์ถํ์ต๋๋ค.
์๋ก์ด ํ ๋
ธ๋ ๊ณต๊ฐ:
@milderhc --create-debug-image๋ฅผ ํ์ฑํํ๊ธฐ ์ํ PR์ ์ ์ํ์๊ฒ ์ต๋๊น?
https://github.com/AdoptOpenJDK/openjdk-build/blob/ecb4ce1182b079fb88cc77ce871e3ad1216e4612/build-farm/make-adopt-build-farm.sh#L163
๊ฐ์ฌํฉ๋๋ค, @andrew-m-leonard, ๋๋ฒ๊ทธ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ ์ ์๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ ๊น์?
์ฌ๊ธฐ ์์ต๋๋ค: https://github.com/AdoptOpenJDK/openjdk-build/pull/2443
๋๋ฒ๊ทธ ์ด๋ฏธ์ง๊ฐ ์๋ ํซ์คํ์ฉ Nightly ๋น๋๋ ์ด์ ์น ์ฌ์ดํธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. https://adoptopenjdk.net/nightly.html?variant=openjdk8&jvmVariant=hotspot
๋จ์ ๊ฒ๋ค: