하모니카 묻고답하기
2018.07.03 13:13
Thunar Repairer Plugin 패키지 만들기 실패 ㅜㅜ
조회 수 1572 추천 수 0 댓글 4
주분투 18.04와 같은 우분투 18.04 기반의 Xfce 환경에서 쓰려고
MoorDev 님의 블로그 http://moordev.tistory.com/119 를 참고하여
32비트용 Thunar Repairer Plugin 패키지를 만들고 있습니다.
$ sudo apt install xfce4-dev-tools libthunarx-2-dev libexo-1-dev
$ sudo apt install autoconf intltool automake autotools-dev libtool
$ sudo apt install checkinstall
위와 같은 패키지들이 필요하다고 해서 다 설치했습니다.
xubuntu@xubuntu-virtual-machine:~/thunar-repairer-plugin-master$ ./autogen.sh
xdt-autogen: It is recommended to use IT_PROG_INTLTOOL([0.35.0])
in your configure.ac file and remove AC_PROG_INTLTOOL
See http://bugzilla.xfce.org/show_bug.cgi?id=8930 for
more information.
Preparing package directory /home/xubuntu/thunar-repairer-plugin-master...
Creating /home/xubuntu/thunar-repairer-plugin-master/aclocal.m4...
Running glib-gettextize --force --copy...
Copying file po/Makefile.in.in
Please add the files
codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4
progtest.m4
from the /usr/share/aclocal directory to your autoconf macro directory
or directly to your aclocal.m4 file.
You will also need config.guess and config.sub, which you can get from
ftp://ftp.gnu.org/pub/gnu/config/.
Running intltoolize --automake --copy --force
Patching file 'po/Makefile.in.in'
Running libtoolize --force --copy...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: You should add the contents of the following files to 'aclocal.m4':
libtoolize: '/usr/share/aclocal/libtool.m4'
libtoolize: '/usr/share/aclocal/ltoptions.m4'
libtoolize: '/usr/share/aclocal/ltsugar.m4'
libtoolize: '/usr/share/aclocal/ltversion.m4'
libtoolize: '/usr/share/aclocal/lt~obsolete.m4'
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Running aclocal -I /usr/share/xfce4/dev-tools/m4macros -I /usr/share/xfce4/dev-tools/m4macros -I /usr/share/xfce4/dev-tools/m4macros...
Running autoheader...
Running automake --force-missing --add-missing --copy --gnu...
configure.ac:61: installing './compile'
configure.ac:47: installing './config.guess'
configure.ac:47: installing './config.sub'
configure.ac:53: installing './install-sh'
configure.ac:53: installing './missing'
Makefile.am: installing './INSTALL'
thunar-fnr/Makefile.am: installing './depcomp'
Running autoconf...
Running /home/xubuntu/thunar-repairer-plugin-master/configure --enable-maintainer-mode ...
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
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 whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking for style of include used by make... GNU
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 dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -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 minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking how to print strings... printf
checking for ld used by gcc... /usr/bin/i686-linux-gnu-ld
checking if the linker (/usr/bin/i686-linux-gnu-ld) is GNU ld... yes
checking whether NLS is requested... yes
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.26.1
checking for XML::Parser... ok
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop
checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/i686-linux-gnu-ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/i686-linux-gnu-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for bind_textdomain_codeset... (cached) yes
checking for locales directory... ${datarootdir}/locale
checking for additional xgettext flags... --keyword=Q_ --from-code=UTF-8
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for thunarx-2 >= 0.4.0... 1.6.15
checking THUNARX_CFLAGS... -pthread -I/usr/include/thunarx-2 -I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include
checking THUNARX_LIBS... -lthunarx-2 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype -lgio-2.0 -lgobject-2.0 -lglib-2.0
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for exo-1 >= 0.5.0... 0.12.0
checking EXO_CFLAGS... -pthread -I/usr/include/exo-1 -I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/xfce4 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include
checking EXO_LIBS... -lexo-1 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lxfce4util -lglib-2.0
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libxfce4util-1.0 >= 4.6.0... 4.12.1
checking LIBXFCE4UTIL_CFLAGS... -I/usr/include/xfce4 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include
checking LIBXFCE4UTIL_LIBS... -lxfce4util -lglib-2.0
checking whether to build with debugging support... yes
checking if gcc supports -DXFCE_DISABLE_DEPRECATED... yes
checking if gcc supports -Wall... yes
checking if gcc supports -Wextra... yes
checking if gcc supports -Wno-missing-field-initializers... yes
checking if gcc supports -Wno-unused-parameter... yes
checking if gcc supports -Wold-style-definition... yes
checking if gcc supports -Wdeclaration-after-statement... yes
checking if gcc supports -Wmissing-declarations... yes
checking if gcc supports -Wmissing-noreturn... yes
checking if gcc supports -Wshadow... yes
checking if gcc supports -Wpointer-arith... yes
checking if gcc supports -Wcast-align... yes
checking if gcc supports -Wformat... yes
checking if gcc supports -Wformat-security... yes
checking if gcc supports -Wformat-y2k... yes
checking if gcc supports -Winit-self... yes
checking if gcc supports -Wmissing-include-dirs... yes
checking if gcc supports -Wundef... yes
checking if gcc supports -Wnested-externs... yes
checking if gcc supports -fstack-protector... yes
checking if gcc supports -Wredundant-decls... yes
checking if gcc supports -g... yes
checking whether /usr/bin/i686-linux-gnu-ld accepts --as-needed... yes
checking whether /usr/bin/i686-linux-gnu-ld accepts -O1... yes
checking PLATFORM_CPPFLAGS...
checking PLATFORM_CFLAGS...
checking PLATFORM_LDFLAGS...
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating thunar-fnr/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing po/stamp-it commands
Now type "make" to compile.
xubuntu@xubuntu-virtual-machine:~/thunar-repairer-plugin-master$ make
make all-recursive
make[1]: 디렉터리 '/home/xubuntu/thunar-repairer-plugin-master' 들어감
Making all in po
make[2]: 디렉터리 '/home/xubuntu/thunar-repairer-plugin-master/po' 들어감
make[2]: 'all'을(를) 위해 할 일이 없습니다.
make[2]: 디렉터리 '/home/xubuntu/thunar-repairer-plugin-master/po' 나감
Making all in thunar-fnr
make[2]: 디렉터리 '/home/xubuntu/thunar-repairer-plugin-master/thunar-fnr' 들어감
CC thunar_fnr_la-thunar-action-menu.lo
CC thunar_fnr_la-thunar-fnr-plugin.lo
CC thunar_fnr_la-thunar-fnr-provider.lo
CCLD thunar-fnr.la
make[2]: 디렉터리 '/home/xubuntu/thunar-repairer-plugin-master/thunar-fnr' 나감
make[2]: 디렉터리 '/home/xubuntu/thunar-repairer-plugin-master' 들어감
make[2]: 디렉터리 '/home/xubuntu/thunar-repairer-plugin-master' 나감
make[1]: 디렉터리 '/home/xubuntu/thunar-repairer-plugin-master' 나감
xubuntu@xubuntu-virtual-machine:~/thunar-repairer-plugin-master$
흠 make가 되는지 안 되는지 모르겠네요 ㅠㅠ
혹시나 해서 configure.ac 파일에서 AC_PROG_INTLTOOL() 을 지우고
IT_PROG_INTLTOOL([0.35.0]) 로 바꾸어 보았습니다.
xubuntu@xubuntu-virtual-machine:~/thunar-repairer-plugin-master$ make
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/xubuntu/thunar-repairer-plugin-master/missing aclocal-1.15
cd . && /bin/bash /home/xubuntu/thunar-repairer-plugin-master/missing automake-1.15 --gnu
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/xubuntu/thunar-repairer-plugin-master/missing autoconf
/bin/bash ./config.status --recheck
running CONFIG_SHELL=/bin/bash /bin/bash ./configure --enable-maintainer-mode --no-create --no-recursion
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
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 whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking for style of include used by make... GNU
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 dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -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 minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking how to print strings... printf
checking for ld used by gcc... /usr/bin/i686-linux-gnu-ld
checking if the linker (/usr/bin/i686-linux-gnu-ld) is GNU ld... yes
checking whether NLS is requested... yes
checking for intltool >= 0.35.0... 0.51.0 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.26.1
checking for XML::Parser... ok
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop
checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/i686-linux-gnu-ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/i686-linux-gnu-ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
./configure: line 13625: syntax error near unexpected token `XDT_CHECK_PACKAGE'
./configure: line 13625: `XDT_CHECK_PACKAGE(THUNARX, thunarx-2, 0.4.0)'
Makefile:432: recipe for target 'config.status' failed
make: *** [config.status] Error 2
xubuntu@xubuntu-virtual-machine:~/thunar-repairer-plugin-master$
에러가 뜹니다 ㅠㅠ
어떻게 해야 32비트용 패키지를 만들 수 있을까 고민입니다.
주분투 18.04에서 작업 중입니다.
휴... 어렵네요
- ?
-
?
아하 그렇군요! ㅎㅎ
블로그에 ln 처리 부분이 있어서 32비트에 맞추어서 다시 해보았습니다.
cd /usr/lib/i386-linux-gnu/thunarx-2/
sudo ln -s /usr/local/lib/thunarx-2/thunar-fnr.la
sudo ln -s /usr/local/lib/thunarx-2/thunar-fnr.so
몇 가지 질문을 드려도 될까요?
1. 혹시 checkinstall 과정에서
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs?
이 부분은 뭘로 해야 할까요?
Y 해도 될듯 해서 Y 하긴 했습니다만... ㅎㅎ
2. caja-repairer 에 필요한 개발 도구들은 혹시 뭐가 있을까요?
우분투마테에서도 32비트용으로 만들려고 합니다. ㅎㅎ
블로그와 답변이 많은 도움이 되었습니다. 감사합니다^^
-
?
1. 패키지용 설명문서를 만들겠다는 의미니 y를 눌러서 들어가도 상관없습니다.
2. https://github.com/LinuxMatt/caja-repairer
여기의 소스를 컴파일하면 되는데 Configure할 때 없다는 라이브러리를 일일이 설치했던거 같습니다. 기억이 안 나네요. -
?
N 눌러서 안 만들어도 되겠군요. ㅎㅎ
caja-repairer에서는 없는 패키지를 하나 둘씩 찾아야 겠군요.
답변 감사합니다.
make하면서 별 소리없이 그냥 프롬프트 떨어지면 컴파일된겁니다. 이제 checkinstall하시면 패키지 만들면서 설치까지 될겁니다.