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)