AdaCore / gprbuild

GPRbuild is an advanced build system designed to help automate the construction of multi-language systems.
Other
65 stars 21 forks source link

gprbuild linker issues "undefined references..." in connection with generic packages #81

Closed MarioBlunk closed 4 years ago

MarioBlunk commented 4 years ago

Hello, I honestly tried to simlify the problem in a small testbench example but was unable to reproduce the error. So I have to pass you the whole project where you hopefully can reproduce the issue. If you check out the latest commit of the master branch at:

https://github.com/Blunk-electronic/ET

Change into src/et and run gprbuild. In the current state everything should compile, bind and link properly. Now please open the files src/lib/et_text.ads and src/lib/et_text.adb. They contain a generic package generic_pac_text. The first function "to_text_size" is the one where the (bug ?) seems to hide. In the lines following the declaration of to_text_size I wrote the nessecary notes. Please also see the body of to_text_size in et_text.adb.

`-- With this line uncommented the linker does not output any errors: function to_text_size (size : in pac_geometry.type_distance) return type_text_size;

-- With this line uncommented the linker outputs errors like "undefined reference ..." -- function to_text_size (size : in type_distance) return type_text_size; `

$ gprbuild --version GPRBUILD Pro 18.0w (19940713) (i586-suse-linux-gnu) Copyright (C) 2004-2016, AdaCore

I've tested with x64 architecture too and got the same issues.

If required I'll give you more details on how to reproduce the error.

Thank you for your work !

t-14 commented 4 years ago

This is the gprbuild project, please do not use it to report issues that are not related to gprbuild technology itself, you should address them to your package manager.

MarioBlunk commented 4 years ago

There is no package manager. I downloaded gprbuild from adacore and are now using it. There is no distributor nor a vendor nor a package manager to blaim. If you just follow the steps I outlined above, then you will probably see the problem and your customers will be happy if it is solved.

Fabien-Chouteau commented 4 years ago

@MarioBlunk gprbuild is a build system that will execute the compiler and other programs to build your code. It is not clear (and unlikely) that the error you see comes from gprbuild itself. Please use this form https://www.adacore.com/community/contact to report the issue.

Thank you,