GNU bug report logs -
#78706
[PATCH] gnu: octave: Update to 10.2.0.
Previous Next
Reported by: Andy Tai <atai <at> atai.org>
Date: Fri, 6 Jun 2025 05:51:02 UTC
Severity: normal
Tags: patch
Done: Andreas Enge <andreas <at> enge.fr>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 78706 in the body.
You can then email your comments to 78706 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org
:
bug#78706
; Package
guix-patches
.
(Fri, 06 Jun 2025 05:51:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Andy Tai <atai <at> atai.org>
:
New bug report received and forwarded. Copy sent to
andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org
.
(Fri, 06 Jun 2025 05:51:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/maths.scm (octave-cli): Update to 10.2.0.
Change-Id: Ia823bfda2b38dbbdaa24442a3d6149eb887e3173
---
gnu/packages/maths.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 74bdfab84c..d69d5139c3 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3282,7 +3282,7 @@ (define-public ceres-solver-benchmarks
(define-public octave-cli
(package
(name "octave-cli")
- (version "9.4.0")
+ (version "10.2.0")
(source
(origin
(method url-fetch)
@@ -3290,7 +3290,7 @@ (define-public octave-cli
version ".tar.xz"))
(sha256
(base32
- "0gbvrcblz6akpgm1vls7qjk97imq3j65pasd4jx9b7zpks813ygz"))))
+ "0szpna905qz9fskpnmc4sv4xpna2a2rkxs22d20nx1l16gwb1869"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib
base-commit: 027a47787f8dcf6651a1c20c5b475376defe6d6b
--
2.43.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#78706
; Package
guix-patches
.
(Fri, 13 Jun 2025 09:45:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 78706 <at> debbugs.gnu.org (full text, mbox):
Hello Andy,
I did not expect octave to have so many dependent packages!
This update breaks nlopt:
https://qa.guix.gnu.org/issue/78706/package-changes?x86_64-linux-change=broken&x86_64-linux-change=still-failing&x86_64-linux-change=unknown-to-failing&x86_64-linux-change=new-failing
Could you have a look, please?
Andreas
Information forwarded
to
guix-patches <at> gnu.org
:
bug#78706
; Package
guix-patches
.
(Fri, 13 Jun 2025 17:41:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 78706 <at> debbugs.gnu.org (full text, mbox):
will do
On Fri, Jun 13, 2025 at 2:44 AM Andreas Enge <andreas <at> enge.fr> wrote:
>
> Hello Andy,
>
> I did not expect octave to have so many dependent packages!
>
> This update breaks nlopt:
> https://qa.guix.gnu.org/issue/78706/package-changes?x86_64-linux-change=broken&x86_64-linux-change=still-failing&x86_64-linux-change=unknown-to-failing&x86_64-linux-change=new-failing
>
> Could you have a look, please?
>
> Andreas
>
Information forwarded
to
guix-patches <at> gnu.org
:
bug#78706
; Package
guix-patches
.
(Sun, 15 Jun 2025 07:14:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 78706 <at> debbugs.gnu.org (full text, mbox):
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78796
updates nlopt to the latest release. This does not resolve the build
issue with octave 10; but nlopt can be updated with octave 9.4 for
now.
will look further into the nlopt building with octave 10 problem.
> > This update breaks nlopt:
> > https://qa.guix.gnu.org/issue/78706/package-changes?x86_64-linux-change=broken&x86_64-linux-change=still-failing&x86_64-linux-change=unknown-to-failing&x86_64-linux-change=new-failing
Information forwarded
to
guix-patches <at> gnu.org
:
bug#78706
; Package
guix-patches
.
(Sun, 15 Jun 2025 17:04:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 78706 <at> debbugs.gnu.org (full text, mbox):
Am Sun, Jun 15, 2025 at 12:12:42AM -0700 schrieb Andy Tai:
> will look further into the nlopt building with octave 10 problem.
> > > This update breaks nlopt:
> > > https://qa.guix.gnu.org/issue/78706/package-changes?x86_64-linux-change=broken&x86_64-linux-change=still-failing&x86_64-linux-change=unknown-to-failing&x86_64-linux-change=new-failing
Here might be a possible solution:
https://github.com/stevengj/nlopt/issues/616
Andreas
Information forwarded
to
andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org
:
bug#78706
; Package
guix-patches
.
(Mon, 16 Jun 2025 05:05:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 78706 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/maths.scm (octave-cli): Update to 10.2.0.
Change-Id: Ia823bfda2b38dbbdaa24442a3d6149eb887e3173
---
gnu/packages/maths.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 2f6f7f37f6..64ba70ed4f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3285,7 +3285,7 @@ (define-public ceres-solver-benchmarks
(define-public octave-cli
(package
(name "octave-cli")
- (version "9.4.0")
+ (version "10.2.0")
(source
(origin
(method url-fetch)
@@ -3293,7 +3293,7 @@ (define-public octave-cli
version ".tar.xz"))
(sha256
(base32
- "0gbvrcblz6akpgm1vls7qjk97imq3j65pasd4jx9b7zpks813ygz"))))
+ "0szpna905qz9fskpnmc4sv4xpna2a2rkxs22d20nx1l16gwb1869"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib
--
2.49.0
Information forwarded
to
andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org
:
bug#78706
; Package
guix-patches
.
(Mon, 16 Jun 2025 05:05:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 78706 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/patches/nlopt_CMake-Assume-working-c-compiler-597.patch:
New file.
* gnu/local.mk: Register new patch.
* gnu/packages/maths.scm (nlopt)[source]: Use it.
Change-Id: I8aa8aa7a62c9050d8b0b15fd23029679c38cc8be
---
gnu/local.mk | 1 +
gnu/packages/maths.scm | 4 +-
..._CMake-Assume-working-c-compiler-597.patch | 178 ++++++++++++++++++
3 files changed, 182 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/nlopt_CMake-Assume-working-c-compiler-597.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 1565828f88..a0afb1e139 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1926,6 +1926,7 @@ dist_patch_DATA = \
%D%/packages/patches/newlib-getentropy.patch \
%D%/packages/patches/nginx-socket-cloexec.patch \
%D%/packages/patches/nickle-man-release-date.patch \
+ %D%/packages/patches/nlopt_CMake-Assume-working-c-compiler-597.patch \
%D%/packages/patches/nnpack-system-libraries.patch \
%D%/packages/patches/nsis-env-passthru.patch \
%D%/packages/patches/nss-getcwd-nonnull.patch \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 64ba70ed4f..0ded262080 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2598,7 +2598,9 @@ (define-public nlopt
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "04257r7a1bjmm6hznf9v6fimz2p93dk745sf89wmxzhg3rh0ak44"))))
+ (base32 "04257r7a1bjmm6hznf9v6fimz2p93dk745sf89wmxzhg3rh0ak44"))
+ (patches
+ (search-patches "nlopt_CMake-Assume-working-c-compiler-597.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/patches/nlopt_CMake-Assume-working-c-compiler-597.patch b/gnu/packages/patches/nlopt_CMake-Assume-working-c-compiler-597.patch
new file mode 100644
index 0000000000..6cfff4efd2
--- /dev/null
+++ b/gnu/packages/patches/nlopt_CMake-Assume-working-c-compiler-597.patch
@@ -0,0 +1,178 @@
+nlopt used to assume C++11. this removes that assumption.
+Then nlopt can be built with Octave 10 in c++17 mode.
+Patch in upstream repo. Shall be in next upstrea release;
+so this patch can be removed from GNU Guix upon updating to
+next nlopt release.
+
+From a5426ead8d8478c46201c21860e789e47f15c5a3 Mon Sep 17 00:00:00 2001
+From: Julien Schueller <schueller <at> phimeca.com>
+Date: Mon, 24 Feb 2025 15:59:52 +0100
+Subject: [PATCH] CMake: Assume working c++ compiler (#597)
+
+---
+ CMakeLists.txt | 19 +++----------------
+ src/swig/CMakeLists.txt | 6 +++---
+ test/CMakeLists.txt | 38 ++++++++++++++++++--------------------
+ 3 files changed, 24 insertions(+), 39 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c0a84de..39b0144 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -77,8 +77,6 @@ endif ()
+ include (CheckIncludeFiles)
+ include (CheckFunctionExists)
+ include (CheckTypeSize)
+-include (CheckCCompilerFlag)
+-include (CheckCXXSymbolExists)
+ include (CheckCSourceCompiles)
+
+ #==============================================================================
+@@ -140,20 +138,6 @@ if (WITH_THREADLOCAL AND NOT DEFINED THREADLOCAL)
+ endforeach()
+ endif ()
+
+-
+-if (NLOPT_CXX OR NLOPT_PYTHON OR NLOPT_GUILE OR NLOPT_OCTAVE OR NLOPT_JAVA)
+- check_cxx_symbol_exists (__cplusplus ciso646 SYSTEM_HAS_CXX)
+- if (SYSTEM_HAS_CXX)
+- set (CMAKE_CXX_STANDARD 11) # set the standard to C++11 but do not require it
+-
+- if (NLOPT_CXX)
+- set (CMAKE_CXX_STANDARD_REQUIRED ON) # if we build C++ API, we do need C++11
+- endif ()
+- else()
+- message (FATAL_ERROR "The compiler doesn't support CXX.")
+- endif ()
+-endif ()
+-
+ #==============================================================================
+ # CREATE nlopt_config.h
+ #==============================================================================
+@@ -260,6 +244,9 @@ if (M_LIBRARY)
+ endif ()
+ set_target_properties (${nlopt_lib} PROPERTIES SOVERSION ${SO_MAJOR})
+ set_target_properties (${nlopt_lib} PROPERTIES VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_PATCH}")
++if (NLOPT_CXX)
++ target_compile_features (${nlopt_lib} PUBLIC cxx_lambdas)
++endif ()
+
+ #==============================================================================
+ # INCLUDE DIRECTORIES
+diff --git a/src/swig/CMakeLists.txt b/src/swig/CMakeLists.txt
+index a48b8b3..e8248e9 100644
+--- a/src/swig/CMakeLists.txt
++++ b/src/swig/CMakeLists.txt
+@@ -21,7 +21,7 @@ endif ()
+ include_directories (${NLOPT_PRIVATE_INCLUDE_DIRS})
+ set_source_files_properties (nlopt.i PROPERTIES CPLUSPLUS ON)
+
+-if (Python_NumPy_FOUND)
++if (Python_NumPy_FOUND AND NLOPT_CXX)
+
+ set (SWIG_MODULE_nlopt_python_EXTRA_DEPS nlopt-python.i numpy.i generate-cpp)
+
+@@ -46,7 +46,7 @@ if (Python_NumPy_FOUND)
+ endif ()
+
+
+-if (GUILE_FOUND)
++if (GUILE_FOUND AND NLOPT_CXX)
+
+ set (SWIG_MODULE_nlopt_guile_EXTRA_DEPS nlopt-guile.i generate-cpp)
+ set (CMAKE_SWIG_FLAGS -scmstub)
+@@ -74,7 +74,7 @@ if (GUILE_FOUND)
+ endif ()
+
+
+-if (JNI_FOUND AND Java_FOUND AND SWIG_FOUND)
++if (JNI_FOUND AND Java_FOUND AND SWIG_FOUND AND NLOPT_CXX)
+
+ include (UseJava)
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index f66d280..0edf5e8 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -1,28 +1,26 @@
+ add_custom_target (tests)
+
+ macro(NLOPT_add_cpp_test test_name)
+- add_executable (${test_name} ${test_name}.cxx)
+- target_link_libraries (${test_name} ${nlopt_lib})
+- add_dependencies (tests ${test_name})
+- target_include_directories (${test_name} PRIVATE ${NLOPT_PRIVATE_INCLUDE_DIRS})
+- foreach(arg IN ITEMS ${ARGN})
+- add_test (NAME check_${test_name}_${arg} COMMAND ${test_name} ${arg})
+- if (CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
+- set_tests_properties (check_${test_name}_${arg}
+- PROPERTIES ENVIRONMENT "PATH=${PROJECT_BINARY_DIR}\\${CMAKE_BUILD_TYPE};$ENV{PATH}") # to load dll
+- endif ()
+- endforeach()
++ if (NLOPT_CXX)
++ add_executable (${test_name} ${test_name}.cxx)
++ target_link_libraries (${test_name} ${nlopt_lib})
++ add_dependencies (tests ${test_name})
++ target_include_directories (${test_name} PRIVATE ${NLOPT_PRIVATE_INCLUDE_DIRS})
++ foreach(arg IN ITEMS ${ARGN})
++ add_test (NAME check_${test_name}_${arg} COMMAND ${test_name} ${arg})
++ if (CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
++ set_tests_properties (check_${test_name}_${arg}
++ PROPERTIES ENVIRONMENT "PATH=${PROJECT_BINARY_DIR}\\${CMAKE_BUILD_TYPE};$ENV{PATH}") # to load dll
++ endif ()
++ endforeach()
++ endif ()
+ endmacro()
+
+ NLOPT_add_cpp_test(t_tutorial 24 25 31 40)
+ NLOPT_add_cpp_test(cpp_functor 0)
+ NLOPT_add_cpp_test(t_fbound 0)
+ NLOPT_add_cpp_test(t_except 1 0)
+-
+ NLOPT_add_cpp_test(t_bounded 0 1 2 3 4 5 6 7 8 19 35 42 43)
+-if (NOT NLOPT_CXX)
+- set_tests_properties (check_t_bounded_8 check_t_bounded_43 PROPERTIES DISABLED TRUE)
+-endif ()
+
+ # have to add timer.c and mt19937ar.c as symbols are declared extern
+ set (testopt_sources testfuncs.c testfuncs.h testopt.c ${PROJECT_SOURCE_DIR}/src/util/timer.c ${PROJECT_SOURCE_DIR}/src/util/mt19937ar.c)
+@@ -67,7 +65,7 @@ foreach (algo_index RANGE 28) # 42
+ endforeach ()
+ endforeach ()
+
+-if (Python_NumPy_FOUND AND (SWIG_FOUND OR (EXISTS ${PROJECT_SOURCE_DIR}/src/swig/nlopt-python.cpp)))
++if (TARGET nlopt_python)
+ set (PYINSTALLCHECK_ENVIRONMENT "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/src/swig"
+ "PYTHONPATH=$<SHELL_PATH:${PROJECT_BINARY_DIR}/src/swig/python;${PROJECT_BINARY_DIR}/src/swig>"
+ )
+@@ -85,7 +83,7 @@ endif ()
+ # The binding itself should also compile with more ancient Java versions that
+ # have already reached their end of life, but it is not worth uglifying the test
+ # code for them, because people will then cargo-cult the legacy boilerplate.
+-if (JNI_FOUND AND Java_FOUND AND SWIG_FOUND AND NOT Java_VERSION VERSION_LESS 1.8)
++if (TARGET nlopt_java AND NOT Java_VERSION VERSION_LESS 1.8)
+ include (UseJava)
+ add_jar (t_java SOURCES t_java.java INCLUDE_JARS nlopt_jar ENTRY_POINT t_java)
+ get_property (t_java_jar TARGET t_java PROPERTY JAR_FILE)
+@@ -100,15 +98,15 @@ if (JNI_FOUND AND Java_FOUND AND SWIG_FOUND AND NOT Java_VERSION VERSION_LESS 1.
+ endforeach()
+ endif ()
+
+-if (OCTAVE_FOUND)
++if (TARGET nlopt_optimize)
+ add_test (NAME test_octave COMMAND ${OCTAVE_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/t_octave.m ${PROJECT_SOURCE_DIR}/src/octave ${PROJECT_BINARY_DIR}/src/octave)
+ endif ()
+
+-if (MATLAB_FOUND)
++if (TARGET nlopt_optimize-mex)
+ add_test (NAME test_matlab COMMAND ${Matlab_MAIN_PROGRAM} -nodesktop -nosplash -r "addpath('${PROJECT_SOURCE_DIR}/src/octave'); addpath('${PROJECT_BINARY_DIR}/src/octave'); try; run('${CMAKE_CURRENT_SOURCE_DIR}/t_matlab.m'); catch; exit(1); end; quit")
+ endif ()
+
+-if (GUILE_FOUND AND (SWIG_FOUND OR (EXISTS ${PROJECT_SOURCE_DIR}/src/swig/nlopt-guile.cpp)))
++if (TARGET nlopt_guile)
+ set (GUILECHECK_ENVIRONMENT "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/src/swig"
+ "GUILE_LOAD_PATH=$<SHELL_PATH:${PROJECT_BINARY_DIR}/src/swig/guile;${PROJECT_BINARY_DIR}/src/swig>"
+ "GUILE_AUTO_COMPILE=0")
+--
+2.43.0
+
--
2.49.0
Information forwarded
to
andreas <at> enge.fr, bavier <at> posteo.net, sharlatanus <at> gmail.com, guix-patches <at> gnu.org
:
bug#78706
; Package
guix-patches
.
(Mon, 16 Jun 2025 05:05:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 78706 <at> debbugs.gnu.org (full text, mbox):
*** Octave update to 10.2 ***
*** Fix nlopt build when building with octave 10 ***
Andy Tai (2):
gnu: octave: Update to 10.2.0.
gnu: nlopt: no longer assume C++11 mode when building.
gnu/local.mk | 1 +
gnu/packages/maths.scm | 8 +-
..._CMake-Assume-working-c-compiler-597.patch | 178 ++++++++++++++++++
3 files changed, 184 insertions(+), 3 deletions(-)
create mode 100644 gnu/packages/patches/nlopt_CMake-Assume-working-c-compiler-597.patch
base-commit: f6b65101dcb9a679eaf74fd235b53de2f4586ac5
--
2.49.0
Reply sent
to
Andreas Enge <andreas <at> enge.fr>
:
You have taken responsibility.
(Wed, 18 Jun 2025 10:45:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Andy Tai <atai <at> atai.org>
:
bug acknowledged by developer.
(Wed, 18 Jun 2025 10:45:02 GMT)
Full text and
rfc822 format available.
Message #31 received at 78706-done <at> debbugs.gnu.org (full text, mbox):
Am Sun, Jun 15, 2025 at 10:03:50PM -0700 schrieb Andy Tai:
> *** Octave update to 10.2 ***
> *** Fix nlopt build when building with octave 10 ***
This has gone through QA without any additional failures, and I have
pushed it now. Thanks for all the work!
Andreas
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 16 Jul 2025 11:24:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 25 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.