GNU Astronomy Utilities - Bugs: bug #49007, Gnulib C headers not allowing C++...
You are not allowed to post comments on this tracker with your current authentication level.
bug #49007: Gnulib C headers not allowing C++ compilation in tests
Submitter: | Mohammad Akhlaghi <makhlaghi> | ||
Submitted: | Mon 05 Sep 2016 09:14:16 AM UTC | ||
Category: | Installation | Severity: | 4 - Important |
Item Group: | Crash | Status: | Fixed |
Privacy: | Public | Assigned to: | makhlaghi |
Open/Closed: | Closed |
Sun 11 Sep 2016 02:06:11 PM UTC, comment #2: |
Mohammad Akhlaghi <makhlaghi>![]() ![]() |
Mon 05 Sep 2016 09:43:32 AM UTC, comment #1: I have pushed the change below to my development fork of Gnuastro for futher testing. |
Mohammad Akhlaghi <makhlaghi>![]() ![]() |
Mon 05 Sep 2016 09:14:16 AM UTC, original submission:
As part of task #13786, a test was written to compile a simple C++ program, it worked on my GNU/Linux system, but a friend of mine who tested it on a Mac came up with the following errors when running `make check'.
The error is apparently due to the fact that his system is looking into the bootstrapped Gnulib C headers (for example `../bootstrapped/lib/string.h' in the first case), when it is compiling the C++ `versioncpp.cpp' code.
When building actual Gnuastro code, we need to include the Gnulib libraries before the system libraries, so we have the `../bootstrapped/lib' directories in `CPPFLAGS'. However, this is not the case for tests, we want the tests to completely use the system's resources (since we won't be installing Gnulib).
By explicitly setting `CPPFLAGS' in `tests/Makefile.am' as shown below, the problem on his system was solved and it successfully built `versioncpp'.
But this can't be a permanent solution, since we are practically over-writing this important user-defined variable. |
Mohammad Akhlaghi <makhlaghi>![]() ![]() |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 3 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2016-09-11 | makhlaghi | Status | Confirmed | ![]() |
Fixed |
Assigned to | None | ![]() |
makhlaghi | ||
Open/Closed | Open | ![]() |
Closed |
A better solution was found and has been pushed to the main repository.
In short, the inclusion of the `bootstrapped/lib' directory was mandated to all Makefiles from `configure.ac'. So to fix the problem, this directory is now only included when building the libraries and utilities (with `AM_CPPFLAGS' in the separate `Makefile.am's), not when building the tests.
As a sidenote: due to a bootstrapping update, the library development branch was merged with master before this commit. However, the library development will again continue on that separate branch.