From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!3s634R+rSk3f11Qz2WJrTw.user.46.165.242.91.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: file "synchronization-interprocess.ads" not found Date: Tue, 1 Feb 2022 21:11:48 +0100 Organization: Aioe.org NNTP Server Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gioia.aioe.org; logging-data="59483"; posting-host="3s634R+rSk3f11Qz2WJrTw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.1 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader02.eternal-september.org comp.lang.ada:63434 List-Id: 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