conda pari refused by spkg-configure.m4

28 views
Skip to first unread message

Vincent Delecroix

unread,
Jun 28, 2021, 6:01:21 PM6/28/21
to sage-devel
Dear all,

I am trying to build sage 9.4.beta3 in a conda environment. I noticed
something fishy with the pari detection. My environment includes
a recent enough pari with the necessary optional packages as can be
seen with

$ which gp
/home/vincent/miniconda3/envs/sage-build/bin/gp
$ gp --version

GP/PARI CALCULATOR Version 2.11.4 (released)
amd64 running linux (x86-64/GMP-6.2.1 kernel) 64-bit version
compiled: Jun 9 2021, gcc version 9.3.0 (crosstool-NG
1.24.0.133_b0863d8_dirty)

threading engine: single
(readline v8.1 disabled, extended
help enabled)

$ gp -q
? ellinit("11a1")
%1 = [0, -1, 1, -10, -20, -4, -20, -79, -21, 496, 20008, -161051,
-122023936/161051, Vecsmall([1]), [Vecsmall([128, -1])], [0, 0, 0, 0, 0,
0, 0, 0]]
? En effet, le 8-9 ça sera le dernier exposé.~^C *** user interrupt
after 2 ms
? galoisgetpol(8)
%2 = 5
? galoisgetname(12,1)
%3 = "C3 : C4"
? ellmodulareqn(11)
%4 = [x^12 + (-y + 744)*x^11 + 196680*x^10 + (187*y + 21354080)*x^9 +
(506*y + 830467440)*x^8 + (-11440*y + 16875327744)*x^7 + (-57442*y +
208564958976)*x^6 + (184184*y + 1678582287360)*x^5 + (1675784*y +
9031525113600)*x^4 + (1867712*y + 32349979904000)*x^3 + (-8252640*y +
74246810880000)*x^2 + (-19849600*y + 98997734400000)*x + (y^2 -
8720000*y + 58411072000000), 1]
? polgalois(x^8-2)
%5 = [16, -1, 8, "2D_8(8)=[D(4)]2"]

However, the configure scripts refuses it because it claims
that "matpermanent" is not available in the library

configure:19515: checking for library containing matpermanent
configure:19546:
/home/vincent/miniconda3/envs/sage-build/bin/x86_64-conda-linux-gnu-c++
-std=gnu++11 -o conftest -fvisibility-inlines-hidden -std=c++17
-fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC
-fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem
/home/vincent/miniconda3/envs/sage-build/include
-I/home/vincent/miniconda3/envs/sage-build/include -DNDEBUG
-D_FORTIFY_SOURCE=2 -O2 -isystem
/home/vincent/miniconda3/envs/sage-build/include -Dlinux
-I/home/vincent/miniconda3/envs/sage-build/include -march=nocona
-mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og
-g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe
-isystem /home/vincent/miniconda3/envs/sage-build/include
-fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/ecl_1622575242000/work=/usr/local/src/conda/ecl-21.2.1
-fdebug-prefix-map=/home/vincent/miniconda3/envs/sage-build=/usr/local/src/conda-prefix
-I/home/vincent/miniconda3/envs/sage-build/include -Wl,-O2
-Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now
-Wl,--disable-new-dtags -Wl,--gc-sections
-Wl,-rpath,/home/vincent/miniconda3/envs/sage-build/lib
-Wl,-rpath-link,/home/vincent/miniconda3/envs/sage-build/lib
-L/home/vincent/miniconda3/envs/sage-build/lib conftest.cpp
-L/home/vincent/miniconda3/envs/sage-build/lib -lcurl -lcliquer -lcddgmp
-lbz2 -larb -lflint -lmpfr -lgmp -lm -lntl >&5
/home/vincent/miniconda3/envs/sage-build/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld:
/tmp/ccN4zFHb.o: in function `main':
/opt/sage/conftest.cpp:79: undefined reference to `matpermanent'

But matpermanent is available in gp

$ gp -q
? matpermanent([1,2;3,4])
%1 = 10

And nm confirms it is there in the library.

$ nm -gD /home/vincent/miniconda3/envs/sage-build/lib/libpari.so | grep
matpermanent
00000000004ae880 T matpermanent


Is that a bug somewhere in the script? Is it normal that the above
compilation command does not include a -lpari?

Vincent
config.log
config.status

Isuru Fernando

unread,
Jun 28, 2021, 6:09:28 PM6/28/21
to sage-devel
That's normal. It first checks without any libs and then with -lpari. See configure lines below.

Isuru


for ac_lib in '' pari; do
 if test -z "$ac_lib"; then
   ac_res="none required"
 else
   ac_res=-l$ac_lib
   LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
 fi
 if ac_fn_cxx_try_link "$LINENO"; then :
 ac_cv_search_matpermanent=$ac_res
fi

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/b816561a-8882-66ed-57e4-f15810fd86fb%40gmail.com.

Dima Pasechnik

unread,
Jun 28, 2021, 6:31:44 PM6/28/21
to sage-devel
there is a check for pari version; your pari has version 133892, but
Sage wants 2.13.1 (i.e. 134401)

git blame build/pkgs/pari/spkg-configure.m4

says that it's your change:

558b5e820c1 (Vincent Delecroix 2021-04-21 20:12:59 +0200 3)
m4_pushdef([SAGE_PARI_MINVER],["134401"])

On Mon, Jun 28, 2021 at 11:01 PM Vincent Delecroix

Isuru Fernando

unread,
Jun 30, 2021, 10:32:42 AM6/30/21
to sage-devel
Thanks. I've updated pari to 2.13 and rebuilt all downstreams. Please try updating your pari version in conda.

Isuru

Reply all
Reply to author
Forward
0 new messages