Skip to content

cache_config not working on Android aarch64 #851

Description

@RiadYan

Hello, I was working on my app and noticed that when building a Plugin on an aarch64 device it would not work and actually throw this error:

config file not specified and failed to get the default

After some digging i found out that the issue happened during the creation of the PluginBuilder.

            let plugin_builder =
                PluginBuilder::new(WasmInput::Manifest(plugin_manifest));
            let compiled_plugin = CompiledPlugin::new(plugin_builder)?;
            let plugin = Plugin::new_from_compiled(&compiled_plugin)?;

Running this code would fail; same for this code :

  let plugin = Plugin::new(&plugin_manifest, [], true).unwrap();

And the only way I found to actually "fix" this was to disable the cache_config by adding with_cache_disabled() to the PluginBuilder :

            let plugin_builder =
                PluginBuilder::new(WasmInput::Manifest(plugin_manifest)).with_cache_disabled();
            let compiled_plugin = CompiledPlugin::new(plugin_builder)?;
            let plugin = Plugin::new_from_compiled(&compiled_plugin)?;

I reckon this issue arises because of PathBuf and how it doesn't work on some android devices.

And this part is not able to get the default config.

        match &builder.options.cache_config {
            Some(None) => (),
            Some(Some(path)) => {
                config.cache_config_load(path)?;
            }
            None => {
                if let Ok(env) = std::env::var("EXTISM_CACHE_CONFIG") {
                    if !env.is_empty() {
                        config.cache_config_load(&env)?;
                    }
                } else {
                    config.cache_config_load_default()?;
                }
            }
        }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions