• file "synchronization-interprocess.ads" not found

    From hreba@21:1/5 to All on Sat Jan 29 17:31:34 2022
    My program uses the gtkada contributions for multitasking and works
    well. Now I am writing a plugin following the gnat examples. The
    compiler then asks for gtkada contributions. When I include them, I get
    the error message

    gtk-persistent_storage_credentials_dialog-odbc.adb:28:06: file "persistent-odbc.ads" not found

    among others. I found the missing packages in the simple components,
    added them too, and now I get

    synchronization-interprocess-process_call_service-generic_parameterless_function.ads:27:06:
    file "synchronization-interprocess.ads" not found

    and don't know how to continue.

    I am on a Linux Mint (Ubuntu) machine.

    gtkada contributions as well as simple components I caught as source,
    and mention the corresponding directories in my project file in
    Source_Dirs. As I am trying to write a plugin, this is a library project
    of kind relocatable.
    --
    Frank Hrebabetzky, Kronach +49 / 9261 / 950 0565

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dmitry A. Kazakov@21:1/5 to hreba on Sat Jan 29 20:09:35 2022
    On 2022-01-29 17:31, hreba wrote:
    My program uses the gtkada contributions for multitasking and works
    well. Now I am writing a plugin following the gnat examples. The
    compiler then asks for gtkada contributions. When I include them, I get
    the error message

    gtk-persistent_storage_credentials_dialog-odbc.adb:28:06: file "persistent-odbc.ads" not found

    among others. I found the missing packages in the simple components,
    added them too, and now I get

    synchronization-interprocess-process_call_service-generic_parameterless_function.ads:27:06:
    file "synchronization-interprocess.ads" not found

    and don't know how to continue.

    I am on a Linux Mint (Ubuntu) machine.

    gtkada contributions as well as simple components I caught as source,
    and mention the corresponding directories in my project file in
    Source_Dirs. As I am trying to write a plugin, this is a library project
    of kind relocatable.

    Do you have your own gpr-file? The with-section and the private part of synchronization-interprocess.ads is OS-dependent. In the provided
    gpr-file it is selected by the Target_OS project scenario.

    The source file for Linux is in the subdirectory os/linux.

    Similarly, when using ODBC, you must select the right OS driver and 32-
    vs 64-bit because ODBC API depends on the choice.

    The list of scenarios is here:

    http://www.dmitry-kazakov.de/ada/components.htm#19

    --
    Regards,
    Dmitry A. Kazakov
    http://www.dmitry-kazakov.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jeffrey R.Carter@21:1/5 to hreba on Sat Jan 29 20:11:38 2022
    On 2022-01-29 17:31, hreba wrote:

    synchronization-interprocess-process_call_service-generic_parameterless_function.ads:27:06:
    file "synchronization-interprocess.ads" not found

    Presumably this refers to the packages referred to at

    http://www.dmitry-kazakov.de/ada/components.htm#Synchronization

    which seem to be part of Kazakov's simple components. If you download the source
    archive at the top of that page, it seems to contain the Synchronization pkg hierarchy.

    --
    Jeff Carter
    "Death awaits you all, with nasty, big, pointy teeth!"
    Monty Python & the Holy Grail
    20

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dmitry A. Kazakov@21:1/5 to hreba on Tue Feb 1 21:11:48 2022
    On 2022-02-01 20:37, hreba wrote:
    On 29.01.22 20:09, Dmitry A. Kazakov wrote:
    On 2022-01-29 17:31, hreba wrote:
    --- snip ---
    Source_Dirs. As I am trying to write a plugin, this is a library
    project of kind relocatable.

    Do you have your own gpr-file? The with-section and the private part
    of synchronization-interprocess.ads is OS-dependent. In the provided
    gpr-file it is selected by the Target_OS project scenario.

    The source file for Linux is in the subdirectory os/linux.

    Similarly, when using ODBC, you must select the right OS driver and
    32- vs 64-bit because ODBC API depends on the choice.

    The list of scenarios is here:

        http://www.dmitry-kazakov.de/ada/components.htm#19


    Using the component's project file is not possible because

    --
    driven_pend.gpr:7:17: shared library project "driven_pend" cannot import project "tables" that is not a shared library project
    --

    Actually it is possible to circumvent using gcc linker switches like --whole-archive. But admittedly, it is too complicated.

    so I included in my project file's Source_Dirs the Components
    subdirectories
     - os/linux
     - odbc/unixodbc/x86_64
    what resulted in

    Why do you want to include everything? I guess that you do not use

    for Source_Files

    in your project and this includes everything of which you likely need none.

    If you look at the sources you will find lots of independent projects.
    There exist many gpr files each of which has a file list

    for Source_Files use (...);

    Take only what you actually need. Copy the file lists from there and put
    them into your for Source_Files use. This will exclude things you do not
    need. Start with only your files and incrementally add lists from the
    projects containing missing files.

    --
    gnat-sockets-connection_state_machine-little_endian-unsigneds.ads:28:60:
    file "g-socser.ads" not found gnat-sockets-connection_state_machine-little_endian-unsigneds.ads:28:60: "GNAT.SOCKETS.CONNECTION_STATE_MACHINE.LITTLE_ENDIAN.UNSIGNEDS (body)" depends on
    "GNAT.SOCKETS.CONNECTION_STATE_MACHINE.LITTLE_ENDIAN.UNSIGNEDS (spec)" gnat-sockets-connection_state_machine-little_endian-unsigneds.ads:28:60: "GNAT.SOCKETS.CONNECTION_STATE_MACHINE.LITTLE_ENDIAN.UNSIGNEDS (spec)" depends on "GNAT.SOCKETS.CONNECTION_STATE_MACHINE.LITTLE_ENDIAN (spec)" gnat-sockets-connection_state_machine-little_endian-unsigneds.ads:28:60: "GNAT.SOCKETS.CONNECTION_STATE_MACHINE.LITTLE_ENDIAN (spec)" depends on "GNAT.SOCKETS.CONNECTION_STATE_MACHINE (spec)" gnat-sockets-connection_state_machine-little_endian-unsigneds.ads:28:60: "GNAT.SOCKETS.CONNECTION_STATE_MACHINE (spec)" depends on "GNAT.SOCKETS.SERVER (spec)"
    -- > Executing
        find -name "g-socser.ads"
    in directory Components didn't return any result.

    g-socser.ads is the standard AdaCore's GNAT.Sockets package. You must
    have it, if GNAT is installed.

    I guess that the actual problem is that it cannot find
    gnat-sockets-server.ads which again dependends on the GNAT compiler capabilities. There are 3 incarnations of:

    1. Standard Ada in atomic-access/ada

    2. Ada incapable of 64-bit atomic access in atomic-access/gcc

    3. Ada incapable of 64-bit atomic access yet using 64-bit for stream
    data types. This one is in atomic-access/gcc-long-offsets

    On a 64-bit machine it is #1. On a 32-bit machine it is most likely #3.

    But, again, you probably do not need any of these.

    --
    Regards,
    Dmitry A. Kazakov
    http://www.dmitry-kazakov.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From hreba@21:1/5 to Dmitry A. Kazakov on Tue Feb 1 20:37:39 2022
    On 29.01.22 20:09, Dmitry A. Kazakov wrote:
    On 2022-01-29 17:31, hreba wrote:
    --- snip ---
    Source_Dirs. As I am trying to write a plugin, this is a library
    project of kind relocatable.

    Do you have your own gpr-file? The with-section and the private part of synchronization-interprocess.ads is OS-dependent. In the provided
    gpr-file it is selected by the Target_OS project scenario.

    The source file for Linux is in the subdirectory os/linux.

    Similarly, when using ODBC, you must select the right OS driver and 32-
    vs 64-bit because ODBC API depends on the choice.

    The list of scenarios is here:

       http://www.dmitry-kazakov.de/ada/components.htm#19


    Using the component's project file is not possible because

    --
    driven_pend.gpr:7:17: shared library project "driven_pend" cannot import project "tables" that is not a shared library project
    --

    so I included in my project file's Source_Dirs the Components subdirectories
    - os/linux
    - odbc/unixodbc/x86_64
    what resulted in

    --
    gnat-sockets-connection_state_machine-little_endian-uns
  • From hreba@21:1/5 to All on Wed Feb 2 18:04:26 2022
    I limited the source files as recommended and it compiles now.

    Thanks for the help.
    --
    Frank Hrebabetzky, Kronach +49 / 9261 / 950 0565

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)