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: InstallationSeverity: 4 - Important
Item Group: CrashStatus: Fixed
Privacy: PublicAssigned 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
  • -unavailable- added by makhlaghi (Submitted the item)
  •  

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

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 11 Sep 2016 02:06:11 PM UTCmakhlaghiStatusConfirmed=>Fixed
      Assigned toNone=>makhlaghi
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1