Hello All, I’ve been trying to get the helloworld app built on Windows following instructions on https://doc.dpdk.org/guides/windows_gsg/build_dpdk.html, using option 1. It fails however and output ends with “doc\meson.build:14:0: ERROR: Program 'echo' not found”. Looking in the log I also see file not found errors for various header files under linux\*.h, for example: Compiler stderr: C:\git\dpdk\build\meson-private\tmpdf9qrjqg\testfile.c:2:18: fatal error: 'linux/tc_act/tc_bpf.h' file not found #include <linux/tc_act/tc_bpf.h> ^~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. I came across the thread on https://www.mail-archive.com/dev@dpdk.org/msg156490.html, but it’s not exactly the same as far as I can see. Full log is attached. What am I missing? \Rob -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: meson-log.txt URL: <http://mails.dpdk.org/archives/users/attachments/20210622/dd4ad611/attachment.txt>
2021-06-22 15:39 (UTC+0000), Rob Scheepens:
> Hello All,
>
> I’ve been trying to get the helloworld app built on Windows following instructions on https://doc.dpdk.org/guides/windows_gsg/build_dpdk.html, using option 1. It fails however and output ends with “doc\meson.build:14:0: ERROR: Program 'echo' not found”. Looking in the log I also see file not found errors for various header files under linux\*.h, for example:
>
> Compiler stderr:
> C:\git\dpdk\build\meson-private\tmpdf9qrjqg\testfile.c:2:18: fatal error: 'linux/tc_act/tc_bpf.h' file not found
> #include <linux/tc_act/tc_bpf.h>
> ^~~~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
>
> I came across the thread on https://www.mail-archive.com/dev@dpdk.org/msg156490.html, but it’s not exactly the same as far as I can see. Full log is attached. What am I missing?
>
> \Rob
> -------------- next part --------------
> An embedded and charset-unspecified text was scrubbed...
> Name: meson-log.txt
> URL: <http://mails.dpdk.org/archives/users/attachments/20210622/dd4ad611/attachment.txt>
Hello, Rob!
Try using Meson 0.53.2.
There seems to be an issue with Meson 0.58.1 on Windows.
Hello Dmitry, That works, thanks! Is there an issue open for this? If not, should I create one? \Rob On 29/06/2021, 22:49, "Dmitry Kozlyuk" <dmitry.kozliuk@gmail.com> wrote: 2021-06-22 15:39 (UTC+0000), Rob Scheepens: > Hello All, > > I’ve been trying to get the helloworld app built on Windows following instructions on https://urldefense.proofpoint.com/v2/url?u=https-3A__doc.dpdk.org_guides_windows-5Fgsg_build-5Fdpdk.html&d=DwIFaQ&c=s883GpUCOChKOHiocYtGcg&r=OMged-t_5I_fmfpUaT3vaA06lgLL_alYnDQJxHmXz64&m=bT-u34VRwfJXMWgvDg5dY_tdrVi2o7heSEOmmBp6nBo&s=JIqAR1lwhyW9xH5McZIJpbJ_EBi__53LaVMuaXtSI0g&e= , using option 1. It fails however and output ends with “doc\meson.build:14:0: ERROR: Program 'echo' not found”. Looking in the log I also see file not found errors for various header files under linux\*.h, for example: > > Compiler stderr: > C:\git\dpdk\build\meson-private\tmpdf9qrjqg\testfile.c:2:18: fatal error: 'linux/tc_act/tc_bpf.h' file not found > #include <linux/tc_act/tc_bpf.h> > ^~~~~~~~~~~~~~~~~~~~~~~ > 1 error generated. > > I came across the thread on https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mail-2Darchive.com_dev-40dpdk.org_msg156490.html&d=DwIFaQ&c=s883GpUCOChKOHiocYtGcg&r=OMged-t_5I_fmfpUaT3vaA06lgLL_alYnDQJxHmXz64&m=bT-u34VRwfJXMWgvDg5dY_tdrVi2o7heSEOmmBp6nBo&s=hRh7Im-aP4eik7aOIzuGgJtI1u5FdOeKksZN35crSEI&e= , but it’s not exactly the same as far as I can see. Full log is attached. What am I missing? > > \Rob > -------------- next part -------------- > An embedded and charset-unspecified text was scrubbed... > Name: meson-log.txt > URL: <https://urldefense.proofpoint.com/v2/url?u=http-3A__mails.dpdk.org_archives_users_attachments_20210622_dd4ad611_attachment.txt&d=DwIFaQ&c=s883GpUCOChKOHiocYtGcg&r=OMged-t_5I_fmfpUaT3vaA06lgLL_alYnDQJxHmXz64&m=bT-u34VRwfJXMWgvDg5dY_tdrVi2o7heSEOmmBp6nBo&s=iz5tcZanZItkPmAK2nXfWNO8zEWWqgtzfU6FLiwSuok&e= > Hello, Rob! Try using Meson 0.53.2. There seems to be an issue with Meson 0.58.1 on Windows.
2021-06-30 08:41 (UTC+0000), Rob Scheepens:
> Hello Dmitry,
>
> That works, thanks!
>
> Is there an issue open for this? If not, should I create one?
Not yet and I'm not sure is it Meson or DPDK issue.
Meson's behavior changed between 0.57 and 0.58.1
seemingly due to another feature added, on the other hand,
DPDK code didn't work on Windows as expected.
+Bruce, build system maintainer.
I think we'll sort this out, thank you for reporting the bug.
Bruce, in doc/meson.build, we have this:
doc_targets = []
doc_target_names = []
subdir('api')
subdir('guides')
if doc_targets.length() == 0
message = 'No docs targets found'
else
message = 'Building docs:'
endif
run_target('doc', command: ['echo', message, doc_target_names],
depends: doc_targets)
First, why there's no early exit if enable_docs=false?
Second, with Meson 0.57 there's not error on Windows,
but the message is not printed either.
The root cause is there's no `echo` binary on Windows, it's a builtin.
However, when I tried to replace it like so,
0.58.1 gives no error, but also prints nothing:
run_target('doc', command: ['cmd', '/C', 'echo', message, doc_target_names],
depends: doc_targets)
Although in the log it says it searched for `cmd` and found it.
Could Meson 0.47.1 print a message as required by itself, without echo?
+Luca who also helped with getting docs building
> -----Original Message-----
> From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> Sent: Wednesday, June 30, 2021 10:28 AM
> To: Rob Scheepens <rob.scheepens@nutanix.com>
> Cc: users@dpdk.org; Richardson, Bruce <bruce.richardson@intel.com>
> Subject: Re: [dpdk-users] Build on Windows not working: "ERROR: Program
> 'echo' not found"
>
> 2021-06-30 08:41 (UTC+0000), Rob Scheepens:
> > Hello Dmitry,
> >
> > That works, thanks!
> >
> > Is there an issue open for this? If not, should I create one?
>
> Not yet and I'm not sure is it Meson or DPDK issue.
> Meson's behavior changed between 0.57 and 0.58.1
> seemingly due to another feature added, on the other hand,
> DPDK code didn't work on Windows as expected.
>
> +Bruce, build system maintainer.
> I think we'll sort this out, thank you for reporting the bug.
>
> Bruce, in doc/meson.build, we have this:
>
> doc_targets = []
> doc_target_names = []
> subdir('api')
> subdir('guides')
>
> if doc_targets.length() == 0
> message = 'No docs targets found'
> else
> message = 'Building docs:'
> endif
> run_target('doc', command: ['echo', message, doc_target_names],
> depends: doc_targets)
>
> First, why there's no early exit if enable_docs=false?
>
Looking through the code, I believe things are done this way so that, if we have the dependencies of sphinx and doxygen, you can do "ninja doc" to build the documentation even if "enable_docs" is set to false. We always have a valid "doc" target, irrespective of that setting, which controls only whether the docs are built as part of a regular build or not.
Regards,
/Bruce