Hi,

We are implementing certain logic within a shared library and aims at exposing 
this through the extensible SDK, unfortunately without success so far. The 
library and it's associated header file is successfully added to the image and 
appears also present from the eSDK:

martin@dell:~/gomspace_sdk$ find . -name libgsisl.so 
./tmp/sysroots/nanomind-ultra-zu6eg-zcu102/usr/lib/libgsisl.so                  
       
./tmp/work/aarch64-gomspace-linux/libisl/develop-r0/sysroot-destdir/usr/lib/libgsisl.so
                                                                                
        
./tmp/sysroots-components/aarch64/libisl/usr/lib/libgsisl.so                    
       
martin@dell:~/gomspace_sdk$ find . -name isl.h                                  
       
./tmp/sysroots/nanomind-ultra-zu6eg-zcu102/usr/include/gs/isl/isl.h             
       
./tmp/work/aarch64-gomspace-linux/libisl/develop-r0/sysroot-destdir/usr/include/gs/isl/isl.h
                                                                                
   
./tmp/sysroots-components/aarch64/libisl/usr/include/gs/isl/isl.h               
       
martin@dell:~/gomspace_sdk$ 

For testing, I have implemented a small application, built through CMake:

martin@dell:~/work/xsllibtest$ cat CMakeLists.txt 
add_executable (xsllibtest xsllibtest.c)
target_link_libraries (xsllibtest gsisl)

with the library- and test application build natively the library call works on 
my host machine, however the cross-compilation fails to find the header file:

martin@dell:~/gomspace_sdk$ devtool add xsllibtest ~/work/xsllibtest/
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Recipe 
/home/martin/gomspace_sdk/workspace/recipes/xsllibtest/xsllibtest.bb has been 
automatically created; further editing may be required to make it fully 
functional
martin@dell:~/gomspace_sdk$ cat workspace/recipes/xsllibtest/xsllibtest.bb 
# Recipe created by recipetool
# This is the basis of a recipe and may need further editing in order to be 
fully functional.
# (Feel free to remove these comments when editing.)

# Unable to find any files that looked like license statements. Check the 
accompanying
# documentation and source headers and set LICENSE and LIC_FILES_CHKSUM 
accordingly.
#
# NOTE: LICENSE is being set to "CLOSED" to allow you to at least start 
building - if
# this is not accurate with respect to the licensing of the software being 
built (it
# will not be in most cases) you must specify the correct value before using 
this
# recipe for anything other than initial testing/development!
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""

# No information for SRC_URI yet (only an external source tree was specified)
SRC_URI = ""

inherit cmake

# Specify any options you want to pass to cmake using EXTRA_OECMAKE:
EXTRA_OECMAKE = ""

martin@dell:~/gomspace_sdk$ cat workspace/appends/xsllibtest.bbappend 
inherit externalsrc
EXTERNALSRC = "/home/martin/work/xsllibtest"


during the compilation:
.
.
.
Log data follows:
| DEBUG: Executing python function externalsrc_compile_prefunc
| NOTE: xsllibtest: compiling from external source tree 
/home/martin/work/xsllibtest
| DEBUG: Python function externalsrc_compile_prefunc finished
| DEBUG: Executing shell function do_compile
| NOTE: VERBOSE=1 cmake --build 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0/
 -- -j 8
| 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/recipe-sysroot-native/usr/bin/cmake
 -H/home/martin/work/xsllibtest 
-B/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0
 --check-build-system CMakeFiles/Makefile.cmake 0
| 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/recipe-sysroot-native/usr/bin/cmake
 -E cmake_progress_start 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0/CMakeFiles
 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0/CMakeFiles/progress.mar
ks
| make -f CMakeFiles/Makefile2 all
| make[1]: Entering directory 
'/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0'
| make -f CMakeFiles/xsllibtest.dir/build.make CMakeFiles/xsllibtest.dir/depend
| make[2]: Entering directory 
'/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0'
| cd 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0
 && 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/recipe-sysroot-native/usr/bin/cmake
 -E cmake_depends "Unix Makefiles" /home/martin/work/xsllibtest 
/home/martin/work/xsllibtest /home/martin/gomspace_sdk/tmp/work/aarch64-gomspace
-linux/xsllibtest/1.0-r0/xsllibtest-1.0 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0
 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0/CMakeFiles/xsllibtest.dir/DependInfo.cmake
 --color=
| Dependee 
"/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0/CMakeFiles/xsllibtest.dir/DependInfo.cmake"
 is newer than depender 
"/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0/CMakeFiles/xsllibtest.dir/depend.internal".
| Dependee 
"/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0/CMakeFiles/CMakeDirectoryInformation.cmake"
 is newer than depender 
"/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0/CMakeFiles/xsllibtest.dir/depend.internal".
| Scanning dependencies of target xsllibtest
| make[2]: Leaving directory 
'/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0'
| make -f CMakeFiles/xsllibtest.dir/build.make CMakeFiles/xsllibtest.dir/build
| make[2]: Entering directory 
'/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0'
| [ 50%] Building C object CMakeFiles/xsllibtest.dir/xsllibtest.c.o
| 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/recipe-sysroot-native/usr/bin/aarch64-gomspace-linux/aarch64-gomspace-linux-gcc
   
--sysroot=/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/recipe-sysroot
  -O2 -pipe -g -feliminate-unused-debug-types 
-fdebug-prefix-map=/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0=/usr/src/debug/xsllibtest/1.0-r0
 
-fdebug-prefix-map=/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/recipe-sysroot-native=
 
-fdebug-prefix-map=/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/recipe-sysroot=
    
--sysroot=/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/recipe-sysroot
   -o CMakeFiles/xsllibtest.dir/xsllibtest.c.o   -c 
/home/martin/work/xsllibtest/xsllibtest.c
| /home/martin/work/xsllibtest/xsllibtest.c:1:10: fatal error: gs/isl/isl.h: No 
such file or directory
|  #include <gs/isl/isl.h>
|           ^~~~~~~~~~~~~~
| compilation terminated.
| make[2]: *** [CMakeFiles/xsllibtest.dir/build.make:66: 
CMakeFiles/xsllibtest.dir/xsllibtest.c.o] Error 1
| make[2]: Leaving directory 
'/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0'
| make[1]: *** [CMakeFiles/Makefile2:71: CMakeFiles/xsllibtest.dir/all] Error 2
| make[1]: Leaving directory 
'/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/xsllibtest-1.0'
| make: *** [Makefile:87: all] Error 2
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_compile (log file is located at 
/home/martin/gomspace_sdk/tmp/work/aarch64-gomspace-linux/xsllibtest/1.0-r0/temp/log.do_compile.17008)
ERROR: Task 
(/home/martin/gomspace_sdk/workspace/recipes/xsllibtest/xsllibtest.bb:do_compile)
 failed with exit code '1'
NOTE: Tasks Summary: Attempted 464 tasks of which 460 didn't need to be rerun 
and 1 failed.

Since the header file resides with the standard '/usr/include' location I 
assume no explicit include path configuration is needed (I have tried setting 
this explicitly from CMakeLists.txt with the same outcome).

Am I missing something obvious here? Configure/compilation log files 
attached....

Thanks,
Martin

Attachment: log.do_compile
Description: log.do_compile

Attachment: log.do_configure
Description: log.do_configure

Attachment: run.do_compile
Description: run.do_compile

Attachment: run.do_configure
Description: run.do_configure

-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to