On 01/27/2017 01:20 PM, Andreas Sandberg wrote: > Hi Pierre, > > I send out an email to the dev list on the 12th of January (Header order > issues) describing a similar issue we have in our CI system. I have an > updated version of the style checker that enforces that Python.h is > included first and plan to post it after lunch.
Oh, I didn't see this mail sorry. Problem solved then ! > I would like to avoid including Python.h in header files unless > absolutely necessary. In general, we should try to keep dependencies > within header files as small as possible to avoid wasting time on > recompiling things. I agree. > Cheers, > Andreas > > > On 27/01/17 10:48, Pierre-Yves Péneau wrote: >> I think I have found why this is not working. With the new refactoring >> script, the header corresponding to the source file must be included >> first. But, when Python.h is needed, it also must be included first to >> avoid this error. >> >> So, I think there is two workaround: >> i) the refactoring script should check if Python.h is needed and if so, >> include it first and then include the header file. >> ii) move the Python.h inclusion in the header file. The second one is >> easier as it does not need to change the refactoring script. It also >> sounds better to me. >> >> I tried the second solution and it's working. What do you think ? >> >> On 01/26/2017 06:05 PM, Pierre-Yves Péneau wrote: >>> Hi all, >>> >>> I am trying to build the latest gem5 version and I get the error below. >>> >>>> $ scons /var/tmp/gem5-current/build/X86/gem5.fast >>> [snip] >>> >>>> [ CXX] X86/python/swig/pyevent.cc -> .fo >>>> In file included from /usr/include/python2.7/pyconfig.h:6:0, >>>> from /usr/include/python2.7/Python.h:8, >>>> from /var/tmp/gem5-current/build/X86/sim/init.hh:34, >>>> from >>>> /var/tmp/gem5-current/build/X86/python/swig/pyevent.hh:35, >>>> from >>>> /var/tmp/gem5-current/build/X86/python/swig/pyevent.cc:31: >>>> /usr/include/python2.7/pyconfig-64.h:1182:0: error: >>>> "_POSIX_C_SOURCE" redefined [-Werror] >>>> #define _POSIX_C_SOURCE 200112L >>>> ^ >>>> In file included from >>>> /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/os_defines.h:39:0, >>>> from >>>> /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h:2097, >>>> from /usr/include/c++/4.8.2/utility:68, >>>> from /usr/include/c++/4.8.2/algorithm:60, >>>> from >>>> /var/tmp/gem5-current/build/X86/sim/eventq.hh:41, >>>> from >>>> /var/tmp/gem5-current/build/X86/python/swig/pyevent.hh:34, >>>> from >>>> /var/tmp/gem5-current/build/X86/python/swig/pyevent.cc:31: >>>> /usr/include/features.h:168:0: note: this is the location of the >>>> previous definition >>>> # define _POSIX_C_SOURCE 200809L >>>> ^ >>>> In file included from /usr/include/python2.7/pyconfig.h:6:0, >>>> from /usr/include/python2.7/Python.h:8, >>>> from /var/tmp/gem5-current/build/X86/sim/init.hh:34, >>>> from >>>> /var/tmp/gem5-current/build/X86/python/swig/pyevent.hh:35, >>>> from >>>> /var/tmp/gem5-current/build/X86/python/swig/pyevent.cc:31: >>>> /usr/include/python2.7/pyconfig-64.h:1204:0: error: "_XOPEN_SOURCE" >>>> redefined [-Werror] >>>> #define _XOPEN_SOURCE 600 >>>> ^ >>>> In file included from >>>> /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/os_defines.h:39:0, >>>> from >>>> /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h:2097, >>>> from /usr/include/c++/4.8.2/utility:68, >>>> from /usr/include/c++/4.8.2/algorithm:60, >>>> from >>>> /var/tmp/gem5-current/build/X86/sim/eventq.hh:41, >>>> from >>>> /var/tmp/gem5-current/build/X86/python/swig/pyevent.hh:34, >>>> from >>>> /var/tmp/gem5-current/build/X86/python/swig/pyevent.cc:31: >>>> /usr/include/features.h:170:0: note: this is the location of the >>>> previous definition >>>> # define _XOPEN_SOURCE 700 >>>> ^ >>>> cc1plus: all warnings being treated as errors >>>> scons: *** [/var/tmp/gem5-current/build/X86/python/swig/pyevent.fo] >>>> Error 1 >>>> scons: building terminated because of errors. >>> My last successful build before pulling the changes was in December. I >>> am using gcc-4.8.5 and python 2.7.5. It seems related to python and >>> variable redefinition. As far as I know, python 2.7 is supported by >>> gem5, only python 2.6 has been dropped few months ago. Host is CentOS >>> 7.2. Any idea of what's going on ? Thanks. >>> >>> >>> >>> _______________________________________________ >>> gem5-users mailing list >>> gem5-us...@gem5.org >>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>> > > IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy > the information in any medium. Thank you. > _______________________________________________ > gem5-dev mailing list > gem5-dev@gem5.org > http://m5sim.org/mailman/listinfo/gem5-dev -- +-------------------------------------------------------------+ | Pierre-Yves Péneau - PhD student | first.last at lirmm.fr | | LIRMM / CNRS - SYSMIC team | + 33 4 67 41 86 33 | | Building 4 Office H2.2 | http://walafc0.org | +-------------------------------------------------------------+ _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev