comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: file "synchronization-interprocess.ads" not found
Date: Tue, 1 Feb 2022 21:11:48 +0100	[thread overview]
Message-ID: <stc462$1q2r$1@gioia.aioe.org> (raw)
In-Reply-To: j5tgg3F46t3U1@mid.individual.net

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

  reply	other threads:[~2022-02-01 20:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2022-02-02 17:04       ` hreba
2022-01-29 19:11 ` Jeffrey R.Carter
replies disabled

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