waf build of libbsd produces no exe's (for me)

Chris Johns chrisj at rtems.org
Mon Jun 22 12:40:36 UTC 2015


On 22/06/2015 4:00 pm, Gene Smith wrote:
> I have tried to build libbsd using the documented methods from
> README.waf with no success, although the Makefile method seems to work
> fine. Maybe I am doing something obviously wrong in the waf command
> lines that is preventing the testsuite exe's files (.e.g.,
> ping01/ping01.exe) from being produced.
> 
> It was highly recommended that the Makefile build not be "mixed" with
> the waf build. Therefore, I started with a pristine git clone of libbsd
> before doing steps in README.waf and running waf.
> 
> Since I have successfully run the ping and netshell tests using the
> Makefile build method using a customized config.inc file, I am also
> attempting to use the config.inc file with the waf build. Looking at the
> wscript file, it appears that only the items in config.inc that start
> with NET_ are read from the file and should get included in a produced
> network-config.h file (based on a network-config.in.h template).[1]
> 
> Looking at "waf --help" it is unclear how config.inc is made known to
> waf (no example is in README.waf). The help says this:
> 
> --net-test-config=NET_CONFIG
>                         Network test configuration.
> 
> Is the correct command line just like "help" says,
> 
> --net-test-config=NET_CONFIG
> 
> Or is it the actual config.inc file, .e.g.,
> 
> --net-test-config=<path-to>/config.inc  ?? [2]
> 
> Also, whether this goes with the "waf configure" or the "waf [build]" is
> not specified. I have tried all combinations with no different results.
> 
> Anyhow, here are the waf commands I using:
> 
> waf configure --prefix=${HOME}/rtems/install/4.11/bsps \
> --rtems=${HOME}/rtems/install/4.11/bsps \
> --rtems-tools=${HOME}/rtems/install/4.11/tools \
> --rtems-bsps=arm/realview_pbx_a9_qemu \
> --net-test-config=./config.inc <-- same w/ or w/o this
> 
> The configure runs successfully like so:
> 
> Setting top to                           : /home/gene/rtems/rtems-libbsd
> Setting out to                           :
> /home/gene/rtems/rtems-libbsd/build
> Architectures                            : arm-rtems4.11
> Board Support Package                    :
> arm-rtems4.11-realview_pbx_a9_qemu
> Checking for program 'arm-rtems4.11-gcc' :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-gcc
> Checking for program 'arm-rtems4.11-g++' :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-g++
> Checking for program 'arm-rtems4.11-gcc' :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-gcc
> Checking for program 'arm-rtems4.11-ld'  :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-ld
> Checking for program 'arm-rtems4.11-ar'  :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-ar
> Checking for program 'arm-rtems4.11-ar'  :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-ar
> Checking for program 'arm-rtems4.11-ld'  :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-ld
> Checking for program 'arm-rtems4.11-nm'  :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-nm
> Checking for program 'arm-rtems4.11-objdump' :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-objdump
> Checking for program 'arm-rtems4.11-objcopy' :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-objcopy
> Checking for program 'arm-rtems4.11-readelf' :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-readelf
> Checking for program 'arm-rtems4.11-strip'   :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-strip
> Checking for program 'rtems-ld'              :
> /home/gene/rtems/install/4.11/tools/bin/rtems-ld
> Checking for program 'rtems-tld'             :
> /home/gene/rtems/install/4.11/tools/bin/rtems-tld
> Checking for program 'rtems-bin2c'           :
> /home/gene/rtems/install/4.11/bsps/bin/rtems-bin2c
> Checking for program 'tar'                   : /usr/bin/tar
> Checking for program 'gcc, cc'               :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-gcc
> Checking for program 'ar'                    :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-ar
> Checking for program 'g++, c++'              :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-g++
> Checking for program 'gas, gcc'              :
> /home/gene/rtems/install/4.11/tools/bin/arm-rtems4.11-gcc
> Checking for RTEMS headers                   : ok
> Checking for RTEMS_DEBUG                     : no
> Checking for RTEMS_MULTIPROCESSING           : no
> Checking for RTEMS_NEWLIB                    : yes
> Checking for RTEMS_POSIX_API                 : yes
> Checking for RTEMS_SMP                       : no
> Checking for RTEMS_NETWORKING                : no
> Checking for RTEMS_ATOMIC                    : no
> Checking for header dlfcn.h                  : yes
> Checking for header rtems/pci.h              : yes
> 'configure' finished successfully (0.876s)
> 
> waf --net-test-config=./config.inc <-- same w/ or w/o this
> 
> The build runs seemingly successfully with 842 steps:
> 
> Waf: Entering directory
> `/home/gene/rtems/rtems-libbsd/build/arm-rtems4.11-realview_pbx_a9_qemu'
> [  1/842] Compiling testsuite/include/rtems/bsd/test/network-config.h.in
> [  2/842] Compiling rtemsbsd/rtems/generate_kvm_symbols
> [  3/842] Compiling
> build/arm-rtems4.11-realview_pbx_a9_qemu/rtemsbsd/rtems/rtems-kvm-symbols.c
> [  4/842] Compiling freebsd/lib/libc/net/nslexer.c
> [  5/842] Compiling freebsd/lib/libipsec/policy_token.c
> [  6/842] Compiling freebsd/contrib/libpcap/scanner.c
> :
> :
> [808/842] Compiling testsuite/ping01/test_main.c
> [809/842] Compiling testsuite/usb01/init.c
> [810/842] Compiling testsuite/usb01/test-file-system.c
> [811/842] Compiling testsuite/arphole/test_main.c
> [812/842] Compiling testsuite/sleep01/test_main.c
> [813/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/libbsd.a
> [814/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/netshell01
> [816/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/unix01
> [819/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/sleep01
> [819/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/syscalls01
> [819/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/zerocopy01
> [820/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/loopback01
> [822/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/usb01
> [822/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/vlan01
> [822/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/dhcpcd01
> [823/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/ppp01
> [824/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/rwlock01
> [825/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/ftpd01
> [826/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/swi01
> [827/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/dhcpcd02
> [828/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/foobarclient
> [829/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/telnetd01
> [830/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/mutex01
> [831/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/arphole
> [832/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/media01
> [833/842] Linking
> build/arm-rtems4.11-realview_pbx_a9_qemu/selectpollkqueue01
> [834/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/smp01
> [835/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/thread01
> [836/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/init01
> [837/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/ping01
> [838/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/lagg01
> [839/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/condvar01
> [840/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/foobarserver
> [841/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/timeout01
> [842/842] Linking build/arm-rtems4.11-realview_pbx_a9_qemu/commands01

The "Linking" lines show the executables, for example
build/arm-rtems4.11-realview_pbx_a9_qemu/commands01. Enter ...

 $ file build/arm-rtems4.11-realview_pbx_a9_qemu/commands01

and see what is says.


> Waf: Leaving directory
> `/home/gene/rtems/rtems-libbsd/build/arm-rtems4.11-realview_pbx_a9_qemu'
> 'build-arm-rtems4.11-realview_pbx_a9_qemu' finished successfully (45.967s)
> 
> waf install
> 
> Install seems to run OK installing lib and many headers into
> + install
> /home/gene/rtems/install/4.11/bsps/arm-rtems4.11/realview_pbx_a9_qemu/lib/
> 
> So there are no errors flagged in the build processing using waf but
> file network-config.h is never produces and no tests are produced in the
> testsuite area, e.g., no ping01.exe. Although they seemed to be compiled
> and linked, the tests are maybe never installed? Is there another step I
> am missing here?
> 
> Can someone tell me what I am doing wrong or provide complete example
> waf command lines that do a full build that produce the testsuite .exe's.

They do not have a .exe extension. As I have said in another email I am
fine with the extension going away.

All Unix type operating systems I have used so not tag executables with
a special extension and I feel is it confusion on Windows where .exe has
a special meaning.

Chris

> 
> -gene
> [1] I have also edited config.inc to so it *only* contains the network
> items with no different result.
> [2] When I use NET_CONFIG as the "help" indicates I see the error
> "network configuraiton 'NET_CONFIG' not found" when I do the waf build
> step.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users



More information about the users mailing list