bugGNU 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

Submitted by:  Mohammad Akhlaghi <makhlaghi>
Submitted on:  Mon 05 Sep 2016 09:14:16 AM UTC  
Category:  Installation Severity:  4 - Important
Item Group:  Crash Status:  Fixed
Privacy:  Public Assigned to:  Mohammad Akhlaghi <makhlaghi>
Open/Closed:  Closed

Sun 11 Sep 2016 02:06:11 PM UTC, comment #2:

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.

Mohammad Akhlaghi <makhlaghi>
Project AdministratorIn charge of this item.
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>
Project AdministratorIn charge of this item.
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>
Project AdministratorIn charge of this item.


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by makhlaghi (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-09-11 makhlaghi StatusConfirmed => Fixed
        Assigned toNone => makhlaghi
        Open/ClosedOpen => Closed

    Back to the top

    Powered by Savane 3.3