nagarahalli 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: I am using GCC 5.4.0 > Bill Fischofer(Bill-Fischofer-Linaro) wrote: > 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_r154741057 updated_at 2017-12-04 18:53:44