Bill Fischofer(Bill-Fischofer-Linaro) replied on github web page:

platform/linux-dpdk/Makefile.am
line 19
@@ -348,8 +346,10 @@ endif
 endif
 endif
 if ODP_SCHEDULE_SCALABLE
+__LIB__libodp_dpdk_la_SOURCES += ../linux-generic/queue/scalable.c
 ../linux-generic/queue/scalable.lo: AM_CFLAGS += -DIM_ACTIVE_MODULE
 else
+__LIB__libodp_dpdk_la_SOURCES += ../linux-generic/queue/generic.c
 ../linux-generic/queue/generic.lo: AM_CFLAGS += -DIM_ACTIVE_MODULE
 endif
 


Comment:
Hmmm, with that combo I'm seeing a different issue:
```
  CC       odp_crypto.lo
odp_crypto.c: In function ‘odp_crypto_session_create’:
odp_crypto.c:901:2: error: this ‘if’ clause does not guard... 
[-Werror=misleading-indentation]
  if (session == NULL)
  ^~
odp_crypto.c:904:3: note: ...this statement, but the latter is misleadingly 
indented as if it were guarded by the ‘if’
   free_session(entry);
   ^~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile:1417: recipe for target 'odp_crypto.lo' failed
```

This looks like the base code is having problem with GCC 7? I'm running Ubundu 
17.10 which uses GCC 7.2.

> nagarahalli wrote
> Without these changes, try the compilation for the following configuration:
> ./configure --with-platform=linux-dpdk --enable-schedule-scalable  
> --with-sdk-install-path=<dpdk path>


>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>> I did some experimenting with this and this seems to compile and run just 
>> fine without these Makefile.am changes. Am I missing something?


>>> nagarahalli wrote
>>> As we discussed in the call today, this is temporary. Once the changes, not 
>>> to use packet meta data, to default queue implementation is done, these can 
>>> go away.


>>>> Bill Fischofer(Bill-Fischofer-Linaro) wrote:
>>>> Is this intended to be a temporary change? The problem with conditional 
>>>> compilation is that it's very easy to make changes that break another file 
>>>> that isn't compiled unless some special config option is used. That's why 
>>>> in today's config-based scheduler selection we compile all modules and the 
>>>> only thing that's actually conditional is which entry points are plugged 
>>>> into the scheduler interface table.
>>>> 
>>>> For 2.0 we want to eliminate config-time selections like this, so all 
>>>> variants will necessarily have to be compiled to be included in the single 
>>>> binary and selected dynamically at runtime. So I'm not sure this sort of 
>>>> change is consistent with that goal. This seems to need more discussion as 
>>>> to why we're doing this here.


https://github.com/Linaro/odp/pull/303#discussion_r154737345
updated_at 2017-12-04 18:42:08

Reply via email to