From kreckel at in.terlu.de Sun Aug 2 18:59:57 2020 From: kreckel at in.terlu.de (Richard B. Kreckel) Date: Sun, 2 Aug 2020 18:59:57 +0200 Subject: [GiNaC-devel] Sqrfree_parfrac Issue GiNaC In-Reply-To: References: Message-ID: <01e13ad8-5493-acdb-b368-a9b7ecbd1713@in.terlu.de> Hi, On 24.07.20 00:08, Vladimir V. Kisil wrote: > Many thanks for reporting the bug with a detailed description. I am attaching a patch to fix it. I've applied the patch (as you've surely noticed, Vladimir). However, I am beginning to think that it is best to fix sqrfree_yun such that no external workarounds are necessary. It's a little bit tricky: The sign seems to get lost in the content part of the input polynomial. (Remember that it may itself be a polynomial in other variables.) And the unit part is not deterministic for multivariate polynomials. I'm working on a patch. -richard. From V.Kisil at leeds.ac.uk Sun Aug 2 20:45:15 2020 From: V.Kisil at leeds.ac.uk (Vladimir V. Kisil) Date: Sun, 2 Aug 2020 18:45:15 +0000 Subject: [GiNaC-devel] Sqrfree_parfrac Issue GiNaC In-Reply-To: <01e13ad8-5493-acdb-b368-a9b7ecbd1713@in.terlu.de> References: , <01e13ad8-5493-acdb-b368-a9b7ecbd1713@in.terlu.de> Message-ID: Dear Richard, I see your point, this can be indeed a better way. However, I am a bit far from the polynomial arithmetic to make a specific suggestion here. Best wishes, Vladimir ________________________________________ From: GiNaC-devel on behalf of Richard B. Kreckel Sent: 02 August 2020 17:59 To: ginac-devel at ginac.de Subject: Re: [GiNaC-devel] Sqrfree_parfrac Issue GiNaC Hi, On 24.07.20 00:08, Vladimir V. Kisil wrote: > Many thanks for reporting the bug with a detailed description. I am attaching a patch to fix it. I've applied the patch (as you've surely noticed, Vladimir). However, I am beginning to think that it is best to fix sqrfree_yun such that no external workarounds are necessary. It's a little bit tricky: The sign seems to get lost in the content part of the input polynomial. (Remember that it may itself be a polynomial in other variables.) And the unit part is not deterministic for multivariate polynomials. I'm working on a patch. -richard. _______________________________________________ GiNaC-devel mailing list GiNaC-devel at ginac.de https://www.ginac.de/mailman/listinfo/ginac-devel From git at ginac.de Mon Aug 3 18:27:13 2020 From: git at ginac.de (Richard B. Kreckel) Date: Mon, 3 Aug 2020 18:27:13 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-669-gf1a824bb Message-ID: <20200803162713.2A469D80214@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, master has been updated via f1a824bb5b7535c26c75ef03615179680c0f9753 (commit) via cdddbc6dcdabef73aeb20bb9b81e08dba92a235c (commit) from c2ef6cb074a85957bd684337552fe9d84451d307 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit f1a824bb5b7535c26c75ef03615179680c0f9753 Author: Richard Kreckel Date: Mon Aug 3 18:20:27 2020 +0200 Make workarounds for sqrfree_yun() obsolete. Since Yun's algorithm is based on polynomial GCD, it only finds factors up to a unit. Callers shouldn't have to work around this, so sqrfree_yun() now does a final polynomial long division to compute the lost factor and fixes the result before returning. commit cdddbc6dcdabef73aeb20bb9b81e08dba92a235c Author: Richard Kreckel Date: Mon Aug 3 18:09:30 2020 +0200 [BUGFIX] Fix factor_univariate(poly, x) for constant poly. The modular factorization fails to find a prime in this case, leading to an infinite loop. At least one caller (factor_sqrfree) happens to produce such constant polys in some cases. ----------------------------------------------------------------------- Summary of changes: check/exam_factor.cpp | 7 ++---- ginac/factor.cpp | 7 ++++-- ginac/normal.cpp | 70 ++++++++++++++++++++++++++++----------------------- 3 files changed, 46 insertions(+), 38 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Mon Aug 3 20:54:04 2020 From: git at ginac.de (Richard B. Kreckel) Date: Mon, 3 Aug 2020 20:54:04 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-673-gd1769802 Message-ID: <20200803185404.46554D8127B@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, master has been updated via d17698029e50bb0805ef70d299b58cf6f799e1d1 (commit) via d4ea19a525805e98ddbc8c88a4bb229763373c04 (commit) via 3563317bdfee90677c041bf1cb585ad220e9b7d3 (commit) via 4eff40dfafb72aeb484910c9ecef791b95332e9f (commit) from f1a824bb5b7535c26c75ef03615179680c0f9753 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d17698029e50bb0805ef70d299b58cf6f799e1d1 Author: Richard Kreckel Date: Mon Aug 3 20:45:53 2020 +0200 Finalize 1.7.11 release. commit d4ea19a525805e98ddbc8c88a4bb229763373c04 Author: Richard Kreckel Date: Mon Aug 3 20:44:09 2020 +0200 Add m4/host-cpu-c-abi.m4. This avoids warnings about gl_HOST_CPU_C_ABI_32BIT being m4_require'd but not m4_defun'd. commit 3563317bdfee90677c041bf1cb585ad220e9b7d3 Author: Richard Kreckel Date: Mon Aug 3 20:01:13 2020 +0200 Clean up check suite a little bit. Some tests in tiny test files are better moved elsewhere to reduce compile and link time. commit 4eff40dfafb72aeb484910c9ecef791b95332e9f Author: Richard Kreckel Date: Mon Aug 3 19:20:56 2020 +0200 Remove obsolete debug #include file from factor.cpp. ----------------------------------------------------------------------- Summary of changes: NEWS | 3 + check/CMakeLists.txt | 2 - check/Makefile.am | 8 - check/check_mul_info.cpp | 14 - check/exam_factor.cpp | 52 ++-- check/exam_paranoia.cpp | 12 + check/factor_univariate_bug.cpp | 21 -- ginac/factor.cpp | 4 - ginac/version.h | 4 +- m4/host-cpu-c-abi.m4 | 664 ++++++++++++++++++++++++++++++++++++++++ 10 files changed, 703 insertions(+), 81 deletions(-) delete mode 100644 check/check_mul_info.cpp delete mode 100644 check/factor_univariate_bug.cpp create mode 100644 m4/host-cpu-c-abi.m4 hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Mon Aug 3 20:55:20 2020 From: git at ginac.de (Richard B. Kreckel) Date: Mon, 3 Aug 2020 20:55:20 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations tag, release_1-7-10, created. release_1-4-0-664-g8a7fb0be Message-ID: <20200803185520.19DA9D8127B@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The tag, release_1-7-10 has been created at 8a7fb0be7ad81906946715f60916ff1d3400aabe (commit) - Log ----------------------------------------------------------------- commit 8a7fb0be7ad81906946715f60916ff1d3400aabe Author: Richard Kreckel Date: Sun Jun 28 19:33:38 2020 +0200 Finalize 1.7.10 release. ----------------------------------------------------------------------- hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Mon Aug 3 20:55:20 2020 From: git at ginac.de (Richard B. Kreckel) Date: Mon, 3 Aug 2020 20:55:20 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations tag, release_1-7-11, created. release_1-4-0-673-gd1769802 Message-ID: <20200803185520.3081FD8124C@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The tag, release_1-7-11 has been created at d17698029e50bb0805ef70d299b58cf6f799e1d1 (commit) - Log ----------------------------------------------------------------- commit d17698029e50bb0805ef70d299b58cf6f799e1d1 Author: Richard Kreckel Date: Mon Aug 3 20:45:53 2020 +0200 Finalize 1.7.11 release. ----------------------------------------------------------------------- hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From kreckel at in.terlu.de Mon Aug 3 21:03:03 2020 From: kreckel at in.terlu.de (Richard B. Kreckel) Date: Mon, 3 Aug 2020 21:03:03 +0200 Subject: [GiNaC-devel] Release 1.7.11 Message-ID: <84870e25-8fe7-0ffd-26ab-7e92ad230027@in.terlu.de> Hi, GiNaC 1.7.11 contains some bugfixes. Upgrade, if you can! :-) Take care! -richy. -- Richard B. Kreckel From badshah400 at opensuse.org Fri Aug 21 14:23:10 2020 From: badshah400 at opensuse.org (Atri Bhattacharya) Date: Fri, 21 Aug 2020 14:23:10 +0200 Subject: [GiNaC-devel] Linking errors when building GiNaC Message-ID: <5d1889b55de4a0ea7c4a4b9e4aae3979abc6b291.camel@opensuse.org> When building GiNaC on openSUSE Tumbleweed (GCC 10.1, cln-devel 1.3.6) builds fail at the linking stage due to undefined references: ---------------------------------------------- [ 24s] [ 85%] Linking CXX shared library libginac.so [ 24s] cd /home/abuild/rpmbuild/BUILD/ginac-1.7.11/build/ginac && /usr/bin/cmake -E cmake_link_script CMakeFiles/ginac.dir/link.txt --verbose=1 [ 24s] /usr/bin/c++ -fPIC -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG -O2 -g -DNDEBUG -flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -shared -Wl,-soname,libginac.so.6 -o libginac.so.6.4.5 CMakeFiles/ginac.dir/add.cpp.o CMakeFiles/ginac.dir/archive.cpp.o CMakeFiles/ginac.dir/basic.cpp.o CMakeFiles/ginac.dir/clifford.cpp.o CMakeFiles/ginac.dir/color.cpp.o CMakeFiles/ginac.dir/constant.cpp.o CMakeFiles/ginac.dir/excompiler.cpp.o CMakeFiles/ginac.dir/ex.cpp.o CMakeFiles/ginac.dir/expair.cpp.o CMakeFiles/ginac.dir/expairseq.cpp.o CMakeFiles/ginac.dir/exprseq.cpp.o CMakeFiles/ginac.dir/factor.cpp.o CMakeFiles/ginac.dir/fail.cpp.o CMakeFiles/ginac.dir/fderivative.cpp.o CMakeFiles/ginac.dir/function.cpp.o CMakeFiles/ginac.dir/idx.cpp.o CMakeFiles/ginac.dir/indexed.cpp.o CMakeFiles/ginac.dir/inifcns.cpp.o CMakeFiles/ginac.dir/inifcns_gamma.cpp.o CMakeFiles/ginac.dir/inifcns_nstdsums.cpp.o CMakeFiles/ginac.dir/inifcns_trans.cpp.o CMakeFiles/ginac.dir/integral.cpp.o CMakeFiles/ginac.dir/lst.cpp.o CMakeFiles/ginac.dir/matrix.cpp.o CMakeFiles/ginac.dir/mul.cpp.o CMakeFiles/ginac.dir/ncmul.cpp.o CMakeFiles/ginac.dir/normal.cpp.o CMakeFiles/ginac.dir/numeric.cpp.o CMakeFiles/ginac.dir/operators.cpp.o CMakeFiles/ginac.dir/parser/default_reader.cpp.o CMakeFiles/ginac.dir/parser/lexer.cpp.o CMakeFiles/ginac.dir/parser/parse_binop_rhs.cpp.o CMakeFiles/ginac.dir/parser/parse_context.cpp.o CMakeFiles/ginac.dir/parser/parser_compat.cpp.o CMakeFiles/ginac.dir/parser/parser.cpp.o CMakeFiles/ginac.dir/polynomial/chinrem_gcd.cpp.o CMakeFiles/ginac.dir/polynomial/collect_vargs.cpp.o CMakeFiles/ginac.dir/polynomial/cra_garner.cpp.o CMakeFiles/ginac.dir/polynomial/divide_in_z_p.cpp.o CMakeFiles/ginac.dir/polynomial/gcd_uvar.cpp.o CMakeFiles/ginac.dir/polynomial/mgcd.cpp.o CMakeFiles/ginac.dir/polynomial/mod_gcd.cpp.o CMakeFiles/ginac.dir/polynomial/normalize.cpp.o CMakeFiles/ginac.dir/polynomial/optimal_vars_finder.cpp.o CMakeFiles/ginac.dir/polynomial/pgcd.cpp.o CMakeFiles/ginac.dir/polynomial/primpart_content.cpp.o CMakeFiles/ginac.dir/polynomial/remainder.cpp.o CMakeFiles/ginac.dir/polynomial/upoly_io.cpp.o CMakeFiles/ginac.dir/power.cpp.o CMakeFiles/ginac.dir/print.cpp.o CMakeFiles/ginac.dir/pseries.cpp.o CMakeFiles/ginac.dir/registrar.cpp.o CMakeFiles/ginac.dir/relational.cpp.o CMakeFiles/ginac.dir/remember.cpp.o CMakeFiles/ginac.dir/symbol.cpp.o CMakeFiles/ginac.dir/symmetry.cpp.o CMakeFiles/ginac.dir/tensor.cpp.o CMakeFiles/ginac.dir/utils.cpp.o CMakeFiles/ginac.dir/wildcard.cpp.o -lcln [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o: in function `GiNaC::excompiler::~excompiler()': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:107: undefined reference to `dlclose' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o: in function `GiNaC::link_ex(std::__cxx11::basic_string, std::allocator >, double (*&)(double))': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:167: undefined reference to `dlopen' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o:/home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:174: undefined reference to `dlsym' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o: in function `GiNaC::link_ex(std::__cxx11::basic_string, std::allocator >, double (*&)(double, double))': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:167: undefined reference to `dlopen' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o:/home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:174: undefined reference to `dlsym' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o: in function `GiNaC::link_ex(std::__cxx11::basic_string, std::allocator >, void (*&)(int const*, double const*, int const*, double*))': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:167: undefined reference to `dlopen' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o:/home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:174: undefined reference to `dlsym' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o: in function `GiNaC::unlink_ex(std::__cxx11::basic_string, std::allocator >)': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:107: undefined reference to `dlclose' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o: in function `GiNaC::compile_ex(GiNaC::ex const&, GiNaC::symbol const&, double (*&)(double), std::__cxx11::basic_string, std::allocator >)': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:167: undefined reference to `dlopen' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o:/home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:174: undefined reference to `dlsym' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o: in function `GiNaC::compile_ex(GiNaC::ex const&, GiNaC::symbol const&, GiNaC::symbol const&, double (*&)(double, double), std::__cxx11::basic_string, std::allocator >)': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:167: undefined reference to `dlopen' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o:/home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:174: undefined reference to `dlsym' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o: in function `GiNaC::compile_ex(GiNaC::container const&, GiNaC::container const&, void (*&)(int const*, double const*, int const*, double*), std::__cxx11::basic_string, std::allocator >)': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:167: undefined reference to `dlopen' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans4.ltrans.o:/home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/excompiler.cpp:174: undefined reference to `dlsym' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans27.ltrans.o: in function `GiNaC::print_real_number(GiNaC::print_context const&, cln::cl_R const&)': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/numeric.cpp:415: undefined reference to `cln::denominator(cln::cl_RA const&)' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans27.ltrans.o: in function `GiNaC::print_real_csrc(GiNaC::print_context const&, cln::cl_R const&)': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/numeric.cpp:455: undefined reference to `cln::denominator(cln::cl_RA const&)' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans27.ltrans.o: in function `GiNaC::numeric::numer() const': [ 24s] /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/numeric.cpp:1374: undefined reference to `cln::denominator(cln::cl_RA const&)' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/numeric.cpp:1378: undefined reference to `cln::denominator(cln::cl_RA const&)' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/numeric.cpp:1378: undefined reference to `cln::denominator(cln::cl_RA const&)' [ 24s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /tmp/libginac.so.6.4.5.93oJvY.ltrans27.ltrans.o:/home/abuild/rpmbuild/BUILD/ginac-1.7.11/ginac/numeric.cpp:1380: more undefined references to `cln::denominator(cln::cl_RA const&)' follow [ 24s] collect2: error: ld returned 1 exit status [ 24s] make[2]: *** [ginac/CMakeFiles/ginac.dir/build.make:988: ginac/libginac.so.6.4.5] Error 1 [ 24s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/ginac-1.7.11/build' [ 24s] make[1]: *** [CMakeFiles/Makefile2:497: ginac/CMakeFiles/ginac.dir/all] Error 2 [ 24s] make: *** [Makefile:163: all] Error 2 ---------------------------------------------- The full cmake command we invoke in the spec file is as follows: ---------------------------------------------------------------- [ 15s] + /usr/bin/cmake /home/abuild/rpmbuild/BUILD/ginac-1.7.11/. '-GUnix Makefiles' -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib64 -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_C_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG' '-DCMAKE_CXX_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG' '-DCMAKE_Fortran_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG' '-DCMAKE_EXE_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' '-DCMAKE_MODULE_LINKER_FLAGS=-flto=auto -Wl,--as-needed' '-DCMAKE_SHARED_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' -DLIB_SUFFIX=64 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF -DCMAKE_COLOR_MAKEFILE:BOOL=OFF -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_MODULES_INSTALL_DIR=/usr/lib64/cmake/ginac -DCMAKE_SKIP_RPATH:BOOL=ON ---------------------------------------------------------------- The same command gets it building for older openSUSE versions (e.g. on openSUSE 15.2, using GCC 9.1), so I wonder what's going wrong. Any help fixing this will be appreciated. Here are the full spec file and sources: -- Atri Bhattacharya From kreckel at in.terlu.de Fri Aug 21 17:08:25 2020 From: kreckel at in.terlu.de (Richard B. Kreckel) Date: Fri, 21 Aug 2020 17:08:25 +0200 Subject: [GiNaC-devel] Linking errors when building GiNaC In-Reply-To: <5d1889b55de4a0ea7c4a4b9e4aae3979abc6b291.camel@opensuse.org> References: <5d1889b55de4a0ea7c4a4b9e4aae3979abc6b291.camel@opensuse.org> Message-ID: On 21.08.20 14:23, Atri Bhattacharya wrote: > [ 15s] + /usr/bin/cmake /home/abuild/rpmbuild/BUILD/ginac-1.7.11/. '-GUnix Makefiles' -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib64 -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_BUILD_TYPE=RelWithDebInfo '-DCMAKE_C_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG' '-DCMAKE_CXX_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG' '-DCMAKE_Fortran_FLAGS=-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -DNDEBUG' '-DCMAKE_EXE_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' '-DCMAKE_MODULE_LINKER_FLAGS=-flto=auto -Wl,--as-needed' '-DCMAKE_SHARED_LINKER_FLAGS=-flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now' -DLIB_SUFFIX=64 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF -DCMAKE_COLOR_MAKEFILE:BOOL=OFF -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_MODULES_INSTALL_DIR=/usr/lib64/cmake/ginac -DCMAKE_SKIP_RPATH:BOOL=ON The library should be linked with -ldl, but it isn't. -richy. -- Richard B. Kreckel From kreckel at in.terlu.de Fri Aug 21 17:27:02 2020 From: kreckel at in.terlu.de (Richard B. Kreckel) Date: Fri, 21 Aug 2020 17:27:02 +0200 Subject: [GiNaC-devel] Linking errors when building GiNaC In-Reply-To: References: <5d1889b55de4a0ea7c4a4b9e4aae3979abc6b291.camel@opensuse.org> Message-ID: <0e81a730-4c50-04f8-f1a1-437d86c561a0@in.terlu.de> On 21.08.20 17:08, Richard B. Kreckel wrote: > The library should be linked with -ldl, but it isn't. [I guess that might not have been helpful. Sorry.] Please follow the steps in INSTALL.CMake. It should build then. -richy. -- Richard B. Kreckel From git at ginac.de Fri Aug 21 19:12:25 2020 From: git at ginac.de (Richard B. Kreckel) Date: Fri, 21 Aug 2020 19:12:25 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-677-g7550e991 Message-ID: <20200821171225.403BCD81344@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, master has been updated via 7550e991907e1bd8dad50bfdb5af2ff2f312af8f (commit) via e65cbada7281938475aa0cf31a3d56405ac91d4e (commit) via 9e79f663bc37462a414ed1e41158b34e115b3ab5 (commit) via f9880838cc42de5dfbedcbc181eaedf6c07bfc75 (commit) from d17698029e50bb0805ef70d299b58cf6f799e1d1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7550e991907e1bd8dad50bfdb5af2ff2f312af8f Author: Richard Kreckel Date: Fri Aug 21 19:10:12 2020 +0200 Avoid "catching polymorphic type by value" warnings. commit e65cbada7281938475aa0cf31a3d56405ac91d4e Author: Richard Kreckel Date: Fri Aug 21 17:47:19 2020 +0200 Avoid unnecessary expansion in sqrfree_yun(). Don't make the polynomial primitive inside Yun's algorithm. Computing the primitive part will incur an extra expansion of the polynomial and this may distroy a pre-factored structure in the other variables. In the multi- variate case, working with primitive polynomials isn't sufficient anyways to avoid a final division to discover lost factors. commit 9e79f663bc37462a414ed1e41158b34e115b3ab5 Author: Richard Kreckel Date: Fri Aug 21 17:45:08 2020 +0200 Segregate sqfree() tests into file of its own. commit f9880838cc42de5dfbedcbc181eaedf6c07bfc75 Author: Richard Kreckel Date: Fri Aug 21 17:09:36 2020 +0200 [build] Use python3 command in CMake build, not python. ----------------------------------------------------------------------- Summary of changes: check/.gitignore | 3 +- check/CMakeLists.txt | 1 + check/Makefile.am | 4 + check/exam_misc.cpp | 44 ----------- check/exam_paranoia.cpp | 53 +------------ check/exam_sqrfree.cpp | 203 ++++++++++++++++++++++++++++++++++++++++++++++++ doc/CMakeLists.txt | 2 +- ginac/CMakeLists.txt | 4 +- ginac/inifcns_trans.cpp | 2 +- ginac/normal.cpp | 15 ++-- ginac/pseries.cpp | 8 +- 11 files changed, 228 insertions(+), 111 deletions(-) create mode 100644 check/exam_sqrfree.cpp hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From asheplyakov at yandex.ru Sun Aug 23 09:39:30 2020 From: asheplyakov at yandex.ru (Alexey Sheplyakov) Date: Sun, 23 Aug 2020 11:39:30 +0400 Subject: [GiNaC-devel] CLN + CMake (yet another attempt) Message-ID: <2509541598167887@mail.yandex.ru> Hello! Here is a patchset which makes it possible to build CLN with CMake: https://github.com/asheplyakov/cln/tree/cmake (git pull git://github.com/asheplyakov/cln.git cmake) Best regards, Alexey P.S. I've sent this email several times to cln-devel@ (in December 2019, March 2020, etc), and it has been blocked by mailing list software. Hopefully ginac-devel is less strict. From asheplyakov at yandex.ru Sun Aug 23 11:03:06 2020 From: asheplyakov at yandex.ru (Alexey Sheplyakov) Date: Sun, 23 Aug 2020 13:03:06 +0400 Subject: [GiNaC-devel] CMake improvements Message-ID: <1167151598168374@mail.yandex.ru> Hi! The patchset at https://github.com/asheplyakov/ginac/tree/cmake (git pull git://github.com/asheplyakov/ginac.git cmake) makes it a bit easier to build and use GiNaC with CMake. In particular 1) one can build both GiNaC and CLN in one pass (without having to make install, figure out CFLAGS, LD_LIBRARY_PATH, etc): git clone -b cmake git://github.com/asheplyakov/ginac.git cd ginac git clone -b cmake git://github.com/asheplyakov/cln.git mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. make -j4 2) GiNaC can be included as CMake subproject: That is, to compile a program `derivative.cpp` (which uses GiNaC) one can download GiNaC sources into the `ginac` subdirectory (and CLN into ginac/cln subdirectory), and use the following CMakeLists.txt project(derivative) add_subdirectory(ginac) add_executable(derivative derivative.cpp) target_link_libraries(derivative ginac::ginac) # this adds both libraries and includes/defines 3) Targets are exported, so `find_package(ginac REQUIRED 1.7.0)` works "out of the box" (this requires CMake'ified CLN) Best regards, Alexey From kreckel at in.terlu.de Sun Aug 23 16:00:17 2020 From: kreckel at in.terlu.de (Richard B. Kreckel) Date: Sun, 23 Aug 2020 16:00:17 +0200 Subject: [GiNaC-devel] CMake improvements In-Reply-To: <1167151598168374@mail.yandex.ru> References: <1167151598168374@mail.yandex.ru> Message-ID: <2092b89d-fe59-97af-6ade-e7cd1ec5af1f@in.terlu.de> Hi Alexey, On 23.08.20 11:03, Alexey Sheplyakov wrote: > https://github.com/asheplyakov/ginac/tree/cmake > (git pull git://github.com/asheplyakov/ginac.git cmake) I tried your patches. Some minor issues should still be addressed. 1) The file cmake/ginac-config.cmake.in ought to be shipped by Autotools, so CMake build works also with packages built with usual 'make dist'. What's the best way to do this? 2) Does the latest commit (4524434d27) break CMake build unless CLN is CMake'ified? I'm getting this: CMake Error at cmake/modules/FindCLN.cmake:141 (add_library): add_library cannot create ALIAS target "cln::cln" because target "cln" is imported but not globally visible. Call Stack (most recent call first): CMakeLists.txt:54 (find_package) 3) Commit 9b35ea74e2 breaks building the examples with -std=c++-20. Please remember to place using-declarations after #include directives, like in commit 69815a366b. All my best, -richy. -- Richard B. Kreckel From git at ginac.de Sun Aug 23 16:15:47 2020 From: git at ginac.de (Richard B. Kreckel) Date: Sun, 23 Aug 2020 16:15:47 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-678-g67111f00 Message-ID: <20200823141547.48A11D8038E@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, master has been updated via 67111f007a38497508b72603408b8f59a8e110a5 (commit) from 7550e991907e1bd8dad50bfdb5af2ff2f312af8f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 67111f007a38497508b72603408b8f59a8e110a5 Author: Richard Kreckel Date: Sun Aug 23 16:09:34 2020 +0200 [build] Fix Python detection in Autotools build. This was a latent bug: the PYTHON variable was not set in Makefiles, only PYTHON3 was, but scripts were still invoked with $(PYTHON). While at it, let's also accept python2 >= 2.7. ----------------------------------------------------------------------- Summary of changes: configure.ac | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From kreckel at in.terlu.de Sun Aug 23 16:44:20 2020 From: kreckel at in.terlu.de (Richard B. Kreckel) Date: Sun, 23 Aug 2020 16:44:20 +0200 Subject: [GiNaC-devel] CLN + CMake (yet another attempt) In-Reply-To: <2509541598167887@mail.yandex.ru> References: <2509541598167887@mail.yandex.ru> Message-ID: Hi Alexey, On 23.08.20 09:39, Alexey Sheplyakov wrote: > Here is a patchset which makes it possible to build CLN with CMake: > https://github.com/asheplyakov/cln/tree/cmake > (git pull git://github.com/asheplyakov/cln.git cmake) These seem to be the same patches as last year. Did you not receive my reply [1]? > P.S. I've sent this email several times to cln-devel@ (in December 2019, March 2020, etc), > and it has been blocked by mailing list software. Hopefully ginac-devel is less strict. This got through to the cln-devel@ list in December 2019 [2], but not in March 2020. I can't look into what happened then because we don't keep logs for so long. I'm not aware of anything wrong on cln-devel at . Best to try again. All my best, -richy. [1] https://www.ginac.de/pipermail/cln-list/2020-January/000758.html [2] https://www.ginac.de/pipermail/cln-list/2019-December/000757.html -- Richard B. Kreckel From asheplyakov at yandex.ru Fri Aug 28 17:21:28 2020 From: asheplyakov at yandex.ru (Alexey Sheplyakov) Date: Fri, 28 Aug 2020 19:21:28 +0400 Subject: [GiNaC-devel] CMake improvements In-Reply-To: <2092b89d-fe59-97af-6ade-e7cd1ec5af1f@in.terlu.de> References: <1167151598168374@mail.yandex.ru> <2092b89d-fe59-97af-6ade-e7cd1ec5af1f@in.terlu.de> Message-ID: <1676221598627817@mail.yandex.ru> Hi Richard, 23.08.2020, 18:00, "Richard B. Kreckel" : > 1) The file cmake/ginac-config.cmake.in ought to be shipped by > Autotools, so CMake build works also with packages built with usual > 'make dist'. What's the best way to do this? > 2) Does the latest commit (4524434d27) break CMake build unless CLN is > CMake'ified? I'm getting this: > CMake Error at cmake/modules/FindCLN.cmake:141 (add_library): > ???add_library cannot create ALIAS target "cln::cln" because target "cln" is > ???imported but not globally visible. > Call Stack (most recent call first): > ???CMakeLists.txt:54 (find_package) > > 3) Commit 9b35ea74e2 breaks building the examples with -std=c++-20. > Please remember to place using-declarations after #include directives, > like in commit 69815a366b. I've addressed these issues and pushed updates to https://github.com/asheplyakov/ginac/tree/cmake (commit e7a1ce91cd311fde94a8011e2869a7f9fc018f41). Please let me know if there are any other problems. Best regards, Alexey From git at ginac.de Sat Aug 29 20:28:46 2020 From: git at ginac.de (Richard B. Kreckel) Date: Sat, 29 Aug 2020 20:28:46 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-688-g9b536005 Message-ID: <20200829182846.C3EB4D80415@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, master has been updated via 9b536005350ae3f722e23fc775b456cd8b72aa39 (commit) via e7a1ce91cd311fde94a8011e2869a7f9fc018f41 (commit) via 4f71d7035d32e8f74d9b13e0d6a9c0ab4a58062d (commit) via f7ffc0186d90947cb5df395b9fc547ab80115ea0 (commit) via 7704505fbf7d969ff918f8bf2ff9ed976194987a (commit) via 51de097fb10f6167affe710328555113d7bcfa63 (commit) via 08c190937df7e802393b588d3cc82d2bdf00b128 (commit) via 3b980fd5eeadd638874dfe03801c4c15926882c6 (commit) via 4561adcbcae14c71ca6b8eb2668a6c7690c7428a (commit) via 8a4e28dc8121e50d987e888f9688412e1d3ee663 (commit) from 67111f007a38497508b72603408b8f59a8e110a5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9b536005350ae3f722e23fc775b456cd8b72aa39 Author: Richard Kreckel Date: Sat Aug 29 20:22:49 2020 +0200 Remove executable file attribute from last Python script. They are all invoked by ${PYTHON} and lack a shebang line since 8a4e28dc81. commit e7a1ce91cd311fde94a8011e2869a7f9fc018f41 Author: Alexey Sheplyakov Date: Thu Dec 19 18:17:41 2019 +0400 build: use bundled CLN if available So one can unpack CLN tarball (or clone CLN git repository) and compile both CLN and GiNaC in one pass: git clone git://ginac.de/ginac.git cd ginac git clone git://www.ginac.de/cln.git mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && make commit 4f71d7035d32e8f74d9b13e0d6a9c0ab4a58062d Author: Alexey Sheplyakov Date: Wed Dec 18 14:52:17 2019 +0400 Use "modern" CMake facilities to manage includes and libs * Use target_link_libraries to specify dependencies (include paths, compiler options, etc) * Export targets and provide `ginac-config.cmake` so the following `CMakeLists.txt` is enough to build a program using GiNaC: cmake_minimum_required(VERSION 3.1) project(foo) find_package(ginac REQUIRED) add_executable(foo foo.cpp) target_link_libraries(foo PRIVATE ginac::ginac) * GiNaC can be included as a (CMake) subproject. One can put GiNaC sources (either from git or a tarball) into a subdirectory (say, `ginac`) and use the following CMakeLists.txt to build everything: cmake_minimum_required(VERSION 3.1) project(foo) add_subdirectory(ginac) add_executable(foo foo.cpp) target_link_libraries(foo PRIVATE ginac::ginac) commit f7ffc0186d90947cb5df395b9fc547ab80115ea0 Author: Alexey Sheplyakov Date: Thu Dec 26 21:45:11 2019 +0400 build: windows: enable automatic imports by default For now there are no dllexport/dllimport markings in GiNaC and CLN, so export all symbols when building GiNaC DLL, and enable automatic imports when linking with it. Note: this works with GNU linker only. commit 7704505fbf7d969ff918f8bf2ff9ed976194987a Author: Alexey Sheplyakov Date: Fri Dec 27 17:34:05 2019 +0400 build: CMake: made it easier to run tests in parallel As of now `make -jN check` executes test suite sequentially (although it builds test executables in parallel). This takes a bit too long, so it would be nice to run tests in parallel. `ctest -jN` or `make test ARGS=-jN` runs tests concurrently, however it does not build test executables, instead it fails if any test binary is missing. Also `test` target is a bit special and it's impossible to add dependencies to it, see https://gitlab.kitware.com/cmake/cmake/issues/8438 To work around the problem define `test_suite` target which builds the tests suite without running it, so one can both compile and run tests in parallel make -j8 test_suite make test ARGS=-j8 commit 51de097fb10f6167affe710328555113d7bcfa63 Author: Alexey Sheplyakov Date: Wed Dec 25 20:41:17 2019 +0400 Made it easier to run tests on windows Put executables and DLLs into the `bin` subdirectory so the system can locate GiNaC (and CLN) DLLs without extra configuration. commit 08c190937df7e802393b588d3cc82d2bdf00b128 Author: Alexey Sheplyakov Date: Wed Dec 18 16:39:12 2019 +0400 numeric.cpp, archive.cpp: don't include config.h config.h is necessary for excompiler only, the rest of the library is pretty portable. Not including dynamically generated headers saves compilation time due to more (c)cache hits. commit 3b980fd5eeadd638874dfe03801c4c15926882c6 Author: Alexey Sheplyakov Date: Mon Jan 6 22:34:09 2020 +0400 Build example programs to avoid breaking them on API changes commit 4561adcbcae14c71ca6b8eb2668a6c7690c7428a Author: Alexey Sheplyakov Date: Thu Dec 19 18:16:53 2019 +0400 build: fixed `ginac-excompiler` installation with CMake commit 8a4e28dc8121e50d987e888f9688412e1d3ee663 Author: Alexey Sheplyakov Date: Sun Aug 23 11:28:07 2020 +0400 build: accept both python 3 and python 2 This makes building GiNaC a bit easier for users of "old" distributions where python 3 is not installed by default (Ubuntu 16.04), or even not available (CentOS 7). Scripts themselves work just fine with python 2.7 and python 3.x, so only minor changes to CMakeLists.txt are required (autotools scripts already handle python2/3) ----------------------------------------------------------------------- Summary of changes: CMakeLists.txt | 127 +++++++++++++++++++++++--------------------- INSTALL | 3 +- Makefile.am | 1 + check/CMakeLists.txt | 8 +-- cmake/ginac-config.cmake.in | 9 ++++ cmake/modules/FindCLN.cmake | 23 ++++++++ doc/CMakeLists.txt | 2 +- doc/examples/CMakeLists.txt | 35 +++++++++++- doc/examples/Makefile.am | 27 ++++++++++ doc/examples/archive1.cpp | 6 ++- doc/examples/compile1.cpp | 5 +- doc/examples/compile2.cpp | 4 ++ doc/examples/compile3.cpp | 5 +- doc/examples/derivative.cpp | 4 ++ doc/examples/mystring.cpp | 6 ++- ginac.pc.cmake | 6 +-- ginac/CMakeLists.txt | 42 +++++++++++---- ginac/archive.cpp | 3 -- ginac/function.py | 2 +- ginac/numeric.cpp | 4 -- ginsh/CMakeLists.txt | 19 +++---- ginsh/ginsh_fcn_help.py | 2 +- ginsh/ginsh_op_help.py | 2 +- scripts/fixupind.py | 4 +- scripts/yaptu.py | 2 +- tools/CMakeLists.txt | 8 ++- 26 files changed, 244 insertions(+), 115 deletions(-) create mode 100644 cmake/ginac-config.cmake.in mode change 100755 => 100644 ginac/function.py mode change 100755 => 100644 ginsh/ginsh_fcn_help.py mode change 100755 => 100644 ginsh/ginsh_op_help.py mode change 100755 => 100644 scripts/fixupind.py hooks/post-receive -- GiNaC -- a C++ library for symbolic computations