Skip to content

Runner produces misleading '<library> does not run on this architecture' error messages #780

Closed
@processing-bot

Description

@processing-bot

Created by: kevinstadler

Description

Processing 4.3 produces bogus/misleading console error messages of the format library.getName() + " does not run on this architecture: " + variant when running sketches that load a library which bundles native libraries for at least one architecture, but none for the architecture/OS on which the sketch is run. The error message is triggered by the following heuristic:

public boolean isUnsupported(String variant) {
if (exportList.isEmpty()) {
// if no per-platform exports, then nothing to worry about
return false;
}
return getApplicationExportList(variant) == null;
}

which is a bit too aggressive: the upcoming release of the Processing Sound library will bundle native dlls for Windows to improve audio device support, but not for other platforms (linux, mac, arm, android) which it nevertheless supports out of the box. Based on the current behaviour, users of any platform other than Windows will be shown a disconcerting (and wrong) error message any time they run a sketch.

Expected behaviour

There should be a way for libraries to selectively suppress Processing's 'does not run on this architecture' error message, for example by providing an optional mechanism that allows libraries to specify explicitly which OSs/platforms they support (maybe something for library.properties?).

I suppose the error message could already be suppressed by creating native library sub-folders for every platform/architecture and adding an empty dummy file into each. If this is deemed a sufficient solution, then it should probably be documented somewhere.

Steps to Reproduce

On any platform/OS other than Windows, run any of the example sketches from this current dev build of the Sound library.

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