This bugzilla service is closed. All entries have been migrated to
Bug 658 - Compile-Error due a conflict of macro (-name); previously defined in ctype.h
Summary: Compile-Error due a conflict of macro (-name); previously defined in ctype.h
Alias: None
Product: Eigen
Classification: Unclassified
Component: Sparse (show other bugs)
Version: 3.2
Hardware: All All
: Normal Compilation Problem
Assignee: Nobody
Depends on:
Reported: 2013-09-18 14:14 UTC by meisenmann.lba
Modified: 2019-12-04 12:37 UTC (History)
2 users (show)


Description meisenmann.lba 2013-09-18 14:14:03 UTC
I'm using Eigen library 3.2.0 (as released) with various GCC-cross-compilers (V. 4.1.2 - 4.8.1). If the header-file SparseLU will be included, I've got the error
"Eigen/src/SparseLU/SparseLU.h:222: error: expected ',' or '...' before numeric constant". But, this will not occur with MinGW (4.7.2) or VS 2010 for example.

After some investgations:

These cross-compilers (I.e. C-headers and libc) are based on NEWLIB (as often used in embedded development-environments). Within the header-file 'ctype.h' there are some macros like _U, _L, _N, _S, _P, _X (!) and _B, defined as octal constants. The replacement of the second argument _X by the associated constant (by the preprocessor) "triggers" the error afterwards :-(

Okay, it's simple to replace the affected argument-name; e.g. _X -> D or X_ ...
But, this simple fix should be provided (back) into your trunk/development.

Best regards from Salzburg,
M. Eisenmann
Comment 1 Petter 2013-12-26 19:46:44 UTC
I can confirm this issue. I am having problems upgrading to 3.2.0 on Cygwin with GCC 4.8.1 due to this error.
Comment 2 Christoph Hertzberg 2014-11-06 15:30:13 UTC
The immediate issue had been fixed a while ago (fix was available at least since Eigen 3.2.1):

Bug 361 should probably still be addressed.
Comment 3 Nobody 2019-12-04 12:37:26 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance:

Note You need to log in before you can comment on or make changes to this bug.