안녕하세요. 얼마전 크리타 리뷰를 올렸던 만화가 엄두, 정종욱이라고 합니다.
리뷰글에서도 잠깐 말한 적 있었던 AzPainter 이 버젼 2로 업그레이드 되었다하여 오늘 다운 받아봤는데요.
그동안은 프로그램을 설치할 때 설치패키지로 다운받거나 소프트웨어 저장소에서 간단하게 받았었는데, 이건 컴파일을 해서 설치하는 방식이라고 하더군요. 어찌저찌 부족한 패키지를 메꿔넣어 ./configure 까지는 들어갔습니다. 그런데 make가 안되더군요;;; 하하;; 모자란 내 두뇌여 ㅠㅠ.
우선 공식 홈페이지 (http://azsky2.html.xdomain.jp/linux/azpainter/index.html) 를 가보니, '동작 환경' 이라는 메뉴에
- X11R6 이상 (XInput2을 사용하는 경우는 X11R7.5 이상)
...이라고 나와있더군요. 이게 무슨 말인지는 모르겠지만, 우선 적어봅니다.
그리고 다음은 ./cofigure 명령을 넣었을때 터미널에서 실행된 결과입니다.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for ranlib... ranlib
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... -std=gnu99
checking for gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for "/usr/include/freetype2/ft2build.h"... yes
checking fontconfig/fontconfig.h usability... yes
checking fontconfig/fontconfig.h presence... yes
checking for fontconfig/fontconfig.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for XShmCreateImage in -lXext... no
checking for XIQueryDevice in -lXi... no
checking for X... libraries , headers
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating mlib/Makefile
config.status: creating src/Makefile
config.status: creating data/Makefile
config.status: creating data/texture/Makefile
config.status: creating desktop/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles command
그리고 다음은 make 명령의 실행 결과입니다.
make all-recursive
make[1]: Entering directory `/home/umdoooo/다운로드/azpainter-2.0.0'
Making all in mlib
make[2]: Entering directory `/home/umdoooo/다운로드/azpainter-2.0.0/mlib'
make[2]: `all'를 위해 할 일이 없습니다
make[2]: Leaving directory `/home/umdoooo/다운로드/azpainter-2.0.0/mlib'
Making all in src
make[2]: Entering directory `/home/umdoooo/다운로드/azpainter-2.0.0/src'
gcc -std=gnu99 -pthread -g -O2 -o azpainter AppCursor.o ConfigData.o configfile.o main.o draw/draw_boxedit.o draw/draw_calc.o draw/draw_canvas.o draw/draw_image.o draw/draw_layer.o draw/draw_load_adw.o draw/draw_load_apd_v1v2.o draw/draw_loadsave_apd_v3.o draw/draw_loadsave_psd.o draw/draw_main.o draw/draw_op_brush.o draw/draw_op_func1.o draw/draw_op_func2.o draw/draw_op_main.o draw/draw_op_spline.o draw/draw_op_sub.o draw/draw_op_xor.o draw/draw_rule.o draw/draw_save_image.o draw/draw_select.o draw/draw_update.o filter/PerlinNoise.o filter/filter_antialiasing.o filter/filter_blur.o filter/filter_color.o filter/filter_comic.o filter/filter_draw.o filter/filter_effect.o filter/filter_mediancut.o filter/filter_other1.o filter/filter_subfunc.o filter/filter_transform.o image/ImageBuf24.o image/ImageBuf8.o image/ImageBufRGB16.o image/ImageBufRGB16_canvas.o image/PixbufDraw.o image/TileImage.o image/TileImage_draw.o image/TileImage_draw_brush.o image/TileImage_draw_sub.o image/TileImage_edit.o image/TileImage_imagefile.o image/TileImage_pixel.o image/TileImage_pv.o image/TileImage_scaling.o image/TileImage_select.o image/TileImage_type_a1.o image/TileImage_type_a16.o image/TileImage_type_gray.o image/TileImage_type_rgba.o image/blendcol.o other/BrushItem.o other/BrushList.o other/BrushSizeList.o other/ColorPalette.o other/ColorValue.o other/DrawFill.o other/DrawFont.o other/DrawPointBuf.o other/FillPolygon.o other/FilterSaveData.o other/GradationList.o other/LayerItem.o other/LayerList.o other/MaterialImgList.o other/SinTable.o other/SplineBuf.o other/Undo.o other/UndoItem.o other/UndoItem_base.o other/UndoItem_sub.o other/UndoItem_tileimg.o other/file_apd_v3.o other/undo_compress.o widget/BoxEditTransformDlg.o widget/BrushDetailDlg.o widget/BrushListEdit.o widget/CanvasCtrlBar.o widget/CanvasDialogs.o widget/CanvasKeyDlg.o widget/DockArrangeDlg.o widget/DockBrush.o widget/DockBrushList.o widget/DockBrushSize.o widget/DockBrushValue.o widget/DockCanvasCtrl.o widget/DockCanvasView.o widget/DockCanvasViewArea.o widget/DockCanvasView_dlg.o widget/DockColor.o widget/DockColorPalette.o widget/DockColorPalette_colpal.o widget/DockColorPalette_editpaldlg.o widget/DockColorPalette_gradbar.o widget/DockColorPalette_hlspal.o widget/DockColorPalette_tab.o widget/DockColor_tab.o widget/DockColor_widget.o widget/DockFilterList.o widget/DockImageViewer.o widget/DockImageViewerArea.o widget/DockLayer.o widget/DockLayer_area.o widget/DockLayer_param.o widget/DockObject.o widget/DockOption.o widget/DockOption_other.o widget/DockOption_tool.o widget/DockOption_tool_grad.o widget/DockTool.o widget/DrawTextDlg.o widget/EnvOptionDlg.o widget/FileDialog.o widget/FilterBar.o widget/FilterDlg.o widget/FilterPrev.o widget/FilterWgLevel.o widget/FilterWgRepcol.o widget/GradationEditDlg.o widget/GradationEditWidget.o widget/GridOptDlg.o widget/LayerColorDlg.o widget/LayerDialogs.o widget/MainWinCanvas.o widget/MainWindow.o widget/MainWindow_cmd.o widget/MainWindow_file.o widget/MainWindow_filter.o widget/MainWindow_layer.o widget/NewImageDlg.o widget/PopupSliderZoom.o widget/PopupThread.o widget/PressureWidget.o widget/PrevCursor.o widget/PrevImage8.o widget/PrevTileImage.o widget/SaveOptionDlg.o widget/SelMaterial.o widget/SelMaterialDlg.o widget/ShortcutKeyDlg.o widget/StatusBar.o widget/ValueBar.o widget/calc_homography.o ../mlib/libmlib.a -lX11 -lXext -lfontconfig -lfreetype -lpng -ljpeg -lz -lrt -lm
/usr/bin/ld: cannot find -lXext
collect2: error: ld returned 1 exit status
make[2]: *** [azpainter] 오류 1
make[2]: Leaving directory `/home/umdoooo/다운로드/azpainter-2.0.0/src'
make[1]: *** [all-recursive] 오류 1
make[1]: Leaving directory `/home/umdoooo/다운로드/azpainter-2.0.0'
make: *** [all] 오류 2
그리고 다음은 make install 명령어의 실행결과입니다.
Making install in mlib
make[1]: Entering directory `/home/umdoooo/다운로드/azpainter-2.0.0/mlib'
make[2]: Entering directory `/home/umdoooo/다운로드/azpainter-2.0.0/mlib'
make[2]: `install-exec-am'를 위해 할 일이 없습니다
make[2]: `install-data-am'를 위해 할 일이 없습니다
make[2]: Leaving directory `/home/umdoooo/다운로드/azpainter-2.0.0/mlib'
make[1]: Leaving directory `/home/umdoooo/다운로드/azpainter-2.0.0/mlib'
Making install in src
make[1]: Entering directory `/home/umdoooo/다운로드/azpainter-2.0.0/src'
gcc -std=gnu99 -pthread -g -O2 -o azpainter AppCursor.o ConfigData.o configfile.o main.o draw/draw_boxedit.o draw/draw_calc.o draw/draw_canvas.o draw/draw_image.o draw/draw_layer.o draw/draw_load_adw.o draw/draw_load_apd_v1v2.o draw/draw_loadsave_apd_v3.o draw/draw_loadsave_psd.o draw/draw_main.o draw/draw_op_brush.o draw/draw_op_func1.o draw/draw_op_func2.o draw/draw_op_main.o draw/draw_op_spline.o draw/draw_op_sub.o draw/draw_op_xor.o draw/draw_rule.o draw/draw_save_image.o draw/draw_select.o draw/draw_update.o filter/PerlinNoise.o filter/filter_antialiasing.o filter/filter_blur.o filter/filter_color.o filter/filter_comic.o filter/filter_draw.o filter/filter_effect.o filter/filter_mediancut.o filter/filter_other1.o filter/filter_subfunc.o filter/filter_transform.o image/ImageBuf24.o image/ImageBuf8.o image/ImageBufRGB16.o image/ImageBufRGB16_canvas.o image/PixbufDraw.o image/TileImage.o image/TileImage_draw.o image/TileImage_draw_brush.o image/TileImage_draw_sub.o image/TileImage_edit.o image/TileImage_imagefile.o image/TileImage_pixel.o image/TileImage_pv.o image/TileImage_scaling.o image/TileImage_select.o image/TileImage_type_a1.o image/TileImage_type_a16.o image/TileImage_type_gray.o image/TileImage_type_rgba.o image/blendcol.o other/BrushItem.o other/BrushList.o other/BrushSizeList.o other/ColorPalette.o other/ColorValue.o other/DrawFill.o other/DrawFont.o other/DrawPointBuf.o other/FillPolygon.o other/FilterSaveData.o other/GradationList.o other/LayerItem.o other/LayerList.o other/MaterialImgList.o other/SinTable.o other/SplineBuf.o other/Undo.o other/UndoItem.o other/UndoItem_base.o other/UndoItem_sub.o other/UndoItem_tileimg.o other/file_apd_v3.o other/undo_compress.o widget/BoxEditTransformDlg.o widget/BrushDetailDlg.o widget/BrushListEdit.o widget/CanvasCtrlBar.o widget/CanvasDialogs.o widget/CanvasKeyDlg.o widget/DockArrangeDlg.o widget/DockBrush.o widget/DockBrushList.o widget/DockBrushSize.o widget/DockBrushValue.o widget/DockCanvasCtrl.o widget/DockCanvasView.o widget/DockCanvasViewArea.o widget/DockCanvasView_dlg.o widget/DockColor.o widget/DockColorPalette.o widget/DockColorPalette_colpal.o widget/DockColorPalette_editpaldlg.o widget/DockColorPalette_gradbar.o widget/DockColorPalette_hlspal.o widget/DockColorPalette_tab.o widget/DockColor_tab.o widget/DockColor_widget.o widget/DockFilterList.o widget/DockImageViewer.o widget/DockImageViewerArea.o widget/DockLayer.o widget/DockLayer_area.o widget/DockLayer_param.o widget/DockObject.o widget/DockOption.o widget/DockOption_other.o widget/DockOption_tool.o widget/DockOption_tool_grad.o widget/DockTool.o widget/DrawTextDlg.o widget/EnvOptionDlg.o widget/FileDialog.o widget/FilterBar.o widget/FilterDlg.o widget/FilterPrev.o widget/FilterWgLevel.o widget/FilterWgRepcol.o widget/GradationEditDlg.o widget/GradationEditWidget.o widget/GridOptDlg.o widget/LayerColorDlg.o widget/LayerDialogs.o widget/MainWinCanvas.o widget/MainWindow.o widget/MainWindow_cmd.o widget/MainWindow_file.o widget/MainWindow_filter.o widget/MainWindow_layer.o widget/NewImageDlg.o widget/PopupSliderZoom.o widget/PopupThread.o widget/PressureWidget.o widget/PrevCursor.o widget/PrevImage8.o widget/PrevTileImage.o widget/SaveOptionDlg.o widget/SelMaterial.o widget/SelMaterialDlg.o widget/ShortcutKeyDlg.o widget/StatusBar.o widget/ValueBar.o widget/calc_homography.o ../mlib/libmlib.a -lX11 -lXext -lfontconfig -lfreetype -lpng -ljpeg -lz -lrt -lm
/usr/bin/ld: cannot find -lXext
collect2: error: ld returned 1 exit status
make[1]: *** [azpainter] 오류 1
make[1]: Leaving directory `/home/umdoooo/다운로드/azpainter-2.0.0/src'
make: *** [install-recursive] 오류 1
...음... 저는 멘붕에 빠지고 말았습니다. 이 결과값이 뜻하는 바가 무엇인지 알려주실수 있는 고수분 계시나요? ;ㅂ;/ 제 사용환경은 리눅스 민트 하모니카 마테 버젼입니다.
긴 글 읽어주시고 생각해주셔서 감사합니다. 2017년 새해 힘차게 시작하시길!
설치파일을 뒤져보니까 설치 가이드 파일이 있었네요. (미리 확인해 볼 걸;;) 이런 내용으로요.
=====================================
* What you need to compile
=====================================
- gcc
- make
- Xlib (libX11)
- Xext (libXext)
- XInput2 (libXi)
- freetype2 (libfreetype)
- fontconfig (libfontconfig)
- zlib
- libpng
- libjpeg
## Required packages in each distribution
----------------------------------------------
>> Debian/Ubuntu
gcc make libx11-dev libxext-dev libxi-dev libfreetype6-dev
libfontconfig1-dev zlib1g-dev libjpeg-dev
libpng-dev (Debian 9.0 / Ubuntu 16.10 or later)
or libpng12-dev (before Debian 8.0 / Ubuntu 16.04)
... 우선, 여기서 언급된 패키지들을 하나씩 깔아보며 실험해봐야겠습니다.