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