MOABConfig.h:14:32: error: '##' cannot appear at either end of a macro expansion
As of recently, I'm getting build errors of the kind
/«PKGBUILDDIR»/obj-x86_64-linux-gnu/src/moab/MOABConfig.h:14:32: error: '##' cannot appear at either end of a macro expansion
#define MOAB_F77_FUNC(name,NAME) name ##
^
Full logs here.
Comments (11)
-
-
reporter The error is also present with compilers as old as GCC 4.8.4, cf. https://launchpadlibrarian.net/244008244/buildlog_ubuntu-trusty-amd64.moab_4.9.1pre~20160229122129-trusty1_BUILDING.txt.gz.
-
I made a comment on the offending, merged PR #194.
https://bitbucket.org/fathomteam/moab/pull-requests/194/generate-fortran-prototypes-during/diff
-
reporter Also investigating right now...
-
Check CMakeFiles/CMakeError.log for more details about why the Fortran/C interface check failed to compile.
-
reporter The issue was probably a missing/defective Fortran compiler. I've upgraded that and now get
CMake Error: Error processing file: /«PKGBUILDDIR»/config/ITAPSFortranMangling.cmake itaps/fbigeom/CMakeFiles/FBiGeomMOAB.dir/build.make:56: recipe for target 'itaps/fbigeom/FBiGeom_protos.h' failed make[3]: *** [itaps/fbigeom/FBiGeom_protos.h] Error 1
(see here).
-
Ah yes. Can you try this branch: vijaysm/missing-fbigeom-protos
If that solves all issues, can submit a PR. Else we can add more fixes to this branch.
-
reporter I can confirm this branch fixes this issue. https://launchpadlibrarian.net/244080788/buildlog_ubuntu-xenial-amd64.moab_4.9.1pre~20160229164258-xenial1_BUILDING.txt.gz
-
Can you pull and check this branch again ? I committed another fix to append the variable only when its not empty. I'll also be merging this to develop to make sure our builds keep working correctly. Will submit a PR after that.
-
reporter -
- changed status to resolved
This issue was fixed in PR #207
- Log in to comment
On first look, the configuration for mangling seems to be screwed up. From the configuration logs:
Knowing why the compilation failed would help here. I also don't have access to GNU 5.3.1 and so this would be a hard one to test.