|
From: <ai...@us...> - 2013-06-21 19:04:41
|
Revision: 12384
http://sourceforge.net/p/plplot/code/12384
Author: airwin
Date: 2013-06-21 19:04:38 +0000 (Fri, 21 Jun 2013)
Log Message:
-----------
Switch to slow but reliable non-parallel builds because parallel
builds for wxwidgets have proved to be unreliable both historically
and recently (presumably due to some parallel build race conditions
for wxwidgets that intermittently produce bad results depending on who
wins the race).
Modified Paths:
--------------
trunk/cmake/build_projects/wxwidgets/bp.cmake
Modified: trunk/cmake/build_projects/wxwidgets/bp.cmake
===================================================================
--- trunk/cmake/build_projects/wxwidgets/bp.cmake 2013-06-13 03:13:53 UTC (rev 12383)
+++ trunk/cmake/build_projects/wxwidgets/bp.cmake 2013-06-21 19:04:38 UTC (rev 12384)
@@ -43,23 +43,29 @@
determine_msys_path(BP_PATH "${BP_PATH}")
# Must have all elements of env command in MSYS platform form
determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+ # This flag is still necessary to keep ld step from exhausting
+ # memory with MinGW. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43601
+ # for discussion of this. Apparently the issue was fixed for
+ # MinGW-4.6, but it appears to be back for 4.7.2.
+ set(${BP_PACKAGE}_SET_CXXFLAGS "CXXFLAGS=-fno-keep-inline-dllexport")
else(MSYS_PLATFORM)
set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+ set(${BP_PACKAGE}_SET_CXXFLAGS)
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
-# The fno-keep-inline-dllexport flag required to work around
-# the memory exhaustion issue discussed in
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43601
-# Still have memory exhaustion issues if you combine that
-# with -O3 so do not use the -O3 optimization flag.
+# Got intermittent failures using ${BP_PARALLEL_MAKE} both
+# historically and recently which are likely due to a parallel make
+# race condition for wxwidgets. So I have decided to use
+# slow but sure ${BP_MAKE_COMMAND} instead.
+
ExternalProject_Add(
build_${BP_PACKAGE}
URL ${${BP_PACKAGE}_URL}
URL_MD5 ${${BP_PACKAGE}_URL_MD5}
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} CXXFLAGS=-fno-keep-inline-dllexport ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-shared --enable-unicode --enable-debug --enable-debug_gdb
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-shared --enable-unicode --enable-debug --enable-debug_gdb
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_MAKE_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_MAKE_COMMAND} install
)
list(APPEND build_target_LIST build_${BP_PACKAGE})
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-31 02:23:24
|
Revision: 12447
http://sourceforge.net/p/plplot/code/12447
Author: airwin
Date: 2013-07-31 02:23:21 +0000 (Wed, 31 Jul 2013)
Log Message:
-----------
Move back to parallel builds in general. I now have more experience
with autotools type builds on MSYS/Wine, and they all seem to pop
several error boxes (probably due to some Wine-1.6 issue) typically
during runs of the enormous libtool bash script configured for each
project and typically run (twice!) for each compilation. My
hypothesis now is the parallel builds are putting extreme pressure on
bash running those libtool scripts so the number of error boxes that
are popped for MSYS should be reduced if parallel builds are not
allowed for autotools-configured projects. But I will handle that
with an overall option (see next commit) rather than specifically
turning off parallel builds for each separate autotools project.
Modified Paths:
--------------
trunk/cmake/build_projects/wxwidgets/bp.cmake
Modified: trunk/cmake/build_projects/wxwidgets/bp.cmake
===================================================================
--- trunk/cmake/build_projects/wxwidgets/bp.cmake 2013-07-31 02:14:21 UTC (rev 12446)
+++ trunk/cmake/build_projects/wxwidgets/bp.cmake 2013-07-31 02:23:21 UTC (rev 12447)
@@ -54,18 +54,13 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
-# Got intermittent failures using ${BP_PARALLEL_MAKE} both
-# historically and recently which are likely due to a parallel make
-# race condition for wxwidgets. So I have decided to use
-# slow but sure ${BP_MAKE_COMMAND} instead.
-
ExternalProject_Add(
build_${BP_PACKAGE}
URL ${${BP_PACKAGE}_URL}
URL_MD5 ${${BP_PACKAGE}_URL_MD5}
CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CXXFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-shared --enable-unicode --enable-debug --enable-debug_gdb
- BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_MAKE_COMMAND}
- INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_MAKE_COMMAND} install
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
)
list(APPEND build_target_LIST build_${BP_PACKAGE})
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|