mil ๊ธฐ๋ฐ Linux ๋ฐฐํฌํ์ธ AlpineLinux์์ numpy์ ํ
์คํธ ์ค ์ผ๋ถ๊ฐ ์คํจํฉ๋๋ค. ๋ก๊ทธ๊ฐ ์ฒจ๋ถ๋์ด ์์ต๋๋ค.
๋ก๊ทธ.txt
๋ ๊ฐ์ง ์ ํ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ๋๋ ๋๋ฝ๋ ๋ค์ํ ์ค๋ฒํ๋ก/์ธ๋ํ๋ก ์์ธ์ ๋ํ ๊ฒ์ด๊ณ , ๋ ๋ฒ์งธ๋ musl์ ์ผ๊ฐ ํจ์์ ์๋ชป๋ ๊ฒฐ๊ณผ์ ๋ํ ๊ฒ์ ๋๋ค.
์ฒซ ๋ฒ์งธ๋ musl ๋น๋์ fenv.h
ํค๋๋ฅผ ํฌํจํ์ฌ ์์ ํ ์ ์์ต๋๋ค. AFAIU ์ด๊ฒ์ __GLIBC__
๋ฅผ __GNUC__
๋ก ๋์ฒดํ์ฌ __GLIBC__
numpy/numpy/core/src/npymath/ieee754.c.src
๋ฐ numpy/core/include/numpy/ufuncobject.h
์์ ์ํํ ์ ์์ต๋๋ค. __GNUC__
๋ ๋ฒ์งธ ๊ทธ๋ฃน์ numpy/numpy/core/src/private/npy_config.h
์์ glibc๋ฟ๋ง ์๋๋ผ musl์์๋ ์ผ๊ฐ ํจ์๋ฅผ ๋นํ์ฑํํ์ฌ ์์ ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ฌธ์ ๋ musl์ด ์ด๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด __GLIBC__
์ ๊ฐ์ ๋งคํฌ๋ก๋ฅผ ์ ๊ณตํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค.
๊ทธ๋์ ์ง๋ฌธ, numpy๋ ๊ทธ๋ฌํ ํจ์น์ ๊ด์ฌ์ด ์์ต๋๊น? ๊ทธ๊ฒ์ ๊ตฌํํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ด ๋ฌด์์ธ์ง ์๊ฒฌ์ ๊ณต์ ํด ์ฃผ์๊ฒ ์ต๋๊น?
๊ทธ๋ ์ง ์์ผ๋ฉด ํจ์น๋ฅผ AlpineLinux์ฉ ํด๋น ํจํค์ง์์ ๊ตฌํํ ์ ์์ต๋๋ค.
์, ์ํ์ธ ์ฌ์ฉ์์๊ฒ๋ ์ฌ์ ํ numpy๊ฐ ์์ต๋๋ค(๋์ปค ๊ธฐ๋ฐ์ผ๋ก ์ ์ ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์). ๊ทธ๊ฒ์ ์ฐ๋ฆฌ ํ์ด์ฌ ์ฌ์ฉ์๋ค์ ์ถ์ ๋น์ฐธํ๊ฒ ๋ง๋ค์์ต๋๋ค. ํจ์น๋ฅผ ๋ณด๊ณ ์ถ์ต๋๋ค.
AlpineLinux๋ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๊น? ๋์ผํ ์ผ๊ฐ ํจ์๊ฐ ์คํจํ๋ฉด glibc์ ๋งค์ฐ ๊ฐ๊น์ด ๊ฒ์ด์ด์ผ ํฉ๋๋ค.
์๊ฒ ์ต๋๋ค. ๋จธ์ฌ์
๋๋ค. musl์ ์กด์ฌ๋ฅผ ์๋ณํ๋ ๋งคํฌ๋ก๊ฐ ์ ๋ง ์์ต๋๊น? ํ ๊ฐ์ง ๋ฌธ์ ๋ gnuc ์ปดํ์ผ๋ฌ์ ๊ฒฐํฉ๋ ๋ค๋ฅธ libc ๊ตฌํ์ด๋ฏ๋ก __GNUC__
๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ชจ๋ ์๋ชป๋ libm ๋ฒ์ ์ ๋ช
์์ ๋ชฉ๋ก์ ๊ฐ๊ณ ์ ํ๋ ๋ ๋ค๋ฅธ ๊ฒฝ์ฐ
์ฐ๋ฆฌ๋ฅผ ๋ฌผ์ด๋ฏ๋๋ค :-/ ๋๊ตฐ๊ฐ๊ฐ ํนํ ์๊ฐ์ ๋ฐ๊ณ ์๋ค๋ฉด,
ํฌ๊ด์ ์ธ ์๋ฃจ์
์ #7173์ ํด๊ฒฐํ๋ ๊ฒ์
๋๋ค.
2016๋
3์ 18์ผ ์คํ 6์ 13๋ถ์ "Charles Harris" [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์๊ฒ ์ต๋๋ค. ๋จธ์ฌ์ ๋๋ค. musl์ ์กด์ฌ๋ฅผ ์๋ณํ๋ ๋งคํฌ๋ก๊ฐ ์ ๋ง ์์ต๋๊น?
ํ ๊ฐ์ง ๋ฌธ์ ๋ gnuc ์ปดํ์ผ๋ฌ์ ๊ฒฐํฉ๋ ๋ค๋ฅธ libc ๊ตฌํ์ ๋๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ GNUC๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/numpy/numpy/issues/7128#issuecomment -198597654
#12095์ ๋ณต์ , ๋ค๋ฅธ ํ๋์ ๋ ๋ง์ ์ ๋ณด๊ฐ ์์ผ๋ฏ๋ก ๋ซ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์, ์ํ์ธ ์ฌ์ฉ์์๊ฒ๋ ์ฌ์ ํ numpy๊ฐ ์์ต๋๋ค(๋์ปค ๊ธฐ๋ฐ์ผ๋ก ์ ์ ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์). ๊ทธ๊ฒ์ ์ฐ๋ฆฌ ํ์ด์ฌ ์ฌ์ฉ์๋ค์ ์ถ์ ๋น์ฐธํ๊ฒ ๋ง๋ค์์ต๋๋ค. ํจ์น๋ฅผ ๋ณด๊ณ ์ถ์ต๋๋ค.