comp.lang.ada
 help / color / mirror / Atom feed
* file "synchronization-interprocess.ads" not found
@ 2022-01-29 16:31 hreba
  2022-01-29 19:09 ` Dmitry A. Kazakov
  2022-01-29 19:11 ` Jeffrey R.Carter
  0 siblings, 2 replies; 6+ messages in thread
From: hreba @ 2022-01-29 16:31 UTC (permalink / raw)


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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: file "synchronization-interprocess.ads" not found
  2022-01-29 16:31 file "synchronization-interprocess.ads" not found hreba
@ 2022-01-29 19:09 ` Dmitry A. Kazakov
  2022-02-01 19:37   ` hreba
  2022-01-29 19:11 ` Jeffrey R.Carter
  1 sibling, 1 reply; 6+ messages in thread
From: Dmitry A. Kazakov @ 2022-01-29 19:09 UTC (permalink / raw)


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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: file "synchronization-interprocess.ads" not found
  2022-01-29 16:31 file "synchronization-interprocess.ads" not found hreba
  2022-01-29 19:09 ` Dmitry A. Kazakov
@ 2022-01-29 19:11 ` Jeffrey R.Carter
  1 sibling, 0 replies; 6+ messages in thread
From: Jeffrey R.Carter @ 2022-01-29 19:11 UTC (permalink / raw)


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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: file "synchronization-interprocess.ads" not found
  2022-01-29 19:09 ` Dmitry A. Kazakov
@ 2022-02-01 19:37   ` hreba
  2022-02-01 20:11     ` Dmitry A. Kazakov
  0 siblings, 1 reply; 6+ messages in thread
From: hreba @ 2022-02-01 19:37 UTC (permalink / raw)


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-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.

Regards,
-- 
Frank Hrebabetzky, Kronach	+49 / 9261 / 950 0565

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: file "synchronization-interprocess.ads" not found
  2022-02-01 19:37   ` hreba
@ 2022-02-01 20:11     ` Dmitry A. Kazakov
  2022-02-02 17:04       ` hreba
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry A. Kazakov @ 2022-02-01 20:11 UTC (permalink / raw)


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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: file "synchronization-interprocess.ads" not found
  2022-02-01 20:11     ` Dmitry A. Kazakov
@ 2022-02-02 17:04       ` hreba
  0 siblings, 0 replies; 6+ messages in thread
From: hreba @ 2022-02-02 17:04 UTC (permalink / raw)


I limited the source files as recommended and it compiles now.

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-02-02 17:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-29 16:31 file "synchronization-interprocess.ads" not found hreba
2022-01-29 19:09 ` Dmitry A. Kazakov
2022-02-01 19:37   ` hreba
2022-02-01 20:11     ` Dmitry A. Kazakov
2022-02-02 17:04       ` hreba
2022-01-29 19:11 ` Jeffrey R.Carter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox