Hello, How old is your openbmc checkout, especially the phosphor-host-ipmid? The requested field "lun" has been added three months ago: https://github.com/openbmc/phosphor-host-ipmid/commit/c11cc5c06960d807bc0feb680346bf6f8e9f8adb From the build logs it seems like the existing headers doesn't include this field. On Wed, 7 Oct 2020 at 09:27, 周 远清 wrote: > Hello everyone, > > I downloaded intel-ipmi-oem from > https://github.com/openbmc/intel-ipmi-oem, and encountered the following > 2 problems when compiling. The first problem has been solved, but I think > the code downloaded from the community should be able to compile and pass. > I would like to ask if there is something wrong with my project > configuration? > > Question1: > In file included from > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/include/ipmi_to_redfish_hooks.hpp:20, > > from > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/src/sensorcommands.cpp:20: > > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/include/storagecommands.hpp:18:10: > fatal error: phosphor-ipmi-host/sensorhandler.hpp: No such file or directory > 18 | #include > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > compilation terminated. > > Question2: > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/recipe-sysroot-native/usr/bin/arm-openbmc-linux-gnueabi/arm-openbmc-linux-gnueabi-g++ > -DBOOST_ALL_NO_LIB -DBOOST_ASIO_DISABLE_THREADS > -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -DBOOST_ERROR_CODE_HEADER_ONLY > -DBOOST_NO_RTTI -DBOOST_NO_TYPEID -DBOOST_SYSTEM_NO_DEPRECATED > -DUSING_ENTITY_MANAGER_DECORATORS -Dzinteloemcmds_EXPORTS > -I/home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/include > -isystem . -marm -mcpu=arm1176jz-s > --sysroot=/home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/recipe-sysroot > -O2 -pipe -g -feliminate-unused-debug-types > -fmacro-prefix-map=/home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0=/usr/src/debug/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0 > > -fdebug-prefix-map=/home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0=/usr/src/debug/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0 > > -fdebug-prefix-map=/home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/recipe-sysroot= > > -fdebug-prefix-map=/home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/recipe-sysroot-native= > -fvisibility-inlines-hidden -marm -mcpu=arm1176jz-s > --sysroot=/home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/recipe-sysroot > -fPIC -Wno-psabi -std=gnu++17 -MD -MT > CMakeFiles/zinteloemcmds.dir/src/sensorcommands.cpp.o -MF > CMakeFiles/zinteloemcmds.dir/src/sensorcommands.cpp.o.d -o > CMakeFiles/zinteloemcmds.dir/src/sensorcommands.cpp.o -c > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/src/sensorcommands.cpp > > In file included from > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/src/sensorcommands.cpp:17: > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/include/sensorcommands.hpp: > In function 'ipmi_ret_t ipmi::getSensorConnection(ipmi::Context::ptr, > uint8_t, std::string&, std::string&)': > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/include/sensorcommands.hpp:138:42: > error: 'using element_type = struct ipmi::Context' {aka 'struct > ipmi::Context'} has no member named 'lun' > 138 | path = getPathFromSensorNumber((ctx->lun << 8) | sensnum); > | ^~~ > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/src/sensorcommands.cpp: > In function 'ipmi::RspType > ipmi::ipmiSensorGetDeviceSdrInfo(ipmi::Context::ptr, std::optional char>)': > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/src/sensorcommands.cpp:1438:26: > error: 'using element_type = struct ipmi::Context' {aka 'struct > ipmi::Context'} has no member named 'lun' > 1438 | if (ctx->lun == record->key.owner_lun) > | ^~~ > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/src/sensorcommands.cpp:1448:19: > error: 'using element_type = struct ipmi::Context' {aka 'struct > ipmi::Context'} has no member named 'lun' > 1448 | if ((ctx->lun == 0) && (numSensors > 0)) > | ^~~ > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/src/sensorcommands.cpp:1453:24: > error: 'using element_type = struct ipmi::Context' {aka 'struct > ipmi::Context'} has no member named 'lun' > 1453 | else if ((ctx->lun == 1) && (numSensors > > maxSensorsPerLUN)) > | ^~~ > /home/harleyzhou/openbmc/openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/intel-ipmi-oem/0.1+gitAUTOINC+d77489f18e-r0/git/src/sensorcommands.cpp:1459:23: > error: 'using element_type = struct ipmi::Context' {aka 'struct > ipmi::Context'} has no member named 'lun' > 1459 | else if (ctx->lun == 3) > | ^~~ > > >