파이썬 포트 shared 포함

[FreshPorts]lang/python 포트가 2.3에 처음 올라왔을 때는 멋있게 보이려고 –enable-shared를 디폴트로 짠!하고 넣었다가. [WWW]파이썬 공유 라이브러리의 진실에 대해 깨닫고 다시 static으로 잽싸게 바꾸었는데, static이 단순하고 빠른 면은 아주 좋은데 몇가지 문제점이 최근에 많이 제기 되었습니다. 흐흐

  • 파이썬을 엠베드하는 컨슈머들이 몽땅 정적라이브러리를 링크해버려서, 파이썬 업그레이드할 때 같이 안 딸려 올라가기 때문에 호환성 문제가 생길 수 있고, 파이썬 버전 올라갈 때 마다 고역이다. (대부분의 의견)

  • ia64나 amd64같이 PIC바이너리와 non-PIC바이너리가 전혀 링크조차 안 되는 플랫폼에서 PIC바이너리 링크를 제공해 주기 위해서 결국은 static까지도 PIC로 컴파일해야해서 static으로 하는 득이 많이 줄어든다.

  • 쪼끄만 프로그램에 커다란 파이썬 정적 라이브러리를 붙이려니 괜히 낭비다.

  • 정적 라이브러리는 동적 라이브러리에 대한 의존성이 기록이 안 되기 때문에, [FreshPorts]www/mod_python3 같은 포트에서 동적 라이브러리에 대한 의존성이 무시되는 바람에, pthread라이브러리를 같이 물고 들어올 수가 없다.

등등.. 아우성이라서 결국은 빌드방식을 약간 바꿔서 정적빌드를 몽땅 한 다음에, 서브디렉토리에서 [FreeBSDMan]make 의 VPATH 변수 기능을 이용해서 libpython2.3.so와 python-shared만 빌드하도록 수정했습니다. 그래서 결국은 빌드 시간이 1/3정도 길어졌는데, shared 옹호파와 static 옹호파 양쪽을 모두 만족시키는 방법은 이것밖에 없다싶어서 Y.Y

그래서 이제는 곧 기본 파이썬 포트에서 bin/python 바이너리 외에 bin/python-shared 바이너리도 설치하게 되는데, python-shared는

    파이썬 -> 파이썬 확장모듈 -> 파이썬을 엠베드하는 공유라이브러리 -> 파이썬 공유라이브러리

식으로 붙는 일부 KDE 애플리케이션들을 위해서 넣어두는데 평소에는 별 쓸모는 없을 듯 합니다. 흐흐

메일링에서의 토의는: http://lists.freebsd.org/pipermail/freebsd-python/2004-March/thread.html

14 thoughts on “파이썬 포트 shared 포함”

  1. 아앗. 이게 링크가 자동으로 깨져버려리는(;;) 버그가 있는데 곧 수정하도록 하겠습니다~;

Comments are closed.