ADL Worbench for Linux

Someone any idea?

Thanks
Bert

verhees@kubuntuwerk:~/adl_workbench-linux$ ./adl_workbench

adl_workbench: system execution failed.
Following is the set of recorded exceptions:

******************************** Thread exception

from the top of my head: reads like a path problem with the images embedded into AW, due to fact that it is being developed under Windows, and you’re trying to run it under Linux.
Any chance you can check out mechanism of image paths?

Yes, an image path problem; but no, ADL Workbench is cross-platform. It works under Linux just as well as Windows. Regardless of the platform, the image files have to be in the correct place.

Bert, did you build this yourself or did you install it from http://www.openehr.org/downloads/ADLworkbench/home ?

Peter

I am afraid not, the exception does not give enough information, it does not even tell which image it is missing. If I would know that, I would repair path, or get the image from github. It cost too much time to study the source-code. Bert

I know it is cross platform :slight_smile: That is why I wrote, “developed under Windows”, which implies that the developer might have used Windows style relative paths for images.

No, we don't. There is nothing Windows-specific about ADL Workbench. It really is cross-platform :slight_smile:

Bert's problem looks like the normal error you would get, regardless of the platform, if you haven't installed the files where they belong. So I'm waiting for him to answer my earlier question ...

Peter

Yes, I unpacked it and use the created directory structure Below the tree Bert /home/verhees/adl_workbench-linux/ ├── adl_workbench ├── ArchetypeRepositoryReport.css ├── ArchetypeRepositoryReport.xsl ├── default_ui_config.cfg ├── error_db │ ├── adl_compiler_error_db.txt │ ├── adl_error_db.txt │ ├── awb_gui_db.txt │ ├── bmm_error_db.txt │ ├── dadl_error_db.txt │ └── general_error_db.txt ├── icons │ ├── am │ │ ├── added │ │ │ ├── archetype_external_ref.ico │ │ │ ├── archetype_external_ref.multiple.ico │ │ │ ├── archetype_external_ref.multiple.optional.ico │ │ │ ├── archetype_external_ref.optional.ico │ │ │ ├── archetype_internal_ref_ball.ico │ │ │ ├── archetype_internal_ref.ico │ │ │ ├── archetype_slot_exclude.ico │ │ │ ├── archetype_slot.ico │ │ │ ├── archetype_slot_include.ico │ │ │ ├── archetype_slot.multiple.ico │ │ │ ├── archetype_slot.optional.ico │ │ │ ├── assertion.ico │ │ │ ├── c_archetype_root.ico │ │ │ ├── c_attribute_computed.ico │ │ │ ├── c_attribute_computed.multiple.ico │ │ │ ├── c_attribute_computed.multiple.optional.ico │ │ │ ├── c_attribute_computed.optional.ico │ │ │ ├── c_attribute.ico │ │ │ ├── c_attribute.multiple.ico │ │ │ ├── c_attribute.multiple.optional.ico │ │ │ ├── c_attribute.optional.ico │ │ │ ├── c_code_phrase.ico │ │ │ ├── c_complex_object.ico │ │ │ ├── c_complex_object.multiple.ico │ │ │ ├── c_complex_object.multiple.optional.ico │ │ │ ├── c_complex_object.optional.ico │ │ │ ├── c_dv_ordinal.ico │ │ │ ├── c_dv_quantity.ico │ │ │ ├── constraint_ref.ico │ │ │ ├── c_primitive_object.ico │ │ │ ├── c_quantity_item.ico │ │ │ ├── ordinal.ico │ │ │ ├── quantity.ico │ │ │ ├── rules.ico │ │ │ └── term.ico │ │ ├── inherited │ │ │ ├── archetype_external_ref.ico │ │ │ ├── archetype_external_ref_multiple.ico │ │ │ ├── archetype_external_ref.multiple.optional.ico │ │ │ ├── archetype_external_ref.optional.ico │ │ │ ├── archetype_internal_ref.ico │ │ │ ├── archetype_slot.ico │ │ │ ├── archetype_slot.multiple.ico │ │ │ ├── archetype_slot.optional.ico │ │ │ ├── c_archetype_root.ico │ │ │ ├── c_attribute_computed.ico │ │ │ ├── c_attribute_computed.multiple.ico │ │ │ ├── c_attribute_computed.multiple.optional.ico │ │ │ ├── c_attribute_computed.optional.ico │ │ │ ├── c_attribute.ico │ │ │ ├── c_attribute.multiple.ico │ │ │ ├── c_attribute.multiple.optional.ico │ │ │ ├── c_attribute.optional.ico │ │ │ ├── c_code_phrase.ico │ │ │ ├── c_complex_object.ico │ │ │ ├── c_complex_object.multiple.ico │ │ │ ├── c_complex_object.multiple.optional.ico │ │ │ ├── c_complex_object.optional.ico │ │ │ ├── c_dv_ordinal.ico │ │ │ ├── c_dv_quantity.ico │ │ │ ├── constraint_ref.ico │ │ │ ├── c_primitive_object.ico │ │ │ ├── c_quantity_item.ico │ │ │ ├── ordinal.ico │ │ │ ├── quantity.ico │ │ │ └── term.ico │ │ └── redefined │ │ ├── archetype_external_ref.ico │ │ ├── archetype_external_ref.multiple.ico │ │ ├── archetype_external_ref.multiple.optional.ico │ │ ├── archetype_external_ref.optional.ico │ │ ├── archetype_internal_ref.ico │ │ ├── archetype_slot.ico │ │ ├── archetype_slot.multiple.ico │ │ ├── archetype_slot.optional.ico │ │ ├── c_archetype_root.ico │ │ ├── c_attribute_computed.ico │ │ ├── c_attribute_computed.multiple.ico │ │ ├── c_attribute_computed.multiple.optional.ico │ │ ├── c_attribute_computed.optional.ico │ │ ├── c_attribute.ico │ │ ├── c_attribute.multiple.ico │ │ ├── c_attribute.multiple.optional.ico │ │ ├── c_attribute.optional.ico │ │ ├── c_code_phrase.ico │ │ ├── c_complex_object.ico │ │ ├── c_complex_object.multiple.ico │ │ ├── c_complex_object.multiple.optional.ico │ │ ├── c_complex_object.optional.ico │ │ ├── c_dv_ordinal.ico │ │ ├── c_dv_quantity.ico │ │ ├── constraint_ref.ico │ │ ├── c_primitive_object.ico │ │ ├── c_quantity_item.ico │ │ ├── icon_help_example.ico │ │ ├── ordinal.ico │ │ ├── quantity.ico │ │ └── term.ico │ ├── archetype │ │ ├── archetype_1.ico │ │ ├── archetype_2.ico │ │ ├── archetype_3.ico │ │ ├── archetype_category.ico │ │ ├── archetype_parsed_1.ico │ │ ├── archetype_parsed_2.ico │ │ ├── archetype_parsed_3.ico │ │ ├── archetype_parse_failed_1.ico │ │ ├── archetype_parse_failed_2.ico │ │ ├── archetype_parse_failed_3.ico │ │ ├── archetype_valid_1.ico │ │ ├── archetype_valid_2.ico │ │ ├── archetype_valid_3.ico │ │ ├── archetype_warning_1.ico │ │ ├── archetype_warning_2.ico │ │ ├── archetype_warning_3.ico │ │ ├── c_attribute.ico │ │ ├── c_attribute.multiple.ico │ │ ├── c_attribute.multiple.optional.ico │ │ ├── c_attribute.optional.ico │ │ ├── class_abstract.ico │ │ ├── class_concrete_generic.ico │ │ ├── class_concrete.ico │ │ ├── class_concrete_supertype.ico │ │ ├── class_primitive.ico │ │ ├── file_folder_2.ico │ │ ├── file_folder_3.ico │ │ ├── model_group.ico │ │ ├── template_1.ico │ │ ├── template_2.ico │ │ ├── template_3.ico │ │ ├── template_category.ico │ │ ├── template_overlay_1.ico │ │ ├── template_overlay_2.ico │ │ ├── template_overlay_3.ico │ │ ├── template_overlay_parsed_1.ico │ │ ├── template_overlay_parsed_2.ico │ │ ├── template_overlay_parsed_3.ico │ │ ├── template_overlay_parse_failed_1.ico │ │ ├── template_overlay_parse_failed_2.ico │ │ ├── template_overlay_parse_failed_3.ico │ │ ├── template_overlay_valid_1.ico │ │ ├── template_overlay_valid_2.ico │ │ ├── template_overlay_valid_3.ico │ │ ├── template_overlay_warning_1.ico │ │ ├── template_overlay_warning_2.ico │ │ ├── template_overlay_warning_3.ico │ │ ├── template_parsed_1.ico │ │ ├── template_parsed_2.ico │ │ ├── template_parsed_3.ico │ │ ├── template_parse_failed_1.ico │ │ ├── template_parse_failed_2.ico │ │ ├── template_parse_failed_3.ico │ │ ├── template_valid_1.ico │ │ ├── template_valid_2.ico │ │ ├── template_valid_3.ico │ │ ├── template_warning_1.ico │ │ ├── template_warning_2.ico │ │ └── template_warning_3.ico │ ├── elements │ │ ├── archetype_green_disc.ico │ │ ├── archetype_grey_disc.ico │ │ └── template_disc.ico │ ├── openehr_adl_workbench_logo.png │ ├── openEHR_and_Ocean.png │ ├── openehr_awb_small_logo.ico │ ├── openEHR.ico │ ├── openEHR.png │ ├── rm │ │ ├── cen │ │ │ ├── bl.png │ │ │ ├── cd.png │ │ │ ├── cluster.png │ │ │ ├── composition.png │ │ │ ├── content.ico │ │ │ ├── cs.ico │ │ │ ├── cv.png │ │ │ ├── ed.png │ │ │ ├── ehr_extract.ico │ │ │ ├── element.png │ │ │ ├── entry.ico │ │ │ ├── folder.ico │ │ │ ├── int.png │ │ │ ├── link.png │ │ │ ├── pq.png │ │ │ ├── section.png │ │ │ └── text.png │ │ ├── cimi │ │ │ ├── cluster.png │ │ │ ├── content_item.ico │ │ │ ├── dt_time.png │ │ │ ├── dv_boolean.png │ │ │ ├── dv_coded_text.png │ │ │ ├── dv_count.png │ │ │ ├── dv_date.png │ │ │ ├── dv_date_time.png │ │ │ ├── dv_duration.png │ │ │ ├── dv_identifier.png │ │ │ ├── dv_ordinal.png │ │ │ ├── dv_parsable.png │ │ │ ├── dv_proportion.png │ │ │ ├── dv_quantity.png │ │ │ ├── dv_text.png │ │ │ ├── dv_uri.png │ │ │ ├── element.png │ │ │ ├── entry.ico │ │ │ ├── folder.ico │ │ │ ├── link.png │ │ │ ├── participation.png │ │ │ └── section.png │ │ ├── generic │ │ │ ├── c_attribute_computed.ico │ │ │ ├── c_attribute_computed.multiple.ico │ │ │ ├── c_attribute_computed.multiple.optional.ico │ │ │ ├── c_attribute_computed.optional.ico │ │ │ ├── c_attribute.ico │ │ │ ├── c_attribute.multiple.ico │ │ │ ├── c_attribute.multiple.optional.ico │ │ │ ├── c_attribute.optional.ico │ │ │ ├── class_abstract.ico │ │ │ ├── class_abstract_override.ico │ │ │ ├── class_concrete_generic.ico │ │ │ ├── class_concrete.ico │ │ │ ├── class_concrete_override.ico │ │ │ ├── class_concrete_supertype.ico │ │ │ ├── class_concrete_supertype_override.ico │ │ │ ├── class_primitive.ico │ │ │ ├── c_meta_attribute.ico │ │ │ ├── constrained_generic_parameter.ico │ │ │ ├── generic_parameter.ico │ │ │ └── package.ico │ │ ├── iso │ │ │ ├── bl.png │ │ │ ├── cd.png │ │ │ ├── cluster.png │ │ │ ├── composition.png │ │ │ ├── content_item.ico │ │ │ ├── cs.ico │ │ │ ├── cv.png │ │ │ ├── ed.png │ │ │ ├── ehr_extract.ico │ │ │ ├── element.png │ │ │ ├── entry.ico │ │ │ ├── folder.ico │ │ │ ├── int.png │ │ │ ├── link.png │ │ │ ├── pq.png │ │ │ ├── section.png │ │ │ └── ts.png │ │ └── openehr │ │ ├── action.ico │ │ ├── action_slot.ico │ │ ├── activity.png │ │ ├── address.ico │ │ ├── address_slot.ico │ │ ├── admin_entry.ico │ │ ├── admin_entry_slot.ico │ │ ├── agent.png │ │ ├── any.png │ │ ├── capability.png │ │ ├── care_entry32x32.ico │ │ ├── care_entry.ico │ │ ├── cluster.ico │ │ ├── cluster_slot.ico │ │ ├── composition.ico │ │ ├── composition_slot.ico │ │ ├── contact.png │ │ ├── content_item32x32.ico │ │ ├── content_item.ico │ │ ├── dt_time.png │ │ ├── dv_boolean.png │ │ ├── dv_coded_text.png │ │ ├── dv_count.png │ │ ├── dv_date.png │ │ ├── dv_date_time.png │ │ ├── dv_duration.png │ │ ├── dv_identifier.png │ │ ├── dv_interval.png │ │ ├── dv_multimedia.png │ │ ├── dv_ordinal.png │ │ ├── dv_parsable.png │ │ ├── dv_proportion.png │ │ ├── dv_quantity.png │ │ ├── dv_text.png │ │ ├── dv_uri.png │ │ ├── element.png │ │ ├── entry32x32.ico │ │ ├── entry.ico │ │ ├── entry_slot.ico │ │ ├── evaluation32x32.ico │ │ ├── evaluation.ico │ │ ├── evaluation_slot.ico │ │ ├── event32x32.ico │ │ ├── event.ico │ │ ├── extract.ico │ │ ├── folder.ico │ │ ├── group.png │ │ ├── history32x32.ico │ │ ├── history.ico │ │ ├── instruction.ico │ │ ├── instruction_slot.ico │ │ ├── interval_count.png │ │ ├── interval_date_time.png │ │ ├── interval_duration.png │ │ ├── interval_event32x32.ico │ │ ├── interval_event.ico │ │ ├── interval_quantity.png │ │ ├── ism_transition.png │ │ ├── item_structure.png │ │ ├── item_tree.ico │ │ ├── item_tree_slot.ico │ │ ├── link.png │ │ ├── object_ref.png │ │ ├── observation.ico │ │ ├── observation_slot.ico │ │ ├── organisation.ico │ │ ├── organisation_slot.ico │ │ ├── participation.png │ │ ├── party_identity.ico │ │ ├── party_identity_slot.ico │ │ ├── party_proxy.png │ │ ├── party_ref.png │ │ ├── party_relationship.png │ │ ├── person.ico │ │ ├── person_slot.ico │ │ ├── point_event32x32.ico │ │ ├── point_event.ico │ │ ├── role.png │ │ ├── section.ico │ │ ├── section_slot.ico │ │ └── structure.png │ └── tool │ ├── ancestors.ico │ ├── annotations.ico │ ├── archetype_catalog.ico │ ├── archetype_category.ico │ ├── archetype_editor.ico │ ├── archetype_tool.ico │ ├── archetype_tool_new.ico │ ├── class_tool.ico │ ├── class_tool_new.ico │ ├── closure.ico │ ├── compile.ico │ ├── console.ico │ ├── descendants.ico │ ├── description.ico │ ├── diff32.ico │ ├── diff_class.ico │ ├── diff.ico │ ├── edit_active.ico │ ├── edit.ico │ ├── edit_inactive.ico │ ├── errors_grey.ico │ ├── errors.ico │ ├── flat_class.ico │ ├── flat.ico │ ├── go.ico │ ├── history_back.ico │ ├── history_forward.ico │ ├── icon_help_example.ico │ ├── info.ico │ ├── magnifier.ico │ ├── metrics_grey.ico │ ├── metrics.ico │ ├── node_map.ico │ ├── open_archetype.ico │ ├── parse_errors.ico │ ├── parse.ico │ ├── path_map.ico │ ├── paths.ico │ ├── pause.ico │ ├── properties.ico │ ├── redo_active.png │ ├── redo_inactive.ico │ ├── refresh.png │ ├── rm_schema.ico │ ├── rm_schema_tool.ico │ ├── rm_schema_tool_new.ico │ ├── serialised.ico │ ├── slot_map.ico │ ├── source.ico │ ├── star.ico │ ├── statistics_grey.ico │ ├── statistics.ico │ ├── stop.ico │ ├── synchronise_active.ico │ ├── synchronise_inactive.ico │ ├── template_catalog_grey.ico │ ├── template_catalog.ico │ ├── template_category.ico │ ├── terminology.ico │ ├── test_failed.ico │ ├── test_not_applicable.ico │ ├── test_passed.ico │ ├── tools.ico │ ├── tree_collapse_all.ico │ ├── tree_collapse.ico │ ├── tree_expand_all.ico │ ├── tree_expand.ico │ ├── undo_active.png │ ├── undo_inactive.ico │ ├── validity_errors.ico │ └── warnings.ico ├── LICENSE.txt ├── rm_schemas │ ├── cen_EN13606_0.95.bmm │ ├── cen_ts14796_0.90.bmm │ ├── cimi_composition_050.bmm │ ├── cimi_structures_050.bmm │ ├── EXAMPLE.bmm.txt │ ├── iso_21090_0.90.bmm │ ├── openehr_adltest_100.bmm │ ├── openehr_basic_types_102.bmm │ ├── openehr_demographic_102.bmm │ ├── openehr_demographic_200_cand_A.bmm │ ├── openehr_ehr_102.bmm │ ├── openehr_ehr_cand_A_200.bmm │ ├── openehr_ehr_extract_110.bmm │ ├── openehr_gui.bmm │ ├── openehr_primitive_types_102.bmm │ ├── openehr_rm_102.bmm │ ├── openehr_rm_cand_A_200.bmm │ ├── openehr_structures_102.bmm │ └── openehr_structures_cand_A_200.bmm ├── sample_xml_rules.cfg ├── terminology │ ├── en │ │ └── openehr_terminology.xml │ └── external_terminologies.xml └── vim ├── adl.vim ├── filetype.vim └── synload.vim 19 directories, 427 files

Bert,

initial check - make sure the 'icons' directory exists in the application install area. I'll download and run this on a Linux machine today, to double check it works.

- thomas

(attachments)

OceanInformaticsl.JPG

nope, Peter is way smarter than that :wink:

See this kind of code - https://github.com/openEHR/adl-tools/blob/master/libraries/common_libs/src/utility/app_resources/shared_resources.e

It's all platform-independent. Now that doesn't mean we don't have a bug, but it's unusual these days to be in this area, since this code is stable for quite some time now... anyway, we'll find it soon enough once we can reproduce Bert's error.

- thomas

Bert,

I just did a new install on an up-to-date Ubuntu installation (Dell laptop, very standard) and it ran out of the box, no problems. (The docking arrangement of the windows is a bit weird, but can be manually adjusted, and the tool remembers the last state over sessions).

The exception is on reading an image file but it looks as if they are all there. I can't remember what happens if you have no GTK+ installed, but I don't think it's this error; might be worth checking anyway.

My suggestions in order would be (as a prior action, maybe do a git clone of https://github.com/openEHR/adl-archetypes.git somewhere convenient - that will give you some test & CKM archetypes):

  * rm -rf the install directory and rerun the tar xjvf command, just to
    be sure that it completes properly; retry
  * if no luck, check if there is some strange permissions on the
    install directories or subdirectories that would prevent file reading.
  * if no luck, try on another linux machine

We are working on bundling all the icons into the app, but we have not done it yet, hence all those little files.

If none of the above works, can you raise an issue on the PR tracker <http://www.openehr.org/issues/browse/AWB&gt;?

thanks

- thomas

Thanks Thomas,

I have GTK+ installed, the old version of the ADL_workbench runs fine, I am using it right now.
All the necessary libraries seem to be there also, I checked it with ldd

I have no idea, thanks for the investigation

Bert

Thanks for the link, very useful for me :slight_smile:

Bert

there are lots of useful links here…

(attachments)

cjchbhbj.png

Indeed, I didn’t notice, very comprehensive, very useful. I didn’t study the new website very well, but it is worth it, it is a great improvement. Bert