-
-
Notifications
You must be signed in to change notification settings - Fork 362
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
CI: configure
script's m4/*
library checks begin with CFLAGS=""
#2673
Labels
bug
CI
Entries related to continuous integration infrastructure (historically also recipes like Makefiles)
cross-builds
impacts-release-2.8.2
Issues reported against NUT release 2.8.2 (maybe vanilla or with minor packaging tweaks)
portability
We want NUT to build and run everywhere possible
Milestone
Comments
jimklimov
added
bug
CI
Entries related to continuous integration infrastructure (historically also recipes like Makefiles)
cross-builds
portability
We want NUT to build and run everywhere possible
impacts-release-2.8.2
Issues reported against NUT release 2.8.2 (maybe vanilla or with minor packaging tweaks)
labels
Nov 8, 2024
As posted into PR #2675, I went with temporary variables to collect flags for the current dependency in each Note that |
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…h build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…em with build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…ith build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…th build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…m with build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…em with build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…with build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…m with build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…th build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…ith build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…with build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…with build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
… with build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 10, 2024
…ith build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 11, 2024
…m with build-common CFLAGS etc. for target-platform-relevant checks [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 11, 2024
…tools#2673 and networkupstools#2674 Signed-off-by: Jim Klimov <jim@jimklimov.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 11, 2024
…at situation with GCC [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Nov 12, 2024
…nutils (for ldd) [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
jimklimov
added a commit
to jimklimov/nut
that referenced
this issue
Jan 9, 2025
…ts/targets where it is needed [networkupstools#2673] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
CI
Entries related to continuous integration infrastructure (historically also recipes like Makefiles)
cross-builds
impacts-release-2.8.2
Issues reported against NUT release 2.8.2 (maybe vanilla or with minor packaging tweaks)
portability
We want NUT to build and run everywhere possible
The goal of emptying the
CFLAGS
is to determine (frompkg-config
, CLI args or other sources) the actual set of tokens needed by a dependency.This however leads to NOT using some earlier discovered (or caller-provided)
CFLAGS
in some of those tests, notably with hints about customized bitness or target architecture. As a result, a build system capable of building for several targets actually checks some of the dependencies for the compiler-default target. Most of the time this is okay if dependencies are all present consistently for all targets, but fails if targets are provisioned with different abilities.As a practical example, OpenIndiana is capable of 32-bit (i386) and 64-bit (amd64) builds. It provides a
libgd
which is unfortunately broken for 32-bit version (packaging no longer delivers some shared objects used bylibgd.so
for the platform, but the library itself, headers and pkg-config metadata are delivered). Tests withgcc-7
compiler (targeting 32-bit by default) fail to find a functionallibgd
even if we callCFLAGS=-m64 ./configure --with-cgi
for an explicit 64-bit build. Some code is tested for 64-bit compile-/link-ability, butm4/nut_check_libgd.m4
is subject to compiler defaults, tests the broken 32-bit library, and bails out.It also does not help when
pkg-config
returns linkage info correct for the requested target platform (per--with-pkg-config-path
settings), but the compiler tries to build for another:This issue is about thinking some way around the problem. For example, we could track
COMPONENT_CFLAGS
etc. in their dedicated variables right away, maybe kept private until success, and mix with the stored copy of originalCFLAGS
etc. for practical tests (perhaps also somehow determine which flags are "systemic")?.. An example prospective solution is inm4/nut_check_libnss.m4
in fact, where it honours original-m32
/-m64
if present in the flags (and ifGCC==yes
), attaching them to the copy of$CC
used by the test.Also it would be wise to find a way of checking/ensuring that
pkg-config
results (or search path?) match the compiler default/requested target architecture, soconfigure
-time discoveries are representative of what the actual build/link would achieve.This would impact many of the
m4
scripts, and possibly code inside theconfigure.ac
script source.The text was updated successfully, but these errors were encountered: