[GiNaC-list] Patch for ginac-1.8.7 (MacOS 14.6,Apple Silicon)
足立聡
pegasib0 at gmail.com
Tue Jul 30 17:56:44 CEST 2024
Dear Developers of GiNaC,
[0] Thank you very much for developing and maintaining GiNaC,
which is a very nice system to write C++ programs for symbolic computation.
[1] During recent several months, I had a trouble to build ginac-1.8.7
on my MacBookPro (Apple Silicon). The configuration and compilation steps
succeeded, but the check step failed at two tests as follows:
./configure
-->
checking for a BSD-compatible install... /Ext/sw/bin/ginstall -c
...
Configuration of GiNaC 1.8.7 done. Now type "make".
make
-->
Making all in ginac
...
/Ext/sw/bin/makeinfo --no-split --html ./ginac-examples.texi
make check
-->
Making check in ginac
...
PASS: exam_paranoia
...
PASS: exam_color
FAIL: exam_clifford
FAIL: exam_archive
PASS: exam_structure
...
PASS: time_parser
============================================================================
Testsuite summary for GiNaC 1.8.7
============================================================================
# TOTAL: 61
# PASS: 59
# SKIP: 0
# XFAIL: 0
# FAIL: 2
# XPASS: 0
# ERROR: 0
============================================================================
See check/test-suite.log
Please report to ginac-list at ginac.de
============================================================================
My environment is as follows:
Hardware: MacBookPro (Apple Silicon,14inch,2023)
OS: MacOS 14.6
Compiler: Xcode 15.4
g++ --version
-->
Apple clang version 15.0.0 (clang-1500.3.9.4)
Target: arm64-apple-darwin23.6.0
Thread model: posix
InstalledDir:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
[2] I have investigated what caused this trouble and found that
the phenomenon described in "ginac/hash_seed.h" occurs not only in Win32
but also in my MacOS 14.6. typeid(ex.bp).name() returns always correct C
string
as value but its address varies from a call to another call.
Accordingly, the problem can be fixed as follows:
*** ginac/hash_seed.h.org Sun Jan 1 03:47:20 2023
--- ginac/hash_seed.h Tue Jul 30 23:02:36 2024
***************
*** 8,14 ****
#include <typeinfo>
#include <cstring>
#include "utils.h"
! #ifdef _WIN32
#define GINAC_HASH_USE_MANGLED_NAME 1
#endif
--- 8,14 ----
#include <typeinfo>
#include <cstring>
#include "utils.h"
! #if defined(_WIN32) || defined(__APPLE__)
#define GINAC_HASH_USE_MANGLED_NAME 1
#endif
[3] Now, everything is fine.
make distclean
./configure
...
make
...
make check
-->
Making check in ginac
...
PASS: exam_paranoia
PASS: exam_heur_gcd
PASS: exam_match
PASS: exam_parser
PASS: exam_numeric
PASS: exam_relational
PASS: exam_powerlaws
PASS: exam_collect
PASS: exam_inifcns
PASS: exam_inifcns_nstdsums
PASS: exam_inifcns_elliptic
PASS: exam_differentiation
PASS: exam_polygcd
PASS: exam_collect_common_factors
PASS: exam_normalization
PASS: exam_sqrfree
PASS: exam_factor
PASS: exam_pseries
PASS: exam_matrices
PASS: exam_lsolve
PASS: exam_indexed
PASS: exam_color
PASS: exam_clifford
PASS: exam_archive
PASS: exam_structure
PASS: exam_misc
PASS: exam_pgcd
PASS: exam_mod_gcd
PASS: exam_chinrem_gcd
PASS: exam_function_exvector
PASS: exam_real_imag
PASS: check_numeric
PASS: check_inifcns
PASS: check_matrices
PASS: check_lsolve
PASS: check_cra
PASS: time_dennyfliegner
PASS: time_gammaseries
PASS: time_vandermonde
PASS: time_toeplitz
PASS: time_lw_A
PASS: time_lw_B
PASS: time_lw_C
PASS: time_lw_D
PASS: time_lw_E
PASS: time_lw_F
PASS: time_lw_G
PASS: time_lw_H
PASS: time_lw_IJKL
PASS: time_lw_M1
PASS: time_lw_M2
PASS: time_lw_N
PASS: time_lw_O
PASS: time_lw_P
PASS: time_lw_Pprime
PASS: time_lw_Q
PASS: time_lw_Qprime
PASS: time_antipode
PASS: time_fateman_expand
PASS: time_uvar_gcd
PASS: time_parser
============================================================================
Testsuite summary for GiNaC 1.8.7
============================================================================
# TOTAL: 61
# PASS: 61
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
sudo make install
...
[4] There may be other people who run into the same problem as I.
In that case, please utilize this information.
Finally, GiNaC is a really nice system to write programs
for symbolic computation.
Thank you very much for publishing GiNaC to help us.
Sincerely yours,
Satoshi Adachi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ginac.de/pipermail/ginac-list/attachments/20240731/b664b1f9/attachment-0001.htm>
More information about the GiNaC-list
mailing list