代码之家  ›  专栏  ›  技术社区  ›  Zelphir Kaltstahl

编译g-wrap

  •  0
  • Zelphir Kaltstahl  · 技术社区  · 6 年前

    我正在尝试编译g-wrap http://www.nongnu.org/g-wrap/download.html

    但是,当我执行常规步骤(配置、生成、生成安装)时,在 make 步骤:

    步骤1: ./configure

    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 to enable maintainer-specific portions of Makefiles... yes
    checking whether make supports nested variables... (cached) yes
    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 ranlib... ranlib
    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 build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking how to print strings... printf
    checking for a sed that does not truncate output... /bin/sed
    checking for fgrep... /bin/grep -F
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    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 whether the shell understands some XSI constructs... yes
    checking whether the shell understands "+="... yes
    checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/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... (cached) ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    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/ld -m elf_x86_64) 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 for shl_load... no
    checking for shl_load in -ldld... no
    checking for dlopen... no
    checking for dlopen in -ldl... yes
    checking whether a program can dlopen itself... yes
    checking whether a statically linked program can dlopen itself... no
    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... yes
    checking size of long... 8
    checking whether byte ordering is bigendian... no
    checking for size_t... yes
    checking for working alloca.h... yes
    checking for alloca... yes
    checking for long long int... yes
    checking for unsigned long long int... yes
    checking for stdint.h... (cached) yes
    checking stdio.h usability... yes
    checking stdio.h presence... yes
    checking for stdio.h... yes
    checking wchar.h usability... yes
    checking wchar.h presence... yes
    checking for wchar.h... yes
    checking for EOVERFLOW... yes
    checking for vasnprintf... no
    checking for long double... yes
    checking for wchar_t... yes
    checking for wint_t... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for intmax_t... yes
    checking for inline... inline
    checking for alloca as a compiler built-in... yes
    checking for stdint.h... (cached) yes
    checking for SIZE_MAX... yes
    checking absolute name of <stdint.h>... ///usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h
    checking whether stdint.h conforms to C99... yes
    checking absolute name of <stdio.h>... ///usr/include/stdio.h
    checking for ptrdiff_t... yes
    checking for snprintf... yes
    checking for wcslen... yes
    checking for vasprintf... yes
    checking whether <wchar.h> is standalone... yes
    checking for stdint.h... (cached) yes
    checking for alloca as a compiler built-in... (cached) yes
    checking for vasprintf... (cached) yes
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for LIBFFI... yes
    checking size of size_t... 8
    checking size of ssize_t... 8
    checking for pkg-config... (cached) /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    configure: checking for guile 2.2
    configure: found guile 2.2
    checking for guile... /usr/local/bin/guile
    checking for Guile version >= 2.2... 2.2.3
    checking for guild... /usr/local/bin/guild
    checking for guile-config... /usr/local/bin/guile-config
    checking for ld used by gcc... /usr/bin/ld -m elf_x86_64
    checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
    checking for shared library run path origin... done
    checking for GUILE... yes
    checking for guile-2.2... no
    configure: Using /usr/local/bin/guile
    checking for GLIB... yes
    configure: building GLib 2.0 support
    checking whether gcc accepts -std=gnu99... yes
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating lib/Makefile
    config.status: creating g-wrap/Makefile
    config.status: creating test/Makefile
    config.status: creating guile/Makefile
    config.status: creating guile/g-wrap-2.0-guile.pc
    config.status: creating guile/g-wrap/Makefile
    config.status: creating guile/g-wrap/gw/Makefile
    config.status: creating guile/test/Makefile
    config.status: creating guile/run-guile
    config.status: creating guile/examples/Makefile
    config.status: creating scheme48/Makefile
    config.status: creating scheme48/g-wrap/Makefile
    config.status: creating scheme48/g-wrap/gw/Makefile
    config.status: creating scheme48/test/Makefile
    config.status: creating doc/Makefile
    config.status: creating g-wrap-config
    config.status: creating config.h
    config.status: config.h is unchanged
    config.status: creating g-wrap/ffi-support.h
    config.status: g-wrap/ffi-support.h is unchanged
    config.status: executing depfiles commands
    config.status: executing libtool commands
    config.status: executing run-guile-exec commands
    

    第2步: 制作

    make  all-recursive
    make[1]: Entering directory '/home/user/development/GuileScheme/g-wrap-1.9.15'
    Making all in lib
    make[2]: Entering directory '/home/user/development/GuileScheme/g-wrap-1.9.15/lib'
    make  all-am
    make[3]: Entering directory '/home/user/development/GuileScheme/g-wrap-1.9.15/lib'
    make[3]: Nothing to be done for 'all-am'.
    make[3]: Leaving directory '/home/user/development/GuileScheme/g-wrap-1.9.15/lib'
    make[2]: Leaving directory '/home/user/development/GuileScheme/g-wrap-1.9.15/lib'
    Making all in g-wrap
    make[2]: Entering directory '/home/user/development/GuileScheme/g-wrap-1.9.15/g-wrap'
    make  all-am
    make[3]: Entering directory '/home/user/development/GuileScheme/g-wrap-1.9.15/g-wrap'
    make[3]: Leaving directory '/home/user/development/GuileScheme/g-wrap-1.9.15/g-wrap'
    make[2]: Leaving directory '/home/user/development/GuileScheme/g-wrap-1.9.15/g-wrap'
    Making all in test
    make[2]: Entering directory '/home/user/development/GuileScheme/g-wrap-1.9.15/test'
    make[2]: Nothing to be done for 'all'.
    make[2]: Leaving directory '/home/user/development/GuileScheme/g-wrap-1.9.15/test'
    Making all in guile
    make[2]: Entering directory '/home/user/development/GuileScheme/g-wrap-1.9.15/guile'
    Making all in g-wrap
    make[3]: Entering directory '/home/user/development/GuileScheme/g-wrap-1.9.15/guile/g-wrap'
    Making all in .
    make[4]: Entering directory '/home/user/development/GuileScheme/g-wrap-1.9.15/guile/g-wrap'
      CC       guile-runtime.lo
    guile-runtime.c: In function 'gw_guile_add_subr_method':
    guile-runtime.c:182:9: error: 'scm_class_top' is deprecated [-Werror=deprecated-declarations]
             specializers = scm_cons (scm_class_top, specializers);
             ^~~~~~~~~~~~
    In file included from /usr/local/include/guile/2.2/libguile.h:128:0,
                     from ../../guile/g-wrap/guile-compatibility.h:25,
                     from guile-runtime.c:32:
    /usr/local/include/guile/2.2/libguile/deprecated.h:168:20: note: declared here
     SCM_DEPRECATED SCM scm_class_top;
                        ^~~~~~~~~~~~~
    guile-runtime.c:189:5: error: 'scm_class_top' is deprecated [-Werror=deprecated-declarations]
         specializers = scm_append_x (scm_list_2 (specializers, scm_class_top));
         ^~~~~~~~~~~~
    In file included from /usr/local/include/guile/2.2/libguile.h:128:0,
                     from ../../guile/g-wrap/guile-compatibility.h:25,
                     from guile-runtime.c:32:
    /usr/local/include/guile/2.2/libguile/deprecated.h:168:20: note: declared here
     SCM_DEPRECATED SCM scm_class_top;
                        ^~~~~~~~~~~~~
    guile-runtime.c:225:23: error: 'scm_class_method' is deprecated [-Werror=deprecated-declarations]
                           scm_list_5 (scm_class_method,
                           ^~~~~~~~~~
    In file included from /usr/local/include/guile/2.2/libguile.h:128:0,
                     from ../../guile/g-wrap/guile-compatibility.h:25,
                     from guile-runtime.c:32:
    /usr/local/include/guile/2.2/libguile/deprecated.h:180:20: note: declared here
     SCM_DEPRECATED SCM scm_class_method;
                        ^~~~~~~~~~~~~~~~
    guile-runtime.c: In function 'allocate_generic_variable':
    guile-runtime.c:355:28: error: 'scm_class_generic' is deprecated [-Werror=deprecated-declarations]
                                scm_list_3 (scm_class_generic, k_name, sym));
                                ^~~~~~~~~~
    In file included from /usr/local/include/guile/2.2/libguile.h:128:0,
                     from ../../guile/g-wrap/guile-compatibility.h:25,
                     from guile-runtime.c:32:
    /usr/local/include/guile/2.2/libguile/deprecated.h:174:20: note: declared here
     SCM_DEPRECATED SCM scm_class_generic;
                        ^~~~~~~~~~~~~~~~~
    guile-runtime.c:357:3: error: 'scm_class_generic' is deprecated [-Werror=deprecated-declarations]
       } else if (scm_is_true (scm_call_2 (is_a_p_proc, scm_variable_ref (var),
       ^
    In file included from /usr/local/include/guile/2.2/libguile.h:128:0,
                     from ../../guile/g-wrap/guile-compatibility.h:25,
                     from guile-runtime.c:32:
    /usr/local/include/guile/2.2/libguile/deprecated.h:174:20: note: declared here
     SCM_DEPRECATED SCM scm_class_generic;
                        ^~~~~~~~~~~~~~~~~
    guile-runtime.c:357:3: error: 'scm_class_generic' is deprecated [-Werror=deprecated-declarations]
       } else if (scm_is_true (scm_call_2 (is_a_p_proc, scm_variable_ref (var),
       ^
    In file included from /usr/local/include/guile/2.2/libguile.h:128:0,
                     from ../../guile/g-wrap/guile-compatibility.h:25,
                     from guile-runtime.c:32:
    /usr/local/include/guile/2.2/libguile/deprecated.h:174:20: note: declared here
     SCM_DEPRECATED SCM scm_class_generic;
                        ^~~~~~~~~~~~~~~~~
    guile-runtime.c:367:28: error: 'scm_class_generic' is deprecated [-Werror=deprecated-declarations]
                                scm_list_5 (scm_class_generic,
                                ^~~~~~~~~~
    In file included from /usr/local/include/guile/2.2/libguile.h:128:0,
                     from ../../guile/g-wrap/guile-compatibility.h:25,
                     from guile-runtime.c:32:
    /usr/local/include/guile/2.2/libguile/deprecated.h:174:20: note: declared here
     SCM_DEPRECATED SCM scm_class_generic;
                        ^~~~~~~~~~~~~~~~~
    guile-runtime.c: In function 'gw_guile_handle_wrapper_error':
    guile-runtime.c:759:7: error: 'scm_memory_error' is deprecated [-Werror=deprecated-declarations]
           scm_memory_error(func_name);
           ^~~~~~~~~~~~~~~~
    In file included from /usr/local/include/guile/2.2/libguile.h:128:0,
                     from ../../guile/g-wrap/guile-compatibility.h:25,
                     from guile-runtime.c:32:
    /usr/local/include/guile/2.2/libguile/deprecated.h:148:21: note: declared here
     SCM_DEPRECATED void scm_memory_error (const char *subr) SCM_NORETURN;
                         ^~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    Makefile:592: recipe for target 'guile-runtime.lo' failed
    make[4]: *** [guile-runtime.lo] Error 1
    make[4]: Leaving directory '/home/user/development/GuileScheme/g-wrap-1.9.15/guile/g-wrap'
    Makefile:656: recipe for target 'all-recursive' failed
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory '/home/user/development/GuileScheme/g-wrap-1.9.15/guile/g-wrap'
    Makefile:518: recipe for target 'all-recursive' failed
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory '/home/user/development/GuileScheme/g-wrap-1.9.15/guile'
    Makefile:673: recipe for target 'all-recursive' failed
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory '/home/user/development/GuileScheme/g-wrap-1.9.15'
    Makefile:479: recipe for target 'all' failed
    make: *** [all] Error 2
    

    上面写着: cc1: all warnings being treated as errors . 这会使有关折旧的警告作为错误弹出,然后取消编译过程。

    如何修复已弃用的代码的使用,或者:我是否可以以某种方式保存地忽略这些代码,并在使用已弃用的代码的情况下继续编译?

    系统信息

    • 乌班图17.04
    • G-WRAP版本: 1.9.15
    • GCC版本: gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
    • Guile版本: 2.2.3
    1 回复  |  直到 6 年前
        1
  •  1
  •   Knud Larsen    6 年前

    我正在尝试编译g-wrap….G-WRAP-1.9.15.tar.gz包装

    “G-WRAP-1.9.15”型: sudo apt install g-wrap

    如果您真的想要构建它,请安装默认的guile-2.0.13: sudo apt install guile-2.0-dev …例如,G-WRAP太旧(2016年),无法使用Guile-2.2。

    cd g-wrap-1.9.15/ 
    ./configure 
    make                // no errors
    
    推荐文章