Sage Crash Report

93 views
Skip to first unread message

Kolen Cheung

unread,
Nov 17, 2018, 6:22:11 PM11/17/18
to sage-support
sage-environment.yml
Sage_crash_report.txt

Dima Pasechnik

unread,
Nov 17, 2018, 6:30:51 PM11/17/18
to sage-s...@googlegroups.com
It looks like Sage installed via conda-forge, and


ImportError: /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../libgd.so.3:
undefined symbol: libiconv

seems to indicate that libiconv is missing in the environment. I don't
know much about conda, but it seems that you need to run something
like

conda install -c conda-forge libiconv

and try running sage again...



On Sat, Nov 17, 2018 at 11:22 PM Kolen Cheung <christi...@gmail.com> wrote:
>
>
> --
> 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 post to this group, send email to sage-s...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.

Kolen Cheung

unread,
Nov 17, 2018, 7:11:25 PM11/17/18
to sage-s...@googlegroups.com
I tried. the problem is libiconv is already there. conda install that shows it's fulfilled.

you can try to conda crete from the yml file to replicate the exact conda environment to reproduce this problem.

Regards,
Kolen

Dima Pasechnik

unread,
Nov 17, 2018, 7:28:59 PM11/17/18
to sage-s...@googlegroups.com
On Sun, Nov 18, 2018 at 12:11 AM Kolen Cheung <christi...@gmail.com> wrote:
>
> I tried. the problem is libiconv is already there. conda install that shows it's fulfilled.

Probably a linking problem...
What's the output of

ldd /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../libgd.so.3

Kolen Cheung

unread,
Nov 17, 2018, 8:41:41 PM11/17/18
to sage-support
sage ~ ❯❯❯ ls -alh /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../libgd.so.3
lrwxrwxrwx 1 sage sage 14 Nov 17 17:34 /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../libgd.so.3 -> libgd.so.3.0.5
sage ~ ❯❯❯ ldd /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../libgd.so.3
    linux-vdso.so.1 (0x00007ffd5f589000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007f0a078fe000)
    libpng16.so.16 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../.././libpng16.so.16 (0x00007f0a076c3000)
    libz.so.1 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../.././libz.so.1 (0x00007f0a074a8000)
    libfontconfig.so.1 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../.././libfontconfig.so.1 (0x00007f0a07263000)
    libfreetype.so.6 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../.././libfreetype.so.6 (0x00007f0a06f87000)
    libjpeg.so.9 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../.././libjpeg.so.9 (0x00007f0a06d49000)
    libtiff.so.5 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../.././libtiff.so.5 (0x00007f0a06acf000)
    libwebp.so.6 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../.././libwebp.so.6 (0x00007f0a06831000)
    libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f0a06810000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007f0a0664c000)
    /usr/lib64/ld-linux-x86-64.so.2 (0x00007f0a07d04000)
    libxml2.so.2 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../././libxml2.so.2 (0x00007f0a062e5000)
    libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f0a062de000)
    libicui18n.so.58 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../././libicui18n.so.58 (0x00007f0a05e69000)
    libicuuc.so.58 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../././libicuuc.so.58 (0x00007f0a05abb000)
    libicudata.so.58 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../././libicudata.so.58 (0x00007f0a03fbb000)
    liblzma.so.5 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../../././liblzma.so.5 (0x00007f0a03d8d000)
    librt.so.1 => /usr/lib/librt.so.1 (0x00007f0a03d83000)
    libstdc++.so.6 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../.././././libstdc++.so.6 (0x00007f0a03c40000)
    libgcc_s.so.1 => /home/sage/.conda/envs/sage/lib/python3.6/site-packages/sage/matrix/../../../.././././libgcc_s.so.1 (0x00007f0a03c2b000)

Dima Pasechnik

unread,
Nov 18, 2018, 4:56:31 AM11/18/18
to sage-s...@googlegroups.com, Isuru Fernando
Oh, wait, these are all Python3 libraries, correct? This looks fishy
to me. As well,
Sage's libgd does not link ICU libraries (all these libicu*),
fontconfig and webp, all these must be conda-forge
modifications.
So that's not something we could realistically fix without conda people.

The usual suggestion - build Sage from source...

Kolen Cheung

unread,
Nov 18, 2018, 5:58:58 AM11/18/18
to sage-s...@googlegroups.com, Isuru Fernando
I actually tried a whole bunch of combinations. Build with and without the intel channel, with python 2 or 3, on 3 different systems (macOS, ArchLinux, and SUSE), all through conda. They all have some problems (that upon `sage` there's an error, but this is the only one I reported so they can in principle be all not working for a different reason.

But may be a more general question, is the conda-forge formula really works? If so are there a reproducible build that is tested to be working? If so, can the environment be shared (like the environment.yml I generated above.)

Among the supported installation methods, conda is preferred, because it is reproducible and extensible and isolated. And conda is designed to handle exactly the situation like Sage, that has a lot of non-python dependencies, and conda has a lot of compiler stacks as well.

Who's maintaining the conda-forge formula? May be they can take a look at this?

Regards,
Kolen

Dima Pasechnik

unread,
Nov 18, 2018, 6:26:46 AM11/18/18
to sage-s...@googlegroups.com, Isuru Fernando, julian...@fsfe.org
I guess the place to report such issues is here:
https://github.com/conda-forge/sage-feedstock

Isuru Fernando

unread,
Nov 18, 2018, 11:49:55 AM11/18/18
to sage-support
Can you try doing `conda update libgd`? Python 3 builds are experimental and don't work correctly. (But they should be able to start sage.)

I've attached an env file that works for me on linux.

Isuru
env.yml

Kolen Cheung

unread,
Nov 18, 2018, 5:20:49 PM11/18/18
to sage-support

Interesting, it failed.

sage ❯❯❯ conda env create -f env.yml
Solving environment: failed

ResolvePackageNotFound: 
  - sagenb==1.0.3=py_0

Searching it on https://anaconda.org/conda-forge/sagenb/files shows it doesn’t exist. Has it been removed?

Another question, I noticed that you prioritize conda-forge over defaults, why?

Thanks.

Isuru Fernando

unread,
Nov 19, 2018, 12:00:57 AM11/19/18
to sage-s...@googlegroups.com, christi...@gmail.com
Ah, that package was marked broken. conda-forge and defaults channels are not ABI compatible, (it'll be in a month or so once the conda-forge rebuild is done)
You should prioritize conda-forge over defaults and see what happens. Let me know if it doesn't work and I'll send you the env file for a new environment.

Isuru

--

Kolen Cheung

unread,
Nov 19, 2018, 7:14:36 AM11/19/18
to sage-support

Thanks. This is it. I’m glad we discussed about the channel priority (if you noticed my original attachment sage-environment.yml, conda-forge is last.)

I’m curious why this ABI incompatibility are allowed when satisfying the dependencies. I don’t know if the conda forge formula is written incorrectly or if this is a deficiency of conda. My original hope is to prioritize the intel channel so I can get libraries such as numpy and scipy from intel which is built using MKL instead of openblas. The bigger picture is to use sage together with the existing stack of libraries I already am using (where most are from intel then defaults).

For others’ reference, this is the minimal example to install sage in conda:

name: sage
channels:
  # this must be the first
  - conda-forge
  - intel
  - defaults
dependencies:
  # or just sage if you don't care versions
  - sage=8.3=py36_3

Save it as env-sage.yml, then run

conda env create -f ~/Dropbox/env-sage.yml
. activate sage
Reply all
Reply to author
Forward
0 new messages