apache/celix

Celix's Support Issues for NI LINUX RT Real time Operating System

Closed this issue · 3 comments

Hello, Recently, I wanted to migrate from Ubuntu 22.04 to NI LINUX RT in my project. Compared to that, I first tried to port the environment on Celix. After successfully compiling and installing on Celix, I found that the framework error occurred when running the example program. Do you know where the problem lies? Is there any way to solve it?
Environmental description:
The system is NI LINUX RT, and the package manager used is opkg. Due to the inability to install all Celix dependency libraries through opkg (which is not available in the package manager), there are three main ways to address this issue

  1. OPkg can be installed directly (some existing libraries can be installed directly)
  2. The library already exists in the NI LINUX RT system
  3. Compile and install by downloading the source code
    Note: For specific environments, please refer to "CelixTest/ACEPler_Runtime Migration NI_LNUX_RT. md". Among them, build essential and libcurl4-openssl-dev only have Ubuntu specific libraries, so I did not install build essential. libcurl4-openssl-dev is because the system itself has curl and openssl libraries
    Warehouse Description:
    GitHub repository: https://github.com/tonychen0924/CelixTest
    Test Example: CelixTest/UnitDemo1/RteDemo
    Problem description: The compilation can pass normally, but when starting MyContainer, an error occurs as shown below. It can run normally in Ubuntu 22.04 environment, but after comparison, it was found that the. cache directory in build/deploy/MyContainer did not generate the corresponding bundle directory
    admin@NI-cRIO-903x-VM-27e00187 :~/git_pro/acephere_runtime/example/celix/unitDemo1/RteDemo/build/deploy/MyContainer# ./ MyContainer
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_framework_utils_extractBundlePath:200] No such file or directory(0x2): "Could not extract bundle zip file bundles/celix_ShellCxx.zip to .cache/bundle1/resources";
    Cause: No such file or directory
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleArchive_extractBundle:137] Failed to initialize archive. Failed to extract bundle zip to revision directory.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleArchive_createCacheDirectory:178] Failed to initialize archive. Failed to extract bundle.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleArchive_create:300] No such file or directory(0x2): "Could not create archive.";
    Cause: Failed to initialize archive or create manifest.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleCache_createArchive:222] No such file or directory(0x2): Failed to create archive.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_framework_installBundleInternalImpl:683] No such file or directory(0x2): Could not install bundle
    [2024-07-11T14:01:15] [ error] [celix_framework] [framework_autoInstallConfiguredBundlesForList:540] Could not install bundle from location 'celix_ShellCxx.zip'.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_framework_utils_extractBundlePath:200] No such file or directory(0x2): "Could not extract bundle zip file bundles/celix_shell_tui.zip to .cache/bundle2/resources";
    Cause: No such file or directory
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleArchive_extractBundle:137] Failed to initialize archive. Failed to extract bundle zip to revision directory.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleArchive_createCacheDirectory:178] Failed to initialize archive. Failed to extract bundle.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleArchive_create:300] No such file or directory(0x2): "Could not create archive.";
    Cause: Failed to initialize archive or create manifest.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleCache_createArchive:222] No such file or directory(0x2): Failed to create archive.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_framework_installBundleInternalImpl:683] No such file or directory(0x2): Could not install bundle
    [2024-07-11T14:01:15] [ error] [celix_framework] [framework_autoInstallConfiguredBundlesForList:540] Could not install bundle from location 'celix_shell_tui.zip'.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_framework_utils_extractBundlePath:200] No such file or directory(0x2): "Could not extract bundle zip file bundles/LiterteDemoBundle.zip to .cache/bundle3/resources";
    Cause: No such file or directory
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleArchive_extractBundle:137] Failed to initialize archive. Failed to extract bundle zip to revision directory.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleArchive_createCacheDirectory:178] Failed to initialize archive. Failed to extract bundle.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleArchive_create:300] No such file or directory(0x2): "Could not create archive.";
    Cause: Failed to initialize archive or create manifest.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_bundleCache_createArchive:222] No such file or directory(0x2): Failed to create archive.
    [2024-07-11T14:01:15] [ error] [celix_framework] [celix_framework_installBundleInternalImpl:683] No such file or directory(0x2): Could not install bundle
    [2024-07-11T14:01:15] [ error] [celix_framework] [framework_autoInstallConfiguredBundlesForList:540] Could not install bundle from location 'LiterteDemoBundle.zip'.
    [2024-07-11T14:01:15] [ info] [celix_framework] [framework_start:492] Celix framework started

From your CMake output, I noticed that you are using zip executable rather than jar to process bundles:

-- Using zip to create bundles

It seems like an old issue: #643

Which version are you using? Please use 2.4.0 instead.

Yes, I am using version 2.3 instead of 2.4, but this issue has been tested on NI LINUX RT and does not appear on Ubuntu 22.04 . I'll try upgrading to the next version

Yes, I am using version 2.3 instead of 2.4, but this issue has been tested on NI LINUX RT and does not appear on Ubuntu 22.04 . I'll try upgrading to the next version

There may be jar installed on Ubuntu 22.04. Then it will be used to create bundles instead of using zip.
This is a zip-specific issue.