Building of sage 9.2 stopped because pynac doesn't see libflint

61 views
Skip to first unread message

Tobias

unread,
Nov 27, 2020, 9:21:42 AM11/27/20
to sage-s...@googlegroups.com
Hallo Everybody,

on OpenSuse Tumbleweed I try building sage 9.2 without most of packages from
system. The make command stopped compiling pynac because "the programm needs
libflint", but flint was already compiled by make command.

Then I wanted to start make command again with pynac, but make skipped pynac
and started with the next package.


What should I do? I would probably restart building and configure with --with-
system-flint=yes and --with-system-flintqs=yes
But it took so long to come here ...


What would you say?


Kind regards,
Tobias

from log file
> sage-9.2/local/var/tmp/sage/build/pynac-0.7.26.sage-2020-04-03.p0/src/config
>.log

> configure:17041: gcc -o conftest -g -O2
> -Wl,-rpath-link,/home/tobias/bin/sage-9.2/local/lib
> -L/home/tobias/bin/sage-9.2/local/lib
> -Wl,-rpath,/home/tobias/bin/sage-9.2/local/lib conftest.c -lflint -lgmp
> >&5
> /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld:
> warning: libgmp.so.23, needed by
> /home/tobias/bin/sage-9.2/local/lib/libflint.so, may conflict with
> libgmp.so.10
> /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld:
> _ZN3NTL9zz_pEInfoE: TLS definition in /usr/lib64/libntl.so.43 section .tbss
> mismatches non-TLS reference in
> /home/tobias/bin/sage-9.2/local/lib/libflint.so
> /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld:
> /usr/lib64/libntl.so.43: error adding symbols: bad value collect2: error:
> ld returned 1 exit status
> configure:17041: $? = 1
>
> configure: failed program was:
> | /* confdefs.h */
> | #define PACKAGE_NAME "pynac"
> | #define PACKAGE_TARNAME "pynac"
> | #define PACKAGE_VERSION "0.7.26.sage-2020-04-03"
> | #define PACKAGE_STRING "pynac 0.7.26.sage-2020-04-03"
> | #define PACKAGE_BUGREPORT "<pynac...@googlegroups.com>"
> | #define PACKAGE_URL ""
> | #define PACKAGE "pynac"
> | #define VERSION "0.7.26.sage-2020-04-03"
> | #define ARCHIVE_VERSION 3
> | #define ARCHIVE_AGE 0
> | #define STDC_HEADERS 1
> | #define HAVE_SYS_TYPES_H 1
> | #define HAVE_SYS_STAT_H 1
> | #define HAVE_STDLIB_H 1
> | #define HAVE_STRING_H 1
> | #define HAVE_MEMORY_H 1
> | #define HAVE_STRINGS_H 1
> | #define HAVE_INTTYPES_H 1
> | #define HAVE_STDINT_H 1
> | #define HAVE_UNISTD_H 1
> | #define HAVE_DLFCN_H 1
> | #define LT_OBJDIR ".libs/"
> | #define HAVE_GMP_H 1
> | #define HAVE_FLINT_FMPQ_POLY_H 1
> | /* end confdefs.h. */
> |
> | /* Override any GCC internal prototype to avoid an error.
> |
> | Use char because int might match the return type of a GCC
> | builtin and then its argument prototype would still apply. */
> |
> | #ifdef __cplusplus
> | extern "C"
> | #endif
> | char fmpq_get_mpz_frac ();
> | int
> | main ()
> | {
> | return fmpq_get_mpz_frac ();
> |
> | ;
> | return 0;
> |
> | }
>
> configure:17058: result: no
> configure:17065: error: This package needs libflint

or from file
> sage-9.2/logs/pkgs/pynac-0.7.26.sage-2020-04-03.p0.log


> checking for library containing __gmpz_get_str... -lgmp
> checking flint/fmpq_poly.h usability... yes
> checking flint/fmpq_poly.h presence... yes
> checking for flint/fmpq_poly.h... yes
> checking for library containing fmpq_get_mpz_frac... no
> configure: error: This package needs libflint
> ****************************************************************************
> ****************************************************************************
> ************************************************************************
> Error configuring pynac-0.7.26.sage-2020-04-03.p0
> See the file
>
> /home/tobias/bin/sage-9.2/local/var/tmp/sage/build/pynac-0.7.26.sage-202
> 0-04-03.p0/src/config.log>
> for details.
> ****************************************************************************
> ****************************************************************************
> ************************************************************************

Dima Pasechnik

unread,
Nov 27, 2020, 10:09:05 AM11/27/20
to sage-support


On Fri, 27 Nov 2020, 14:21 Tobias, <tobwe...@web.de> wrote:
Hallo Everybody,

on OpenSuse Tumbleweed I try building sage 9.2 without most of packages from
system. The make command stopped compiling pynac because "the programm needs
libflint", but flint was already compiled by make command.



Then I wanted to start make command again with pynac, but make skipped pynac
and started with the next package.


What should I do? I would probably restart building and configure with --with-
system-flint=yes and --with-system-flintqs=yes
But it took so long to come here ...


What would you say?

I guess you have flint installed systemwide, as well, and pynac gets confused as to which flint to use.

--
You received this message because you are subscribed to the Google Groups "sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-support...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/2410372.RVVYDCxLDo%40localhost.localdomain.

Tobias Weiss

unread,
Nov 27, 2020, 12:44:54 PM11/27/20
to sage-support
OK! I just uninstalled flint and did configure without system packages again (after make clean). I can tell you if it works tomorrow or later, because of compile time ...

Well, I first tried to compile with system packages, but this made an error, when making sagelib - beacause of pari, I think.


Thank you!  I hope this works,
Tobias

Dima Pasechnik

unread,
Nov 27, 2020, 12:49:10 PM11/27/20
to sage-support
On Fri, Nov 27, 2020 at 5:44 PM Tobias Weiss <tobwe...@web.de> wrote:
>
> OK! I just uninstalled flint and did configure without system packages again (after make clean). I can tell you if it works tomorrow or later, because of compile time ...
>
> Well, I first tried to compile with system packages, but this made an error, when making sagelib - beacause of pari, I think.

We very much welcome reports of failures like this, as we strive to
unvendor as much as possible.
Skipping all the system packages is surely a huge overkill - e.g. why
on Earth would you need to build gcc
on a regular Linux system?
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/23ae3a10-bf65-424e-9051-b0e89fa1d1d6n%40googlegroups.com.

Tobias Weiss

unread,
Nov 27, 2020, 1:30:49 PM11/27/20
to sage-support
I didn't want to find out, what is the problem with sagelib. The error was from the system packages. So I wanted no conflicts between system wide packages and the packages from the tarball. So I configured like this:

./configure --with-system-arb=no --with-system-boost=no --with-system-brial=no --with-system-cddlib=no --with-system-cliquer=no --with-system-ecm=no --with-system-eclib=no --with-system-fflas_ffpack=no --
with-system-flint=no --with-system-flintqs=no --with-system-fplll=no --with-system-freetype=no --with-system-gc=no --with-system-giac=no --with-system-givaro=no --with-system-glpk=no --with-system-gmp=no --with-system-gsl=no
--with-system-iconv=no --with-system-iml=no --with-system-isl=no --with-system-lcalc=no --with-system-libbraiding=no --with-system-libatomic_ops=no --with-system-libffi=no --with-system-libgd=no --with-system-libsemigroups=
no --with-system-lrcalc=no --with-system-m4rie=no --with-system-m4ri=no --with-system-mpc=no --with-system-mpfi=no --with-system-mpfr=no --with-system-mpir=no --with-system-ninja_build=no --with-system-ntl=no --with-system-o
penblas=no --with-system-pandoc=no --with-system-pari=no --with-system-pari_galdata=no --with-system-pari_seadata_small=no --with-system-pcre=no --with-system-perl_term_readline_gnu=no --with-system-planarity=no --with-syste
m-ppl=no --with-system-rw=no --with-system-readline=no --with-system-suitesparse=no --with-system-symmetrica=no --with-system-yasm=no --with-system-zeromq=no --with-system-zn_poly=no --with-system-pynac=no

Sure, I wanted to use gcc from system. But it was also compiled newly.

Shall I reproduce the error with sagelib, when I have time?


Tobias

Tobias Weiss

unread,
Nov 27, 2020, 2:15:24 PM11/27/20
to sage-support
... how does compiling work? Needs the compiler also the binary of some library or only the library-devel package with the code? For most packages I only installed the devel package ...

Tobias

Tobias Weiss

unread,
Nov 27, 2020, 2:21:45 PM11/27/20
to sage-support
... I thought there must be a reason I can install the development package without binary package. But no it makes no sense to me. Can this be the reason of both complile errors?

Tobias

Dima Pasechnik

unread,
Nov 27, 2020, 3:05:45 PM11/27/20
to sage-support
On Fri, Nov 27, 2020 at 7:21 PM Tobias Weiss <tobwe...@web.de> wrote:
>
> ... I thought there must be a reason I can install the development package without binary package. But no it makes no sense to me. Can this be the reason of both complile errors?
>
> Tobias
>
> Tobias Weiss schrieb am Freitag, 27. November 2020 um 20:15:24 UTC+1:
>>
>> ... how does compiling work? Needs the compiler also the binary of some library or only the library-devel package with the code? For most packages I only installed the devel package ...
I don't know much about OpenSUSE, but some distributions typically
have <library>-dev packages dependent on <library> packages, and
some (e.g. Fedora) do not, i.e. you always need to install both
<library>-dev (or <library>-devel) and <library>.
It seems to me that OpenSUSE is an rpm-based distro, thus it would be
like Fedora, and require <library>-devel and <library> in some cases.


If you just run ./configure
it will print at the end some messages about packages that are
recommended to be installed (after guessing, hopefully correctly
the kind of Linux system it is on)
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/773dfae9-620c-456e-9953-7a94e5270c6bn%40googlegroups.com.

Tobias Weiss

unread,
Nov 27, 2020, 3:32:15 PM11/27/20
to sage-support
The Problem is solved now: However, make clean didn't delete the whole make history. And even now pynac was build. So, uninstalling the system wide flint-devel package is the solution!!!
There is still the question with the binary files - but this I also can find out somewhere else ...


Thanks,

Tobias

Tobias Weiss

unread,
Nov 27, 2020, 3:32:15 PM11/27/20
to sage-support
... it is a bit strange: now pynac is build before sagelib on the beginning. Is pynac build two times?

Tobias Weiss

unread,
Nov 27, 2020, 3:32:15 PM11/27/20
to sage-support
OK, so I stop the current build. Then I install for every dependency both - devel and binary package - and retry the build tomorrow.

Then it don't makes sence, that the binary is not installed automatically when I install the source package - but this is an Opensuse problem. Once, it was like this ...


Thank you!

Tobias

Tobias Weiss

unread,
Nov 27, 2020, 4:36:55 PM11/27/20
to sage-support
I still have a question: Keeping in mind Tumbleweed is a rolling release of Opensuse - is it clever to build a fixed binary? Will this binary persist with the rolling software updates?

Maybe that's why the dependencies of source and binary package don't work? I will test these dependencies tomorrow at all, so that I don't tell you wrong things and the dependencies work at all ...


Tobias

Dima Pasechnik

unread,
Nov 27, 2020, 4:53:06 PM11/27/20
to sage-support
On Fri, Nov 27, 2020 at 9:36 PM Tobias Weiss <tobwe...@web.de> wrote:
>
> I still have a question: Keeping in mind Tumbleweed is a rolling release of Opensuse - is it clever to build a fixed binary? Will this binary persist with the rolling software updates?

we regularly test SageMath on Gentoo, which is a rolling release system, too.
Needless to say, once in a while one might need to rebuild something,
if a library SageMath depends on was updated
in an incompatible way.

>
> Maybe that's why the dependencies of source and binary package don't work?

no, it's not they don't work, it's a design choice, leading to fewer updates;
often only a binary package changes, then if it is a dynamic library
then nothing needs to be rebuilt.
(perhaps - I am not sure here; perhaps it's just a historical choice
that stayed)
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/76e63d8e-6530-4c2d-9321-1fb8a1adb01cn%40googlegroups.com.

Tobias Weiss

unread,
Nov 28, 2020, 7:16:22 AM11/28/20
to sage-support
Is it possible to create a rpm file after build? If I install sage with rpm, the system knows about all dependencies and warns me if I'm going to hurt them.

Tobias

Tobias Weiss

unread,
Nov 28, 2020, 10:25:24 AM11/28/20
to sage-support
OK, now taking system packages again, the compilation stopped with sagelib again. I'll make a new thread, because its another problem, I think ...

Tobias
Reply all
Reply to author
Forward
0 new messages