내 목표는 Gimp를 수동으로 컴파일할 수 있도록 gtk 버전을 컴파일하는 것입니다. 저는 Gimp 2.6을 사용하고 최신 배포판은 2.8 이상만 사용하기 때문에 이것이 필요합니다. 그래서 나는 gimp 2.6.x를 컴파일할 수 있도록 이전 gtk를 수동으로 컴파일하기로 결정했습니다.
GTK에 필요한 모든 라이브러리(대부분의 X 라이브러리 스택 포함)를 컴파일하는 능력을 말로 표현하려고 노력한 후에 Pango의 컴파일 실패로 인해 내 노력이 좌절되었음을 알게 되었습니다.
GTK에는 X 지원이 활성화된 Pango가 필요합니다. 이 작업을 시도했지만 X 지원이 활성화된 Pango 컴파일(1.8.2 또는 1.20.5)을 만드는 동안 끝없는 메시지가 생성됩니다.
예를 들어, pango 1.20.5의 경우 make 전에 다음 명령을 사용했습니다.
./configure --x-libraries=/media/34GB/Arquivos-de-Programas-Linux/X11-1.6.7/lib/ --x-includes=/media/34GB/Arquivos-de-Programas-Linux/X11-1.6.7/include/ PKG_CONFIG_PATH=/media/34GB/Arquivos-de-Programas-Linux/Fontconfig-2.4.0/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Freetype-2.2.1/lib/pkgconfig/:/media/34GB/Arquivos-de-Programas-Linux/Glib-2.14.6/lib/pkgconfig/ XFT_CFLAGS=/media/34GB/Arquivos-de-Programas-Linux/Xft-2.1.12/include/ XFT_LIBS=/media/34GB/Arquivos-de-Programas-Linux/Xft-2.1.12/lib/
분명히 아주 잘 작동합니다.
그러나 컴파일(make) 중에 끝없는 오류 메시지가 나타납니다. 그들 중 일부
../pango/pango-layout.h:253: 오류: 'PangoLayoutRun' 앞에 선언 지정자가 필요합니다.
/usr/include/_G_config.h:31: 오류: '_G_fpos64_t' 매개변수에 지정된 스토리지 클래스 /usr/include/stdio.h:675: 오류: 'ungetc' 매개변수에 지정된 스토리지 클래스 ../pango/pango-modules .h:31: 오류: 'PangoMap' 매개변수에 저장소 클래스가 지정되었습니다.
오류 메시지는 거의 끝이 없습니다. 그러나 컴파일은 X 및 xft 지원 없이도 잘 작동합니다.
문제는...내가 무엇을 할 수 있느냐는 것입니다. 새로운 pango 버전을 테스트하고 그 중 하나가 작동하기를 바라시나요? X 지원을 활성화하기 위해 Pango가 필요하지 않은 최신 gtk를 사용하려고 하시나요?
답변1
리눅스 빌드 시스템을 더 잘 배우려는 여러분의 노력이 헛되지 않기를 바랍니다.
그러나 보다 합리적인 해결책은 Gimp 2.6과 함께 일부 Linux 배포판의 도커 이미지 버전을 사용하고 다음과 같이 실행하는 것입니다.
http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/