View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028971 | Open CASCADE | OCCT:Configuration | public | 2017-08-03 09:49 | 2018-06-29 21:19 |
Reporter | kgv | Assigned To | kgv | ||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | reopened | ||
Platform | Linux | ||||
Product Version | 6.6.0 | ||||
Target Version | 7.3.0 | Fixed in Version | 7.3.0 | ||
Summary | 0028971: Configuration - fix compatibility with glibc 2.26+ due to xlocale.h removal | ||||
Description | glibc 2.26 (GNU C Library) changelog entry: https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;hb=HEAD * The nonstandard header <xlocale.h> has been removed. Most programs should use <locale.h> instead. indicates that OCCT will have compilation issues with it due to including xlocale.h within Standard_CLocaleSentry.hxx: #include <locale.h> #ifndef HAVE_XLOCALE_H //! "xlocale.h" available in Mac OS X and glibc (Linux) for a long time as an extension //! and become part of POSIX since '2008. //! Notice that this is impossible to test (_POSIX_C_SOURCE >= 200809L) //! since POSIX didn't declared such identifier. #if defined(__APPLE__) #define HAVE_XLOCALE_H #endif //! We check _GNU_SOURCE for glibc extensions here and it is always defined by g++ compiler. #if defined(_GNU_SOURCE) && !defined(__ANDROID__) #define HAVE_XLOCALE_H #endif #endif // ifndef HAVE_LOCALE_H #ifdef HAVE_XLOCALE_H #include <xlocale.h> #endif It looks like locale_t is still there, but header xlocale.h was removed (locale.h is enough, which is already included) - so that "#include <xlocale.h>" should be protected by glibc version check - but actual issues should be checked. | ||||
Tags | No tags attached. | ||||
Test case number | Not required | ||||
child of | 0022898 | closed | Community | IGES import fails in german environment |
|
Dear bugmaster, could you please check how we can verify compilation with glibc 2.6 within our environment? There is no need to make modifications to our testing cluster, just one time operation to check the issue and the patch (we will get glibc 2.6+ automatically with next versions of Linux distributives anyway). |
|
Branch CR28971 has been created by kgv. SHA-1: c376290468b67b2f62442fe79c229e8473f78cac Detailed log of new commits: Author: kgv Date: Mon Aug 7 17:09:11 2017 +0300 0028971: Configuration - fix compatibility with glibc 2.26+ due to xlocale.h removal |
|
Please take the patch. http://jenkins-test-10.nnov.opencascade.com/view/CR28971-master-KGV/view/OCCT%20compile/ |
|
Combination - OCCT branch : master Products branch : CR28971 : SHA1 - c376290468b67b2f62442fe79c229e8473f78cac was compiled on Linux, MacOS and Windows platforms. Number of compiler warnings: OCCT : Linux: 0 (0 on master) Windows: 0 (0 on master) MacOS : 0 (0 on master) Products : Linux: 5 (5 on master) Windows: 0 (0 on master) MacOS : 0 (0 on master) |
|
Branch CR28971 has been deleted by kgv. SHA-1: c376290468b67b2f62442fe79c229e8473f78cac |
|
Fix is incorrect. xlocale has been removed from 2.26. But current condition worls only if glibc version >= 2.24! But old code should work as earlier for glibc version < 2.26. #if defined(HAVE_XLOCALE_H) && !(defined(__GLIBC__) && (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 24)) It should be: #if defined(HAVE_XLOCALE_H) && (defined(__GLIBC__) && (__GLIBC__ == 2 && __GLIBC_MINOR__ < 26)) |
|
solomin_s wrote: > Fix is incorrect The target version for this bug is OCCT 7.2.1. The fixes have been already pushed to master. |
|
Ok, fix has been found. Mantis show invalid (old) commit. |
|
The correct fix is integrated within commit for #29251 |
occt: master e2c4ce48 2017-08-07 14:09:11 Committer: bugmaster Details Diff |
0028971: Configuration - fix compatibility with glibc 2.26+ due to xlocale.h removal |
Affected Issues 0028971 |
|
mod - src/Standard/Standard_CLocaleSentry.cxx | Diff File | ||
mod - src/Standard/Standard_CLocaleSentry.hxx | Diff File | ||
mod - src/Standard/Standard_CString.cxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-08-03 09:49 | kgv | New Issue | |
2017-08-03 09:49 | kgv | Assigned To | => kgv |
2017-08-03 09:52 | kgv | Note Added: 0069078 | |
2017-08-03 09:52 | kgv | Assigned To | kgv => bugmaster |
2017-08-03 09:52 | kgv | Status | new => feedback |
2017-08-03 09:52 | kgv | Description Updated | |
2017-08-03 09:54 | kgv | Relationship added | child of 0022898 |
2017-08-03 09:55 | kgv | Product Version | 7.1.0 => 6.6.0 |
2017-08-07 17:09 | git | Note Added: 0069169 | |
2017-08-07 17:10 | kgv | Assigned To | bugmaster => kgv |
2017-08-07 17:10 | kgv | Status | feedback => assigned |
2017-08-07 17:52 | kgv | Note Added: 0069175 | |
2017-08-07 17:52 | kgv | Assigned To | kgv => bugmaster |
2017-08-07 17:52 | kgv | Status | assigned => resolved |
2017-08-07 17:52 | kgv | Status | resolved => reviewed |
2017-08-07 18:07 | bugmaster | Note Added: 0069177 | |
2017-08-07 18:07 | bugmaster | Status | reviewed => tested |
2017-08-07 18:46 | bugmaster | Test case number | => Not required |
2017-08-11 07:52 | bugmaster | Changeset attached | => occt master e2c4ce48 |
2017-08-11 07:52 | bugmaster | Status | tested => verified |
2017-08-11 07:52 | bugmaster | Resolution | open => fixed |
2017-08-18 17:00 | git | Note Added: 0069647 | |
2017-09-29 16:17 |
|
Fixed in Version | => 7.2.0 |
2017-09-29 16:29 |
|
Status | verified => closed |
2017-10-21 20:40 | kgv | Assigned To | bugmaster => kgv |
2017-10-21 20:40 | kgv | Status | closed => feedback |
2017-10-21 20:40 | kgv | Resolution | fixed => reopened |
2017-10-21 20:40 | kgv | Fixed in Version | 7.2.0 => |
2017-10-21 20:40 | kgv | Target Version | 7.2.0 => 7.3.0 |
2018-02-14 08:39 | solomin_s | Note Added: 0073973 | |
2018-02-14 10:03 | kgv | Note Added: 0073975 | |
2018-02-14 10:08 | solomin_s | Note Added: 0073977 | |
2018-02-26 00:16 |
|
Note Added: 0074130 | |
2018-02-26 00:16 |
|
Status | feedback => verified |
2018-06-29 21:15 |
|
Fixed in Version | => 7.3.0 |
2018-06-29 21:19 |
|
Status | verified => closed |