python3 path different from python2


Emily
 

Hi all - 

I'm working with rocko trying to build a recipe with python3 that used to be build with python2 using cmake. After changing things in the build files, when I run the devshell for the recipe, I see two different include paths for python2 and python3. I have tried switching to zeus but I had a few issues with a xilinx bsp for the machine I wanted to build with. 

For python2 (correct):
root@dc:/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/git# python-config --cflags
-I/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot/usr/include/python2.7 -I/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot/usr/include/python2.7 -fno-strict-aliasing -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/python/2.7.14-r1=/usr/src/debug/python/2.7.14-r1 -fdebug-prefix-map=/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot-native= -fdebug-prefix-map=/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot= -DNDEBUG -g -O3 -Wall -Wstrict-prototypes

For python3 (incorrect):
root@dc:/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/git# python3-config --cflags
-I/usr/include/python3.5m -I/usr/include/python3.5m  -Wno-unused-result -Wsign-compare -g -fstack-protector-strong -Wformat -Werror=format-security  -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes

The python3 one is obviously incorrect, is there a way to tell where this path is coming from? Even if I manually include the proper path in the CMakeLists.txt it doesn't seem to work. Does yocto overwrite this path somewhere? 

Thanks!
Emily Smith


Tim Orling
 

Does your recipe inherit pythonnative? If so, you could try switching to ‘python3native’.


On Tue, May 12, 2020 at 12:13 PM Emily <easmith5555@...> wrote:
Hi all - 

I'm working with rocko trying to build a recipe with python3 that used to be build with python2 using cmake. After changing things in the build files, when I run the devshell for the recipe, I see two different include paths for python2 and python3. I have tried switching to zeus but I had a few issues with a xilinx bsp for the machine I wanted to build with. 

For python2 (correct):
root@dc:/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/git# python-config --cflags
-I/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot/usr/include/python2.7 -I/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot/usr/include/python2.7 -fno-strict-aliasing -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/python/2.7.14-r1=/usr/src/debug/python/2.7.14-r1 -fdebug-prefix-map=/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot-native= -fdebug-prefix-map=/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/recipe-sysroot= -DNDEBUG -g -O3 -Wall -Wstrict-prototypes

For python3 (incorrect):
root@dc:/local/d6/easmith5/rocko_bitbake/poky/build/tmp/work/aarch64-poky-linux/opc-ua-server-gfex/1.0+gitAUTOINC+921c563309-r0/git# python3-config --cflags
-I/usr/include/python3.5m -I/usr/include/python3.5m  -Wno-unused-result -Wsign-compare -g -fstack-protector-strong -Wformat -Werror=format-security  -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes

The python3 one is obviously incorrect, is there a way to tell where this path is coming from? Even if I manually include the proper path in the CMakeLists.txt it doesn't seem to work. Does yocto overwrite this path somewhere? 

Thanks!
Emily Smith