linux gcc static dynamic linked compiling

本文详细介绍了在Linux环境下如何创建和使用静态库(.a)与动态库(.so),包括它们的生成过程、链接方式及依赖管理等内容。
src:http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
gcc object1.o object2.o -Wl,-Bstatic -lapplejuice -Wl,-Bdynamic -lorangejuice -o binary

Why libraries are used:

This methodology, also known as "shared components" or "archive libraries", groups together multiple compiled object code files into a single file known as a library. Typically C functions/C++ classes and methods which can be shared by more than one application are broken out of the application's source code, compiled and bundled into a library. The C standard libraries and C++ STL are examples of shared components which can be linked with your code. The benefit is that each and every object file need not be stated when linking because the developer can reference the individual library. This simplifies the multiple use and sharing of software components between applications. It also allows application vendors a way to simply release an API to interface with an application. Components which are large can be created for dynamic use, thus the library remain separate from the executable reducing it's size and thus disk space used. The library components are then called by various applications for use when needed.


Linux Library Types:

There are two Linux C/C++ library types which can be created:

  1. Static libraries (.a): Library of object code which is linked with, and becomes part of the application.
  2. Dynamically linked shared object libraries (.so): There is only one form of this library but it can be used in two ways.
    1. Dynamically linked at run time but statically aware. The libraries must be available during compile/link phase. The shared objects are not included into the executable component but are tied to the execution.
    2. Dynamically loaded/unloaded and linked during execution (i.e. browser plug-in) using the dynamic linking loader system functions.

Library naming conventions:
Libraries are typically names with the prefix "lib". This is true for all the C standard libraries. When linking, the command line reference to the library will not contain the library prefix or suffix.

Thus the following link command: gcc src-file.c -lm -lpthread  The libraries referenced in this example for inclusion during linking are the math library and the thread library. They are found in /usr/lib/libm.aand /usr/lib/libpthread.a.


Static Libraries: (.a)

How to generate a library:

  • Compile: cc -Wall -c ctest1.c ctest2.c  Compiler options:
    • -Wall: include warnings. See man page for warnings specified.
  • Create library "libctest.a": ar -cvq libctest.a ctest1.o ctest2.o
  • List files in library: ar -t libctest.a
  • Linking with the library:
    • cc -o executable-name prog.c libctest.a
    • cc -o executable-name prog.c -L/path/to/library-directory -lctest
  • Example files:
    • ctest1.c
      void ctest1(int *i)
      {
         *i=5;
      }
                  
    • ctest2.c
      void ctest2(int *i)
      {
         *i=100;
      }
                  
    • prog.c
      #include <stdio.h>
      void ctest1(int *);
      void ctest2(int *);
      
      int main()
      {
         int x;
         ctest1(&x);
         printf("Valx=%d\n",x);
      
         return 0;
      }
                  
Historical note: After creating the library it was once necessary to run the command: ranlib ctest.a. This created a symbol table within the archive. Ranlib is now embedded into the "ar" command.

Note for MS/Windows developers: The Linux/Unix ".a" library is conceptually the same as the Visual C++ static ".lib" libraries.


Dynamically Linked "Shared Object" Libraries: (.so)

How to generate a shared object: (Dynamically linked object library file.) Note that this is a two step process.

  1. Create object code
  2. Create library
  3. Optional: create default version using a symbolic link.
Library creation example:
    gcc -Wall -fPIC -c *.c
    gcc -shared -Wl,-soname,libctest.so.1 -o libctest.so.1.0   *.o
    mv libctest.so.1.0 /opt/lib
    ln -sf /opt/lib/libctest.so.1.0 /opt/lib/libctest.so
    ln -sf /opt/lib/libctest.so.1.0 /opt/lib/libctest.so.1
          
This creates the library  libctest.so.1.0 and symbolic links to it.

Compiler options:

  • -Wall: include warnings. See man page for warnings specified.
  • -fPIC: Compiler directive to output position independent code, a characteristic required by shared libraries. Also see "-fpic".
  • -shared: Produce a shared object which can then be linked with other objects to form an executable.
  • -W1: Pass options to linker. 
    In this example the options to be passed on to the linker are: "-soname libctest.so.1". The name passed with the "-o" option is passed to gcc.
  • Option -o: Output of operation. In this case the name of the shared object to be output will be "libctest.so.1.0"

Library Links:

  • The link to /opt/lib/libctest.so allows the naming convention for the compile flag -lctest to work.
  • The link to /opt/lib/libctest.so.1 allows the run time binding to work. See dependency below.

Compile main program and link with shared object library:

Compiling for runtime linking with a dynamically linked  libctest.so.1.0:
    gcc -Wall -I/path/to/include-files -L/path/to/libraries prog.c -lctest -o prog
Use:
    gcc -Wall -L/opt/lib prog.c -lctest -o prog
      
Where the name of the library is  libctest.so. (This is why you must create the symbolic links or you will get the error "/usr/bin/ld: cannot find -lctest".) 
The libraries will NOT be included in the executable but will be dynamically linked during runtime execution.

List Dependencies:

The shared library dependencies of the executable can be listed with the command: ldd name-of-executable

Example:  ldd prog
        libctest.so.1 => /opt/lib/libctest.so.1 (0x00002aaaaaaac000)
        libc.so.6 => /lib64/tls/libc.so.6 (0x0000003aa4e00000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003aa4c00000)
    

Run Program:

  • Set path: export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH
  • Run: prog

Man Pages:

  • gcc - GNU C compiler
  • ld - The GNU Linker
  • ldd - List dependencies

Links:


Library Path:

In order for an executable to find the required libraries to link with during run time, one must configure the system so that the libraries can be found. Methods available: (Do at least one of the following)

  1. Add library directories to be included during dynamic linking to the file /etc/ld.so.conf

    Sample: /etc/ld.so.conf

    /usr/X11R6/lib
    /usr/lib
    ...
    ..
    /usr/lib/sane
    /usr/lib/mysql
    /opt/lib
                        
    Add the library path to this file and then execute the command (as root) ldconfig to configure the linker run-time bindings. 
    You can use the "-f file-name" flag to reference another configuration file if you are developing for different environments. 
    See man page for command ldconfig.

    OR

  2. Add specified directory to library cache: (as root) 
    ldconfig -n /opt/lib 
    Where /opt/lib is the directory containing your library libctest.so 
    (When developing and just adding your current directory: ldconfig -n . Link with -L.)

    This will NOT permanently configure the system to include this directory. The information will be lost upon system reboot.

    OR

  3. Specify the environment variable LD_LIBRARY_PATH to point to the directory paths containing the shared object library. This will specify to the run time loader that the library paths will be used during execution to resolve dependencies. 
    (Linux/Solaris: LD_LIBRARY_PATH, SGI: LD_LIBRARYN32_PATH, AIX: LIBPATH, Mac OS X: DYLD_LIBRARY_PATH, HP-UX: SHLIB_PATH)

tplink@5e15b687a070:~/code/be900v2/Iplatform/build$ make PRODUCT_NAME=be900v2 iplatform_package/xtables-addons/{clean,compile,install} V=s openssl support zlib make[1]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[2]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[2]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[2]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Entering directory '/home/tplink/code/be900v2/prplos/platform/feeds/public/prplos-v3.1.0/feed_opensource/kernel/xtables-addons' [DEBUG] Using external toolchain: CONFIG_EXTERNAL_TOOLCHAIN is set [DEBUG] Broadcom platform detected: CONFIG_IPF_PLATFORM_BCM is set [DEBUG] Added include paths: /home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include and /home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/uapi ==========XT_PCTL_ALONE = 1========== ==========CONFIG_PACKAGE_XTABLES_ADDONS_VERSION = "v2.14"========== ==========XT_PCTL_VERSION = ========== rm -f /home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/stamp/._installed rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-compat-xtables_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-nathelper-rtsp_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-account_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-account_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-httphost_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-httphost_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-urlfilter_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-urlfilter_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-app_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-app_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-pctl_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-pctl_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-chaos_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-chaos_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-condition_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-condition_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-delude_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-delude_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-dhcpmac_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-dhcpmac_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-dnetmap_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-dnetmap_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-fuzzy_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-fuzzy_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-geoip_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-geoip_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-iface_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-iface_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-ipmark_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-ipmark_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-ipp2p_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-ipp2p_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-ipv4options_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-ipv4options_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-length2_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-length2_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-logmark_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-logmark_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-lscan_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-lscan_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-lua_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-lua_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-psd_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-psd_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-quota2_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-quota2_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-sysrq_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-sysrq_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-trigger_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-trigger_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-tarpit_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-tarpit_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-LOOPBACKDNAT_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-LOOPBACKDNAT_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-markext_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-MARKEXT_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-V6PORTS_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-V6PORTS_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptables-mod-CHECKPORTS_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/kmod-ipt-CHECKPORTS_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptaccount_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/iptgeoip_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/bin/model_brcm_bcm490x-be900v2/packages/xtables-addons_* rm -f /home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/packages/.list /home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/host/packages/.list rm -rf /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14 make[3]: Leaving directory '/home/tplink/code/be900v2/prplos/platform/feeds/public/prplos-v3.1.0/feed_opensource/kernel/xtables-addons' make[2]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[1]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[1]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[2]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[2]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[2]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt' make[3]: Entering directory '/home/tplink/code/be900v2/prplos/platform/feeds/private/domain-login_module' WARNING: skipping kmod-domain-login_module -- package not selected make[3]: Leaving directory '/home/tplink/code/be900v2/prplos/platform/feeds/private/domain-login_module' make[3]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt/package/libmnl' make[3]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt/package/libmnl' make[3]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt/package/libnfnetlink' make[3]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt/package/libnfnetlink' make[3]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt/package/libnetfilter-conntrack' make[3]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt/package/libnetfilter-conntrack' make[3]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt/package/iptables' WARNING: skipping iptables-mod-conntrack-extra -- package not selected WARNING: skipping iptables-mod-filter -- package not selected WARNING: skipping iptables-mod-ipopt -- package not selected WARNING: skipping iptables-mod-nat-extra -- package not selected WARNING: skipping iptables-mod-ulog -- package not selected WARNING: skipping iptables-mod-hashlimit -- package not selected WARNING: skipping iptables-mod-led -- package not selected WARNING: skipping iptables-mod-tproxy -- package not selected WARNING: skipping iptables-mod-tee -- package not selected WARNING: skipping iptables-mod-u32 -- package not selected WARNING: skipping iptables-mod-nflog -- package not selected WARNING: skipping libiptc -- package not selected make[3]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt/package/iptables' make[3]: Entering directory '/home/tplink/code/be900v2/prplos/platform/feeds/public/prplos-v3.1.0/feed_opensource/kernel/xtables-addons' [DEBUG] Using external toolchain: CONFIG_EXTERNAL_TOOLCHAIN is set [DEBUG] Broadcom platform detected: CONFIG_IPF_PLATFORM_BCM is set [DEBUG] Added include paths: /home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include and /home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/uapi ==========XT_PCTL_ALONE = 1========== ==========CONFIG_PACKAGE_XTABLES_ADDONS_VERSION = "v2.14"========== ==========XT_PCTL_VERSION = ========== mkdir -p /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14 cp -fpR /home/tplink/code/be900v2/Iplatform/openwrt/../../prplos/platform/src/public/xtables-addons/src-2.14//* /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14 #add by chenrui cp -fpR /home/tplink/code/be900v2/Iplatform/openwrt/../../prplos/platform/src/public/xtables-addons/src-2.14//xt_pctl_avira/* /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions ------------copy xt_pctl_avira------------ #add end -------XTABLES_ADDONS_VERSION v2.14 PKG_BUILD_SRC /home/tplink/code/be900v2/Iplatform/openwrt/../../prplos/platform/src/public/xtables-addons/src-2.14/-------- touch /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/.prepared_9a1ca534f0501cd994c1fea3bf71dcfe (cd /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/./; if [ -x ./configure ]; then /usr/bin/find /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/ -name config.guess | xargs -r chmod u+w; /usr/bin/find /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/ -name config.guess | xargs -r -n1 cp /home/tplink/code/be900v2/Iplatform/openwrt/scripts/config.guess; /usr/bin/find /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/ -name config.sub | xargs -r chmod u+w; /usr/bin/find /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/ -name config.sub | xargs -r -n1 cp /home/tplink/code/be900v2/Iplatform/openwrt/scripts/config.sub; AR=arm-buildroot-linux-gnueabi-ar AS="arm-buildroot-linux-gnueabi-gcc -c " LD=arm-buildroot-linux-gnueabi-ld NM=arm-buildroot-linux-gnueabi-nm CC="arm-buildroot-linux-gnueabi-gcc" GCC="arm-buildroot-linux-gnueabi-gcc" CXX="arm-buildroot-linux-gnueabi-g++" RANLIB=arm-buildroot-linux-gnueabi-ranlib STRIP=arm-buildroot-linux-gnueabi-strip OBJCOPY=arm-buildroot-linux-gnueabi-objcopy OBJDUMP=arm-buildroot-linux-gnueabi-objdump SIZE=arm-buildroot-linux-gnueabi-size CFLAGS=" -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/linux -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/uapi -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../"bcmkernel/include" -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../"bcmkernel/include"/uapi -DPCTL_SUPPORT_IPV6 -DSUPPORT_HOMECARE_PRO_BLOCKING -DSUPPORT_HOMECARE_PRO_URL_CLASS -DPCTL_SUPPORT_IPV6 -DPCTL_LOCAL_DOMAINS='\"tplinkwifi.net\"' -DPCTL_BLOCK_URL -DTRAFFIC_STATISTICS_OPTIMIZATION" CXXFLAGS=" -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/linux -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/uapi -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../"bcmkernel/include" -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../"bcmkernel/include"/uapi -DPCTL_SUPPORT_IPV6 -DSUPPORT_HOMECARE_PRO_BLOCKING -DSUPPORT_HOMECARE_PRO_URL_CLASS -DPCTL_SUPPORT_IPV6 -DPCTL_LOCAL_DOMAINS='\"tplinkwifi.net\"' -DPCTL_BLOCK_URL -DTRAFFIC_STATISTICS_OPTIMIZATION" CPPFLAGS="-I/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr/include -I/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/include -I/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/usr-be900v2/include -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/usr/include " LDFLAGS="-L/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr/lib -L/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/lib -Wl,-rpath-link,/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr/lib -L/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/usr/lib -L/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/lib " ./configure --target=arm-openwrt-linux-uclibc --host=arm-openwrt-linux-uclibc --build=x86_64-linux-gnu --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --with-kbuild="/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19" --with-xtables="/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr" --with-xtlibdir="/usr/lib/iptables" ; fi; ) configure: WARNING: unrecognized options: --disable-nls, --with-xtables configure: loading site script /home/tplink/code/be900v2/Iplatform/openwrt/include/site/arm-openwrt-linux-uclibc checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-openwrt-linux-uclibc-strip... arm-buildroot-linux-gnueabi-strip 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 make supports nested variables... (cached) yes checking for arm-openwrt-linux-uclibc-gcc... arm-buildroot-linux-gnueabi-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... yes checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether arm-buildroot-linux-gnueabi-gcc accepts -g... yes checking for arm-buildroot-linux-gnueabi-gcc option to accept ISO C89... none needed checking whether arm-buildroot-linux-gnueabi-gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of arm-buildroot-linux-gnueabi-gcc... gcc3 checking for arm-openwrt-linux-uclibc-ar... arm-buildroot-linux-gnueabi-ar checking the archiver (arm-buildroot-linux-gnueabi-ar) interface... ar checking build system type... x86_64-pc-linux-gnu checking host system type... arm-openwrt-linux-uclibc checking how to print strings... printf checking for a sed that does not truncate output... /home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/host/bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by arm-buildroot-linux-gnueabi-gcc... arm-buildroot-linux-gnueabi-ld checking if the linker (arm-buildroot-linux-gnueabi-ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... arm-buildroot-linux-gnueabi-nm checking the name lister (arm-buildroot-linux-gnueabi-nm) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to arm-openwrt-linux-uclibc format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for arm-buildroot-linux-gnueabi-ld option to reload object files... -r checking for arm-openwrt-linux-uclibc-objdump... arm-buildroot-linux-gnueabi-objdump checking how to recognize dependent libraries... pass_all checking for arm-openwrt-linux-uclibc-dlltool... no checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for arm-openwrt-linux-uclibc-ar... (cached) arm-buildroot-linux-gnueabi-ar checking for archiver @FILE support... @ checking for arm-openwrt-linux-uclibc-strip... (cached) arm-buildroot-linux-gnueabi-strip checking for arm-openwrt-linux-uclibc-ranlib... arm-buildroot-linux-gnueabi-ranlib checking command to parse arm-buildroot-linux-gnueabi-nm output from arm-buildroot-linux-gnueabi-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 arm-openwrt-linux-uclibc-mt... no checking for mt... mt configure: WARNING: using cross tools not prefixed with host triplet checking if mt is a manifest tool... no checking how to run the C preprocessor... arm-buildroot-linux-gnueabi-gcc -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 for dlfcn.h... yes checking for objdir... .libs checking if arm-buildroot-linux-gnueabi-gcc supports -fno-rtti -fno-exceptions... no checking for arm-buildroot-linux-gnueabi-gcc option to produce PIC... -fPIC -DPIC checking if arm-buildroot-linux-gnueabi-gcc PIC flag -fPIC -DPIC works... yes checking if arm-buildroot-linux-gnueabi-gcc static flag -static works... yes checking if arm-buildroot-linux-gnueabi-gcc supports -c -o file.o... yes checking if arm-buildroot-linux-gnueabi-gcc supports -c -o file.o... (cached) yes checking whether the arm-buildroot-linux-gnueabi-gcc linker (arm-buildroot-linux-gnueabi-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 linux/netfilter/x_tables.h usability... yes checking linux/netfilter/x_tables.h presence... yes checking for linux/netfilter/x_tables.h... yes checking pkg-config is at least version 0.9.0... yes checking for xtables >= 1.4.5... yes checking Xtables module directory... /usr/lib/iptables checking kernel version that we will build against... 4.19.294.0 in /home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19 WARNING: That kernel version is not officially supported yet. Continue at own luck. checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating Makefile.iptrules config.status: creating Makefile.mans config.status: creating geoip/Makefile config.status: creating extensions/Makefile config.status: creating extensions/ACCOUNT/Makefile config.status: creating extensions/pknock/Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands configure: WARNING: unrecognized options: --disable-nls, --with-xtables rm -f /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x//.configured_* touch /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x//.configured_ make -j1 -C /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14 ARCH="arm64" CROSS_COMPILE="aarch64-buildroot-linux-gnu-" EXTRA_CFLAGS="-I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/linux -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/uapi -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../"bcmkernel/include" -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../"bcmkernel/include"/uapi -DPCTL_SUPPORT_IPV6 -DSUPPORT_HOMECARE_PRO_BLOCKING -DSUPPORT_HOMECARE_PRO_URL_CLASS -DPCTL_SUPPORT_IPV6 -DPCTL_LOCAL_DOMAINS='\"tplinkwifi.net\"' -DPCTL_BLOCK_URL -DTRAFFIC_STATISTICS_OPTIMIZATION" DESTDIR="/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/ipkg-install" DEPMOD="/bin/true" all make[4]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14' CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/build-aux/missing aclocal-1.15 -I m4 cd . && /bin/sh /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/build-aux/missing automake-1.15 --foreign Makefile.am:6: warning: ':='-style assignments are not portable Makefile.am:21: warning: ':='-style assignments are not portable Makefile.am:21: warning: shell mktemp -dtu: non-POSIX variable name Makefile.am:21: (probably a GNU make extension) CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/build-aux/missing autoconf /bin/sh ./config.status --recheck running CONFIG_SHELL=/bin/sh /bin/sh ./configure --target=arm-openwrt-linux-uclibc --host=arm-openwrt-linux-uclibc --build=x86_64-linux-gnu --program-prefix= --program-suffix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --with-kbuild=/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19 --with-xtables=/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr --with-xtlibdir=/usr/lib/iptables build_alias=x86_64-linux-gnu host_alias=arm-openwrt-linux-uclibc target_alias=arm-openwrt-linux-uclibc CC=arm-buildroot-linux-gnueabi-gcc CFLAGS= -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/linux -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/uapi -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19/../bcmkernel/include/uapi -DPCTL_SUPPORT_IPV6 -DSUPPORT_HOMECARE_PRO_BLOCKING -DSUPPORT_HOMECARE_PRO_URL_CLASS -DPCTL_SUPPORT_IPV6 -DPCTL_LOCAL_DOMAINS='"tplinkwifi.net"' -DPCTL_BLOCK_URL -DTRAFFIC_STATISTICS_OPTIMIZATION LDFLAGS=-L/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr/lib -L/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/lib -Wl,-rpath-link,/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr/lib -L/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/usr/lib -L/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/lib CPPFLAGS=-I/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr/include -I/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/include -I/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/usr-be900v2/include -I/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/usr/include PKG_CONFIG=/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/host/bin/pkg-config PKG_CONFIG_PATH=/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr/lib/pkgconfig PKG_CONFIG_LIBDIR=/home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/target-arm-openwrt-linux-uclibc-be900v2/usr/lib/pkgconfig --no-create --no-recursion configure: WARNING: unrecognized options: --disable-nls, --with-xtables configure: loading site script /home/tplink/code/be900v2/Iplatform/openwrt/include/site/arm-openwrt-linux-uclibc checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-openwrt-linux-uclibc-strip... no checking for strip... strip configure: WARNING: using cross tools not prefixed with host triplet 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 arm-openwrt-linux-uclibc-gcc... arm-buildroot-linux-gnueabi-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... yes checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether arm-buildroot-linux-gnueabi-gcc accepts -g... yes checking for arm-buildroot-linux-gnueabi-gcc option to accept ISO C89... none needed checking whether arm-buildroot-linux-gnueabi-gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of arm-buildroot-linux-gnueabi-gcc... gcc3 checking for arm-openwrt-linux-uclibc-ar... no checking for arm-openwrt-linux-uclibc-lib... no checking for arm-openwrt-linux-uclibc-link... no checking for ar... ar checking the archiver (ar) interface... ar checking build system type... x86_64-pc-linux-gnu checking host system type... arm-openwrt-linux-uclibc checking how to print strings... printf checking for a sed that does not truncate output... /home/tplink/code/be900v2/Iplatform/openwrt/staging_dir/host/bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by arm-buildroot-linux-gnueabi-gcc... /home/tplink/code/be900v2/bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/arm-buildroot-linux-gnueabi/bin/ld checking if the linker (/home/tplink/code/be900v2/bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/arm-buildroot-linux-gnueabi/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... no checking for arm-openwrt-linux-uclibc-dumpbin... no checking for arm-openwrt-linux-uclibc-link... no checking for dumpbin... no checking for link... link -dump checking the name lister (nm) 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-pc-linux-gnu file names to arm-openwrt-linux-uclibc format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /home/tplink/code/be900v2/bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/arm-buildroot-linux-gnueabi/bin/ld option to reload object files... -r checking for arm-openwrt-linux-uclibc-objdump... no checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for arm-openwrt-linux-uclibc-dlltool... no checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for arm-openwrt-linux-uclibc-ar... ar checking for archiver @FILE support... @ checking for arm-openwrt-linux-uclibc-strip... strip checking for arm-openwrt-linux-uclibc-ranlib... no checking for ranlib... ranlib checking command to parse nm output from arm-buildroot-linux-gnueabi-gcc object... ok checking for sysroot... no checking for arm-openwrt-linux-uclibc-mt... no checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... arm-buildroot-linux-gnueabi-gcc -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 for dlfcn.h... yes checking for objdir... .libs checking if arm-buildroot-linux-gnueabi-gcc supports -fno-rtti -fno-exceptions... no checking for arm-buildroot-linux-gnueabi-gcc option to produce PIC... -fPIC -DPIC checking if arm-buildroot-linux-gnueabi-gcc PIC flag -fPIC -DPIC works... yes checking if arm-buildroot-linux-gnueabi-gcc static flag -static works... yes checking if arm-buildroot-linux-gnueabi-gcc supports -c -o file.o... yes checking if arm-buildroot-linux-gnueabi-gcc supports -c -o file.o... (cached) yes checking whether the arm-buildroot-linux-gnueabi-gcc linker (/home/tplink/code/be900v2/bcm504L04/toolchain/opt/toolchains/crosstools-arm_softfp-gcc-10.3-linux-4.19-glibc-2.32-binutils-2.36.1/arm-buildroot-linux-gnueabi/bin/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 linux/netfilter/x_tables.h usability... yes checking linux/netfilter/x_tables.h presence... yes checking for linux/netfilter/x_tables.h... yes checking pkg-config is at least version 0.9.0... yes checking for libxtables... yes checking Xtables module directory... /usr/lib/iptables checking kernel version that we will build against... 4.19.294.0 in /home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19 WARNING: That kernel version is not officially supported yet. Continue at own luck. checking that generated files are newer than configure... done configure: creating ./config.status configure: WARNING: unrecognized options: --disable-nls, --with-xtables /bin/sh ./config.status config.status: creating Makefile config.status: creating Makefile.iptrules config.status: creating Makefile.mans config.status: creating geoip/Makefile config.status: creating extensions/Makefile config.status: creating extensions/ACCOUNT/Makefile config.status: creating extensions/pknock/Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands (CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/build-aux/missing autoheader) rm -f stamp-h1 touch config.h.in cd . && /bin/sh ./config.status config.h config.status: creating config.h make all-recursive make[5]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14' Making all in extensions make[6]: Entering directory '/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions' Xtables-addons 2.14 - Linux 4.19.294 if [ -n "/home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19" ]; then make -C /home/tplink/code/be900v2/Iplatform/openwrt/../../bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19 M=/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions KBUILD_EXTRA_SYMBOLS=/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions/../Module.symvers modules; fi; make[7]: Entering directory '/home/tplink/code/be900v2/bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19' CC [M] /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions/ACCOUNT/xt_ACCOUNT.o In file included from ./include/net/net_namespace.h:39, from /home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions/ACCOUNT/xt_ACCOUNT.c:18: ./include/linux/skbuff.h:605:10: fatal error: linux/bcm_skbuff.h: No such file or directory 605 | #include <linux/bcm_skbuff.h> | ^~~~~~~~~~~~~~~~~~~~ compilation terminated. scripts/Makefile.build:330: recipe for target '/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions/ACCOUNT/xt_ACCOUNT.o' failed make[9]: *** [/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions/ACCOUNT/xt_ACCOUNT.o] Error 1 scripts/Makefile.build:565: recipe for target '/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions/ACCOUNT' failed make[8]: *** [/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions/ACCOUNT] Error 2 Makefile:1586: recipe for target '_module_/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions' failed make[7]: *** [_module_/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions] Error 2 make[7]: Leaving directory '/home/tplink/code/be900v2/bcm504L04/bcm963xx_5.04L.04/kernel/linux-4.19' Makefile:456: recipe for target 'modules' failed make[6]: *** [modules] Error 2 make[6]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14/extensions' Makefile:491: recipe for target 'all-recursive' failed make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14' Makefile:376: recipe for target 'all' failed make[4]: *** [all] Error 2 make[4]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x/xtables-addons-2.14' Makefile:394: recipe for target '/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x//.built' failed make[3]: *** [/home/tplink/code/be900v2/Iplatform/openwrt/build_dir/linux-model_brcm_bcm490x//.built] Error 2 make[3]: Leaving directory '/home/tplink/code/be900v2/prplos/platform/feeds/public/prplos-v3.1.0/feed_opensource/kernel/xtables-addons' package/Makefile:133: recipe for target 'package/feeds/feed_opensource/xtables-addons/compile' failed make[2]: *** [package/feeds/feed_opensource/xtables-addons/compile] Error 2 make[2]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' /home/tplink/code/be900v2/Iplatform/openwrt/include/toplevel.mk:184: recipe for target 'package/xtables-addons/compile' failed make[1]: *** [package/xtables-addons/compile] Error 2 make[1]: Leaving directory '/home/tplink/code/be900v2/Iplatform/openwrt' Makefile:232: recipe for target 'iplatform_package/xtables-addons/compile' failed make: *** [iplatform_package/xtables-addons/compile] Error 2 tplink@5e15b687a070:~/code/be900v2/Iplatform/build$
最新发布
10-25
gezi@ubuntu:~/study/pubilc/camerademo6/curl-8.7.1$ ./configure --host=arm-linux-gnueabi --prefix=/home/gezi/study/pubilc/camerademo6/curl_arm --with-openssl checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable curl debug memory tracking... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable ECH support... no checking for path separator... : checking for sed... /bin/sed checking for grep... /bin/grep checking that grep -E works... yes checking for arm-linux-gnueabi-ar... /usr/bin/arm-linux-gnueabi-ar checking for a BSD-compatible install... /usr/bin/install -c checking for arm-linux-gnueabi-gcc... arm-linux-gnueabi-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... yes checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether arm-linux-gnueabi-gcc accepts -g... yes checking for arm-linux-gnueabi-gcc option to enable C11 features... none needed checking whether arm-linux-gnueabi-gcc understands -c and -o together... yes checking how to run the C preprocessor... arm-linux-gnueabi-gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking for a sed that does not truncate output... (cached) /bin/sed checking for code coverage support... no checking whether build environment is sane... yes checking for arm-linux-gnueabi-strip... arm-linux-gnueabi-strip checking for a race-free mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of arm-linux-gnueabi-gcc... gcc3 checking curl version... 8.7.1 checking for httpd... no checking for apache2... no checking for apachectl... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... arm-unknown-linux-gnueabi checking for grep that handles long lines and -e... (cached) /bin/grep checking for egrep... /bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... 64 checking how to print strings... printf checking for a sed that does not truncate output... (cached) /bin/sed checking for fgrep... /bin/grep -F checking for ld used by arm-linux-gnueabi-gcc... /usr/arm-linux-gnueabi/bin/ld checking if the linker (/usr/arm-linux-gnueabi/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/arm-linux-gnueabi-nm -B checking the name lister (/usr/bin/arm-linux-gnueabi-nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to arm-unknown-linux-gnueabi format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/arm-linux-gnueabi/bin/ld option to reload object files... -r checking for arm-linux-gnueabi-file... no checking for file... file configure: WARNING: using cross tools not prefixed with host triplet checking for arm-linux-gnueabi-objdump... arm-linux-gnueabi-objdump checking how to recognize dependent libraries... pass_all checking for arm-linux-gnueabi-dlltool... no checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for arm-linux-gnueabi-ar... /usr/bin/arm-linux-gnueabi-ar checking for archiver @FILE support... @ checking for arm-linux-gnueabi-strip... (cached) arm-linux-gnueabi-strip checking for arm-linux-gnueabi-ranlib... arm-linux-gnueabi-ranlib checking command to parse /usr/bin/arm-linux-gnueabi-nm -B output from arm-linux-gnueabi-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 arm-linux-gnueabi-mt... no checking for mt... mt checking if mt is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if arm-linux-gnueabi-gcc supports -fno-rtti -fno-exceptions... no checking for arm-linux-gnueabi-gcc option to produce PIC... -fPIC -DPIC checking if arm-linux-gnueabi-gcc PIC flag -fPIC -DPIC works... yes checking if arm-linux-gnueabi-gcc static flag -static works... yes checking if arm-linux-gnueabi-gcc supports -c -o file.o... yes checking if arm-linux-gnueabi-gcc supports -c -o file.o... (cached) yes checking whether the arm-linux-gnueabi-gcc linker (/usr/arm-linux-gnueabi/bin/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... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... no checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for arm-linux-gnueabi-windres... no checking for windres... no checking for inline... inline checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '700' (raw: '7') checking if compiler is SGI MIPSpro C... no checking if compiler is SGI MIPS C... no checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... yes checking if compiler accepts optimizer enabling options... yes configure: compiler options added: -O2 checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports WIN32 file API... no checking whether build target supports WIN32 crypto API... no checking for good-to-use Darwin CFLAGS... no checking whether to link macOS CoreFoundation, CoreServices, and SystemConfiguration frameworks... no checking to see if the compiler supports __builtin_available()... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support ldap... yes checking whether to support ldaps... yes checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to build documentation... yes checking whether to provide built-in manual... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for sys/time.h... yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking for sys/types.h... (cached) yes checking for sys/time.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for arm-linux-gnueabi-pkg-config... no checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... no checking for brotli/decode.h... no checking for ZSTD_createDStream in -lzstd... no checking for zstd.h... no checking for lber.h... no checking for ldap.h... no checking for ldap_ssl.h... no checking for LDAP libraries... cannot find LDAP libraries configure: WARNING: Cannot find libraries for LDAP support: LDAP disabled checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... no configure: WARNING: the previous check could not be made default was used checking if GSS-API support is requested... no checking whether to enable Windows native SSL/TLS... no checking whether to enable Secure Transport... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for arm-linux-gnueabi-pkg-config... /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "" configure: pkg-config: SSL_CPPFLAGS: "" checking for HMAC_Update in -lcrypto... no checking for HMAC_Init_ex in -lcrypto... no checking OpenSSL linking with -ldl... no checking OpenSSL linking with -ldl and -lpthread... no checking for SSL_set_quic_use_legacy_codepoint... no configure: OpenSSL version does not speak QUIC API configure: OPT_OPENSSL: yes configure: OPENSSL_ENABLED: configure: error: --with-openssl was given but OpenSSL could not be detected
10-11
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值