GithubHelp home page GithubHelp logo

Comments (7)

bradcray avatar bradcray commented on June 8, 2024 1

Thanks for the quick check, Michael!

I lean towards not trying to fix it for this release.

That approach would be fine with me. Would you be up for PRing your patch (and the corresponding prereqs tweaks) with the intention to merge it shortly after the 1.33 freeze is over? Although I guess let me see if a release is imminent first.

from chapel.

mppf avatar mppf commented on June 8, 2024 1

I've created #24019 for it, post-release.

from chapel.

bradcray avatar bradcray commented on June 8, 2024

@ronawho : Seeing your self-assignment here: Have you communicated with the Qthreads team about this at all? If not, I can take it up, I just didn't want to ask them if you'd already filed an issue against them or made them aware of it. I'm not seeing an issue or mention of it on Slack, but am horrible at search.

from chapel.

ronawho avatar ronawho commented on June 8, 2024

Nope, I had meant to do something with this for the 1.32 release, but timed out and subsequently forget. I'd be happy to let you take it up.

from chapel.

bradcray avatar bradcray commented on June 8, 2024

Qthreads seems to have fixed this almost immediately after I reported it —  sandialabs/qthreads#194 (comment). @mppf, would you have the time to test their patch on alpine?

Do you think we would want to patch this into our snapshot and merge it this week, or have more time to live with it? (where I'm guessing that time would just give us the opportunity to feel confident nothing else had broken or changed rather than gaining more experience with Alpine?).

from chapel.

mppf avatar mppf commented on June 8, 2024

@bradcray -- I can confirm that the patch addresses the problem & that make check succeeds on Alpine Linux 3.18 with the patch. I did have to run ./autogen.sh though so the patch we would need to third-party is bigger than it might have seemed at first. The patch I ended up with is below.

diff --git a/third-party/qthread/qthread-src/.autogen-version b/third-party/qthread/qthread-src/.autogen-version
index bc4493477a..8068c6e177 100644
--- a/third-party/qthread/qthread-src/.autogen-version
+++ b/third-party/qthread/qthread-src/.autogen-version
@@ -1 +1 @@
-1.19
+1.19
\ No newline at end of file
diff --git a/third-party/qthread/qthread-src/config/qthread_check_makecontext.m4 b/third-party/qthread/qthread-src/config/qthread_check_makecontext.m4
index 67b0030a9c..d18f24837e 100644
--- a/third-party/qthread/qthread-src/config/qthread_check_makecontext.m4
+++ b/third-party/qthread/qthread-src/config/qthread_check_makecontext.m4
@@ -72,7 +72,7 @@ AC_CACHE_CHECK([for hand-implemented makecontext],
 	 *tile*)
 	  qthread_cv_makecontext="yes"
 	 ;;
-	 *-linux-gnu*|*-linux)
+	 *-linux-gnu*|*-linux|*-linux-musl)
 	 qthread_cv_makecontext="yes"
 	 ;;
 	 *-cygwin)
diff --git a/third-party/qthread/qthread-src/configure b/third-party/qthread/qthread-src/configure
index ff9bd75e5e..5e87b10852 100755
--- a/third-party/qthread/qthread-src/configure
+++ b/third-party/qthread/qthread-src/configure
@@ -6806,11 +6806,11 @@ if test x$ac_prog_cxx_stdcxx = xno
 then :
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
 printf %s "checking for $CXX option to enable C++11 features... " >&6; }
-if test ${ac_cv_prog_cxx_11+y}
+if test ${ac_cv_prog_cxx_cxx11+y}
 then :
   printf %s "(cached) " >&6
 else $as_nop
-  ac_cv_prog_cxx_11=no
+  ac_cv_prog_cxx_cxx11=no
 ac_save_CXX=$CXX
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -6852,11 +6852,11 @@ if test x$ac_prog_cxx_stdcxx = xno
 then :
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
 printf %s "checking for $CXX option to enable C++98 features... " >&6; }
-if test ${ac_cv_prog_cxx_98+y}
+if test ${ac_cv_prog_cxx_cxx98+y}
 then :
   printf %s "(cached) " >&6
 else $as_nop
-  ac_cv_prog_cxx_98=no
+  ac_cv_prog_cxx_cxx98=no
 ac_save_CXX=$CXX
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -27261,7 +27261,7 @@ else $as_nop
 	 *tile*)
 	  qthread_cv_makecontext="yes"
 	 ;;
-	 *-linux-gnu*|*-linux)
+	 *-linux-gnu*|*-linux|*-linux-musl)
 	 qthread_cv_makecontext="yes"
 	 ;;
 	 *-cygwin)
@@ -27339,7 +27339,7 @@ else $as_nop
 	 *tile*)
 	  qthread_cv_makecontext="yes"
 	 ;;
-	 *-linux-gnu*|*-linux)
+	 *-linux-gnu*|*-linux|*-linux-musl)
 	 qthread_cv_makecontext="yes"
 	 ;;
 	 *-cygwin)
@@ -27417,7 +27417,7 @@ else $as_nop
 	 *tile*)
 	  qthread_cv_makecontext="yes"
 	 ;;
-	 *-linux-gnu*|*-linux)
+	 *-linux-gnu*|*-linux|*-linux-musl)
 	 qthread_cv_makecontext="yes"
 	 ;;
 	 *-cygwin)

Do you think we would want to patch this into our snapshot and merge it this week, or have more time to live with it? (where I'm guessing that time would just give us the opportunity to feel confident nothing else had broken or changed rather than gaining more experience with Alpine?).

I don't have any strong opinion on this one, but I lean towards not trying to fix it for this release. I think the patch itself is relatively low risk, but in the past, I've seen plenty of surprising failures due to build system changes & we're pretty close to code freeze. So the point of waiting would just be to have more time to deal with any fallout.

It looks like at present qthreads is releasing about once a year, so we'll probably want to include this change before we upgrade to the next qthreads release.

from chapel.

bradcray avatar bradcray commented on June 8, 2024

@mppf: Sounds as though the next Qthreads release is a ways out still, so yeah, if you were up for creating a PR for your patch with the intention to merge after the release, that would be great.

from chapel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.