Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shared Lib Support Test Fails on RHEL Platforms #15

Open
rdratlos opened this issue Oct 22, 2020 · 0 comments · May be fixed by #29
Open

Shared Lib Support Test Fails on RHEL Platforms #15

rdratlos opened this issue Oct 22, 2020 · 0 comments · May be fixed by #29

Comments

@rdratlos
Copy link

Commit cc01d58 introduced in community-2018 release causes regression on RedHat and probably also Fedora systems:

rpmbuild usually applies a %configure macro during build process. This macro sets the build and the host platform and passes them as parameter to the configure script. But not the target platform. This is not an issue, as configure --help clearly states the following strategy:

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
  --target=TARGET   configure for building compilers for TARGET [HOST]

configure assumes the target platform to be the same as the host platform, if not explicitly specified.
Commit cc01d58 violates this strategy. If --host is passed but not --target $target_alias is NULL, i. e. different from $host_alias, configure tries to check gprbuild's shared library support for an unspecified target platform (NULL), which leads to following failure:

gprbuild: illegal option "--target=" on the command line

Check will always fail regardless if the host=target platform supports shared GNAT libraries or not.

Tevo45 added a commit to Tevo45/xmlada that referenced this issue Dec 20, 2024
Previously, we used the --host and --target arguments of the configure
script to mean the build machine and the machine the package will run
on, mirroring GPRBuild's own usage of the flags. By convention,
however, autoconf scripts usually take --build to mean the build
machine, --host to mean the machine the package will run on and
--target to mean the target of the toolchain being configured (if
relevant). Our non-standard usage tends to cause problems with some
distribution's packaging machinery (such as Void Linux's, or RHEL's),
which often follow autoconf's conventions instead.

When in Rome, do as the Romans do; hopefully this won't confuse
GPRBuild users (too much)!

Fixes AdaCore#15
Tevo45 added a commit to Tevo45/xmlada that referenced this issue Dec 20, 2024
Previously, we used the --host and --target arguments of the configure
script to mean the build machine and the machine the package will run
on, mirroring GPRBuild's own usage of the terminology. By convention,
however, autoconf scripts usually take --build to mean the build
machine, --host to mean the machine the package will run on and
--target to mean the target of the toolchain being configured (if
relevant). Our non-standard usage tends to cause problems with some
distribution's packaging machinery (such as Void Linux's, or RHEL's),
which often follow autoconf's conventions instead.

When in Rome, do as the Romans do; hopefully this won't confuse
GPRBuild users (too much)!

Fixes AdaCore#15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant