Problem with echo_server / echo_client samples running in QEMU (No rule to make target 'qemu' ?)


Priyanka
 

Hello


While testing with recent zephyr (master branch),

echo_server and echo_client samples running in QEMU fail.


Both "make server" and "make client" fail for QEMU with error

No rule to make target 'qemu'.  


I did "git pull" today, after that I get the error "No rule to make target 'qemu'.

Whereas with 3 weeks older master branch, this error was not there, but even earlier the sample "echo-client" failed to compile with errors such as "undefined reference to net_app_send_pkt" as shown below.


I want to test IPv6 over 802.15.4 so I test the sample application

zephyr/samples/net/ieee802154/qemu

Here are the steps to show my test set up:


Terminal 1  echo_server

-----------------------------------

I modified makefile to  do "make server" else I also tried "make BOARD=qemu_x86 CONF_FILE=prj_qemu_802154.conf server"


zephyr/samples/net/echo_server$ make server
or
zephyr/samples/net/echo_server$ make CONF_FILE=prj_qemu_802154.conf server

rm -f /tmp/ip-stack-server.in /tmp/ip-stack-server.out /tmp/ip-stack-client.in \
      /tmp/ip-stack-client.out
mkfifo /tmp/ip-stack-server.in
mkfifo /tmp/ip-stack-server.out
ln /tmp/ip-stack-server.in /tmp/ip-stack-client.out
ln /tmp/ip-stack-server.out /tmp/ip-stack-client.in
make[1]: Entering directory 'Downloads/zephyr-LTI/zephyr'
make[2]: Entering directory '/Downloads/zephyr-LTI/zephyr/samples/net/echo_server/outdir/qemu_x86'
  CHK     include/generated/generated_dts_board.conf
  UPD     include/generated/generated_dts_board.conf
  CHK     include/generated/generated_dts_board.conf
make[2]: *** No rule to make target 'qemu'.  Stop.
make[2]: Leaving directory '/Downloads/zephyr-LTI/zephyr/samples/net/echo_server/outdir/qemu_x86'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory 'Downloads/zephyr-LTI/zephyr'

Terminal 2 echo_client
--------------------------------
Moreover, echo_client fails to compile with following errors

zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf

In function `prepare_send_pkt':
/zephyr/samples/net/echo_client/src/echo-client.c:111: undefined reference to `net_app_get_net_pkt'
src/built-in.o: In function `send_udp_data':
zephyr/samples/net/echo_client/src/udp.c:160: undefined reference to `net_app_send_pkt'
src/built-in.o: In function `connect_udp':
/zephyr/samples/net/echo_client/src/udp.c:262: undefined reference to `net_app_init_udp_client'
zephyr/samples/net/echo_client/src/udp.c:273: undefined reference to `net_app_set_cb'
/zephyr/samples/net/echo_client/src/udp.c:302: undefined reference to `net_app_connect'
src/built-in.o: In function `stop_udp':
zephyr/samples/net/echo_client/src/udp.c:360: undefined reference to `net_app_close'
/zephyr/samples/net/echo_client/src/udp.c:361: undefined reference to `net_app_release'


zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf client

make[1]: Entering directory 'Downloads/zephyr-LTI/zephyr'
make[2]: Entering directory 'Downloads/zephyr-LTI/zephyr/samples/net/echo_client/outdir/qemu_x86'
  CHK     include/generated/generated_dts_board.conf
  UPD     include/generated/generated_dts_board.conf
  CHK     include/generated/generated_dts_board.conf
make[2]: *** No rule to make target 'qemu'.  Stop.
make[2]: Leaving directory 'Downloads/zephyr-LTI/zephyr/samples/net/echo_client/outdir/qemu_x86'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory 'Downloads/zephyr-LTI/zephyr'

Best,
Priyanka




Nashif, Anas
 

Try this fix:

 

https://github.com/zephyrproject-rtos/zephyr/pull/4158

 

From: zephyr-users-bounces@... [mailto:zephyr-users-bounces@...] On Behalf Of Priyanka Rawat
Sent: Tuesday, October 3, 2017 9:03 AM
To: zephyr-users@...
Subject: [Zephyr-users] Problem with echo_server / echo_client samples running in QEMU (No rule to make target 'qemu' ?)

 

Hello

 

While testing with recent zephyr (master branch),

echo_server and echo_client samples running in QEMU fail.

 

Both "make server" and "make client" fail for QEMU with error

No rule to make target 'qemu'.  

 

I did "git pull" today, after that I get the error "No rule to make target 'qemu'.

Whereas with 3 weeks older master branch, this error was not there, but even earlier the sample "echo-client" failed to compile with errors such as "undefined reference to net_app_send_pkt" as shown below.

 

I want to test IPv6 over 802.15.4 so I test the sample application

zephyr/samples/net/ieee802154/qemu

 

Here are the steps to show my test set up:

 

Terminal 1  echo_server

-----------------------------------

I modified makefile to  do "make server" else I also tried "make BOARD=qemu_x86 CONF_FILE=prj_qemu_802154.conf server"

 

zephyr/samples/net/echo_server$ make server

or

zephyr/samples/net/echo_server$ make CONF_FILE=prj_qemu_802154.conf server


rm -f /tmp/ip-stack-server.in /tmp/ip-stack-server.out /tmp/ip-stack-client.in \
      /tmp/ip-stack-client.out
mkfifo /tmp/ip-stack-server.in
mkfifo /tmp/ip-stack-server.out
ln /tmp/ip-stack-server.in /tmp/ip-stack-client.out
ln /tmp/ip-stack-server.out /tmp/ip-stack-client.in
make[1]: Entering directory 'Downloads/zephyr-LTI/zephyr'
make[2]: Entering directory '/Downloads/zephyr-LTI/zephyr/samples/net/echo_server/outdir/qemu_x86'
  CHK     include/generated/generated_dts_board.conf
  UPD     include/generated/generated_dts_board.conf
  CHK     include/generated/generated_dts_board.conf
make[2]: *** No rule to make target 'qemu'.  Stop.
make[2]: Leaving directory '/Downloads/zephyr-LTI/zephyr/samples/net/echo_server/outdir/qemu_x86'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory 'Downloads/zephyr-LTI/zephyr'

 

Terminal 2 echo_client

--------------------------------

Moreover, echo_client fails to compile with following errors

 

zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf

 

In function `prepare_send_pkt':

/zephyr/samples/net/echo_client/src/echo-client.c:111: undefined reference to `net_app_get_net_pkt'
src/built-in.o: In function `send_udp_data':
zephyr/samples/net/echo_client/src/udp.c:160: undefined reference to `net_app_send_pkt'
src/built-in.o: In function `connect_udp':
/zephyr/samples/net/echo_client/src/udp.c:262: undefined reference to `net_app_init_udp_client'
zephyr/samples/net/echo_client/src/udp.c:273: undefined reference to `net_app_set_cb'
/zephyr/samples/net/echo_client/src/udp.c:302: undefined reference to `net_app_connect'
src/built-in.o: In function `stop_udp':
zephyr/samples/net/echo_client/src/udp.c:360: undefined reference to `net_app_close'
/zephyr/samples/net/echo_client/src/udp.c:361: undefined reference to `net_app_release'

 

zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf client

 

make[1]: Entering directory 'Downloads/zephyr-LTI/zephyr'
make[2]: Entering directory 'Downloads/zephyr-LTI/zephyr/samples/net/echo_client/outdir/qemu_x86'
  CHK     include/generated/generated_dts_board.conf
  UPD     include/generated/generated_dts_board.conf
  CHK     include/generated/generated_dts_board.conf
make[2]: *** No rule to make target 'qemu'.  Stop.
make[2]: Leaving directory 'Downloads/zephyr-LTI/zephyr/samples/net/echo_client/outdir/qemu_x86'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory 'Downloads/zephyr-LTI/zephyr'

Best,

Priyanka

 

 


Priyanka
 

Hello Nashif


Thanks for the fix.

This might resolve the issue related to 'target QEMU", however another issue is that echo_client fails to compile with errors like (even with the 3 week older zephyr version).

undefined reference to `net_app_send_pkt'

This is why I had today switched to the most recent version of zephyr.

Any idea, what am I missing here? Thanks.


Terminal 2 echo_client

--------------------------------

zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf

In function `prepare_send_pkt':
/zephyr/samples/net/echo_client/src/echo-client.c:111: undefined reference to `net_app_get_net_pkt'
src/built-in.o: In function `send_udp_data':
zephyr/samples/net/echo_client/src/udp.c:160: undefined reference to `net_app_send_pkt'
src/built-in.o: In function `connect_udp':
/zephyr/samples/net/echo_client/src/udp.c:262: undefined reference to `net_app_init_udp_client'
zephyr/samples/net/echo_client/src/udp.c:273: undefined reference to `net_app_set_cb'
/zephyr/samples/net/echo_client/src/udp.c:302: undefined reference to `net_app_connect'
src/built-in.o: In function `stop_udp':
zephyr/samples/net/echo_client/src/udp.c:360: undefined reference to `net_app_close'
/zephyr/samples/net/echo_client/src/udp.c:361: undefined reference to `net_app_release'


Best,
Priyanka


From: Nashif, Anas <anas.nashif@...>
Sent: Tuesday, October 3, 2017 3:34:55 PM
To: Priyanka Rawat; zephyr-users@...
Subject: RE: [Zephyr-users] Problem with echo_server / echo_client samples running in QEMU (No rule to make target 'qemu' ?)
 

Try this fix:

 

https://github.com/zephyrproject-rtos/zephyr/pull/4158

 

From: zephyr-users-bounces@... [mailto:zephyr-users-bounces@...] On Behalf Of Priyanka Rawat
Sent: Tuesday, October 3, 2017 9:03 AM
To: zephyr-users@...
Subject: [Zephyr-users] Problem with echo_server / echo_client samples running in QEMU (No rule to make target 'qemu' ?)

 

Hello

 

While testing with recent zephyr (master branch),

echo_server and echo_client samples running in QEMU fail.

 

Both "make server" and "make client" fail for QEMU with error

No rule to make target 'qemu'.  

 

I did "git pull" today, after that I get the error "No rule to make target 'qemu'.

Whereas with 3 weeks older master branch, this error was not there, but even earlier the sample "echo-client" failed to compile with errors such as "undefined reference to net_app_send_pkt" as shown below.

 

I want to test IPv6 over 802.15.4 so I test the sample application

zephyr/samples/net/ieee802154/qemu

 

Here are the steps to show my test set up:

 

Terminal 1  echo_server

-----------------------------------

I modified makefile to  do "make server" else I also tried "make BOARD=qemu_x86 CONF_FILE=prj_qemu_802154.conf server"

 

zephyr/samples/net/echo_server$ make server

or

zephyr/samples/net/echo_server$ make CONF_FILE=prj_qemu_802154.conf server


rm -f /tmp/ip-stack-server.in /tmp/ip-stack-server.out /tmp/ip-stack-client.in \
      /tmp/ip-stack-client.out
mkfifo /tmp/ip-stack-server.in
mkfifo /tmp/ip-stack-server.out
ln /tmp/ip-stack-server.in /tmp/ip-stack-client.out
ln /tmp/ip-stack-server.out /tmp/ip-stack-client.in
make[1]: Entering directory 'Downloads/zephyr-LTI/zephyr'
make[2]: Entering directory '/Downloads/zephyr-LTI/zephyr/samples/net/echo_server/outdir/qemu_x86'
  CHK     include/generated/generated_dts_board.conf
  UPD     include/generated/generated_dts_board.conf
  CHK     include/generated/generated_dts_board.conf
make[2]: *** No rule to make target 'qemu'.  Stop.
make[2]: Leaving directory '/Downloads/zephyr-LTI/zephyr/samples/net/echo_server/outdir/qemu_x86'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory 'Downloads/zephyr-LTI/zephyr'

 

Terminal 2 echo_client

--------------------------------

Moreover, echo_client fails to compile with following errors

 

zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf

 

In function `prepare_send_pkt':

/zephyr/samples/net/echo_client/src/echo-client.c:111: undefined reference to `net_app_get_net_pkt'
src/built-in.o: In function `send_udp_data':
zephyr/samples/net/echo_client/src/udp.c:160: undefined reference to `net_app_send_pkt'
src/built-in.o: In function `connect_udp':
/zephyr/samples/net/echo_client/src/udp.c:262: undefined reference to `net_app_init_udp_client'
zephyr/samples/net/echo_client/src/udp.c:273: undefined reference to `net_app_set_cb'
/zephyr/samples/net/echo_client/src/udp.c:302: undefined reference to `net_app_connect'
src/built-in.o: In function `stop_udp':
zephyr/samples/net/echo_client/src/udp.c:360: undefined reference to `net_app_close'
/zephyr/samples/net/echo_client/src/udp.c:361: undefined reference to `net_app_release'

 

zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf client

 

make[1]: Entering directory 'Downloads/zephyr-LTI/zephyr'
make[2]: Entering directory 'Downloads/zephyr-LTI/zephyr/samples/net/echo_client/outdir/qemu_x86'
  CHK     include/generated/generated_dts_board.conf
  UPD     include/generated/generated_dts_board.conf
  CHK     include/generated/generated_dts_board.conf
make[2]: *** No rule to make target 'qemu'.  Stop.
make[2]: Leaving directory 'Downloads/zephyr-LTI/zephyr/samples/net/echo_client/outdir/qemu_x86'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory 'Downloads/zephyr-LTI/zephyr'

Best,

Priyanka

 

 


Paul Sokolovsky
 

On Tue, 3 Oct 2017 14:24:10 +0000
Priyanka Rawat <priyanka.rawat@nxp.com> wrote:

Hello Nashif


Thanks for the fix.

This might resolve the issue related to 'target QEMU", however
another issue is that echo_client fails to compile with errors like
(even with the 3 week older zephyr version).

undefined reference to `net_app_send_pkt'
Thanks for the report. In future cases, feel free to open a bug at
https://github.com/zephyrproject-rtos/zephyr/issues .

I posted a patch to solve this issue:
https://github.com/zephyrproject-rtos/zephyr/pull/4166


This is why I had today switched to the most recent version of zephyr.

Any idea, what am I missing here? Thanks.


Terminal 2 echo_client

--------------------------------

zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf

In function `prepare_send_pkt':
/zephyr/samples/net/echo_client/src/echo-client.c:111: undefined
reference to `net_app_get_net_pkt' src/built-in.o: In function
`send_udp_data': zephyr/samples/net/echo_client/src/udp.c:160:
undefined reference to `net_app_send_pkt' src/built-in.o: In function
`connect_udp': /zephyr/samples/net/echo_client/src/udp.c:262:
undefined reference to `net_app_init_udp_client'
zephyr/samples/net/echo_client/src/udp.c:273: undefined reference to
`net_app_set_cb' /zephyr/samples/net/echo_client/src/udp.c:302:
undefined reference to `net_app_connect' src/built-in.o: In function
`stop_udp': zephyr/samples/net/echo_client/src/udp.c:360: undefined
reference to
`net_app_close' /zephyr/samples/net/echo_client/src/udp.c:361:
undefined reference to `net_app_release'


Best,
Priyanka
[]

--
Best Regards,
Paul

Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro
http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog


Priyanka
 

Hi Paul


Thanks for the patch.

I tested again  /samples/net/ieee802154/qemu


Probably the issue comes from qemu <---> qemu set up and this might work on kw41z (as suggested by David).

My kernel version is 4.4.0-96-generic.


For the test with QEMU at least, echo-server / Qemu crashes (Fatal fault in ISR! Spinning...) as soon as echo-client is launched.

Need to check what is wrong at echo-server app end . 

Terminal 2 echo-client (Qemu)
-------------------------------------------
zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf client
[QEMU] CPU: qemu32

[echo-client] [INF] init_app: Run echo client
[echo-client] [ERR] wait_reply: Data packet not received
[echo-client] [ERR] wait_reply: Data packet not received


Terminal 1 echo-server ( Qemu)
-----------------------------------------
zephyr/samples/net/echo_server$ make CONF_FILE=prj_qemu_802154.conf server

[QEMU] CPU: qemu32
qemu-system-i386: warning: Unknown firmware file in legacy mode: genroms/multiboot.bin

***** CPU Page Fault (error code 0x00000002)
Supervisor thread wrote address 0x00000000
PDE: 0x025 Present Read-only User
PTE: 0x000 Non-present Read-only Supervisor
Current thread ID = 0x00401000
Faulting segment:address = 0x0008:0x00001d5c
eax: 0x00413033, ebx: 0x00000000, ecx: 0x00000000, edx: 0x000002f8
esi: 0x004137ec, edi: 0x0040c0b0, ebp: 0x004107d8, esp: 0x004107d0
eflags: 0x202
Fatal fault in ISR! Spinning...
Terminate emulator due to fatal kernel error
/zephyr/scripts/Makefile.qemu:26: recipe for target 'run' failed
make[2]: *** [run] Error 1
make[2]: Leaving directory 'zephyr/samples/net/echo_server/outdir/qemu_x86'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory 'zephyr-LTI/zephyr'

Thanks
Priyanka


From: Paul Sokolovsky <paul.sokolovsky@...>
Sent: Tuesday, October 3, 2017 9:09 PM
To: Priyanka Rawat
Cc: Nashif, Anas; zephyr-users@...
Subject: Re: [Zephyr-users] Problem with echo_server / echo_client samples running in QEMU (No rule to make target 'qemu' ?)
 
On Tue, 3 Oct 2017 14:24:10 +0000
Priyanka Rawat <priyanka.rawat@...> wrote:

> Hello Nashif
>
>
> Thanks for the fix.
>
> This might resolve the issue related to 'target QEMU", however
> another issue is that echo_client fails to compile with errors like
> (even with the 3 week older zephyr version).
>
> undefined reference to `net_app_send_pkt'

Thanks for the report. In future cases, feel free to open a bug at
https://github.com/zephyrproject-rtos/zephyr/issues .

I posted a patch to solve this issue:
https://github.com/zephyrproject-rtos/zephyr/pull/4166


> This is why I had today switched to the most recent version of zephyr.
>
> Any idea, what am I missing here? Thanks.
>
>
> Terminal 2 echo_client
>
> --------------------------------
>
> zephyr/samples/net/echo_client$ make CONF_FILE=prj_qemu_802154.conf
>
> In function `prepare_send_pkt':
> /zephyr/samples/net/echo_client/src/echo-client.c:111: undefined
> reference to `net_app_get_net_pkt' src/built-in.o: In function
> `send_udp_data': zephyr/samples/net/echo_client/src/udp.c:160:
> undefined reference to `net_app_send_pkt' src/built-in.o: In function
> `connect_udp': /zephyr/samples/net/echo_client/src/udp.c:262:
> undefined reference to `net_app_init_udp_client'
> zephyr/samples/net/echo_client/src/udp.c:273: undefined reference to
> `net_app_set_cb' /zephyr/samples/net/echo_client/src/udp.c:302:
> undefined reference to `net_app_connect' src/built-in.o: In function
> `stop_udp': zephyr/samples/net/echo_client/src/udp.c:360: undefined
> reference to
> `net_app_close' /zephyr/samples/net/echo_client/src/udp.c:361:
> undefined reference to `net_app_release'
>
>
> Best,
> Priyanka

[]

--
Best Regards,
Paul

Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro
www.facebook.com
Log into Facebook to start sharing and connecting with your friends, family, and people you know.

http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog
twitter.com
1,745 tweets • 616 photos/videos • 3,063 followers. Check out the latest Tweets from Linaro (@LinaroOrg)