Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 31 10:54
    szhorvat labeled #95
  • Aug 31 10:54
    szhorvat assigned #95
  • Aug 31 10:54
    szhorvat opened #95
  • Aug 03 11:50
    szhorvat assigned #93
  • Aug 03 11:50
    szhorvat labeled #93
  • Aug 01 10:34
    szhorvat opened #94
  • Aug 01 10:34
    szhorvat milestoned #94
  • Aug 01 10:34
    szhorvat assigned #94
  • Aug 01 10:34
    szhorvat labeled #94
  • Jul 02 11:53
    szhorvat opened #93
  • May 09 15:56
    szhorvat unassigned #85
  • May 09 15:56
    szhorvat milestoned #85
  • May 09 15:56
    szhorvat demilestoned #85
  • May 09 15:55
    szhorvat labeled #47
  • May 09 15:54
    szhorvat milestoned #80
  • May 09 15:54
    szhorvat milestoned #75
  • May 09 15:53
    szhorvat milestoned #88
  • May 09 15:53
    szhorvat milestoned #69
  • May 09 15:53
    szhorvat demilestoned #69
  • May 09 15:53
    szhorvat milestoned #74
Paul F Shepard
@shepard76_gitlab
The installed version of gcc is gcc.x86_64 4.4.7-11.el6
Szabolcs Horvát
@szhorvat
@shepard76_gitlab My guess is that this is a very old operating system that has a C or C++ standard library that is incompatible with the newer gcc that I used to compile IGraph/M with. Do you not have the opportunity to upgrade? gcc 4.4 is just ancient.
I used gcc 5 since v0.3.97
For v0.3.96.1 I still used gcc 4.8, and this version still worked on Ubuntu 14.04 LTS. v0.3.97 and later do not work on that old OS. They do work on Ubuntu 16.04 LTS and later though.
You might try that version. However, since your OS seems to use gcc 4.4, which is much older then 4.8 and doesn't even have full C++11 support, I doubt that it will work.
I also doubt that it would be possible to compile IGraph/M from scratch with that old gcc ...
I'm sorry
Paul F Shepard
@shepard76_gitlab
Are you saying I need to rebuild from sources using gcc 5?
Szabolcs Horvát
@szhorvat
gcc 4.8 will be sufficient, but building from sources is unfortunately not trivial
Also, unfortunately, I do not have a good understanding of the core reason for these incompatibilities on Linux. Any clarifications or advice you can give about this would be most welcome.
I believe the problem is the version of the C++ standard library that is being used. Possibly some changes in gcc's C++ ABI. The library on your system is too old to be compatible.
What I do know from practical experience is that in practice I can achieve better compatibility by compiling with an earlier gcc. I switched to gcc 5 recently. I could go back to gcc 4.8, but not earlier.
Please try to install IGraph/M 0.3.96.1 from here: https://github.com/szhorvat/IGraphM/releases
First do PacletUninstall["IGraphM"]
Then download the paclet of the appropriate version and use PacletInstall["/path/to/paclet"] (with the corrected path) to install it
Let me know if it works
If it does, I'll produce a binary of the latest version that works on your system
Szabolcs Horvát
@szhorvat
If it does not, then unfortunately I cannot help. I do not have the time and the resources to support such a wide range of systems, especially system as old as SL 6 (released in 2011 according to WIkipedia)
However, if you can make it work, please let me know how you did it :)
Paul F Shepard
@shepard76_gitlab
I will try your suggestions. The past few days I have been trying to install a working version of gcc-4.8.5 so I could correctly compile your sources, but that installation has been quite difficult and not yet succeeded. So I thought I would see if there was an alternative to a complete build from sources. I will let you know what happens. I have had no problems with Mathematica 11.2 on my system for what it is worth.
Szabolcs Horvát
@szhorvat
I'll look into this again, but it's nearly midnight here so I have to leave now :)
Paul F Shepard
@shepard76_gitlab
Thanks, later this evening I will try your suggestions.
Paul F Shepard
@shepard76_gitlab

I followed your suggestion and tried IGraphM-0.3.96.1

Here are the results:
In[107]:= PacletUninstall["IGraphM"]

PacletInstall["/export/home/shepard/Downloads/IGraphM-0.3.96.1.paclet"]

In[109]:= << IGraphM`

During evaluation of In[109]:= IGUndirectedGraph::shdw: Symbol IGUndirectedGraph appears in multiple contexts {IGraphMUtilities,IGraphM}; definitions in context IGraphMUtilities` may shadow or be shadowed by other definitions.

During evaluation of In[109]:= LibraryFunction::libload: The function IGlobal_get_collection was not loaded from the file /export/home/shepard/.Mathematica/Paclets/Repository/IGraphM-0.3.96.1/LibraryResources/Linux-x86-64/IGraphM.so.

During evaluation of In[109]:= LibraryFunction::libload: The function IG_get_collection was not loaded from the file /export/home/shepard/.Mathematica/Paclets/Repository/IGraphM-0.3.96.1/LibraryResources/Linux-x86-64/IGraphM.so.

During evaluation of In[109]:= Loading failed, trying to recompile ...

During evaluation of In[109]:= Recompile::build: No build settings found. Please check BuildSettings.m.

During evaluation of In[109]:= Cannot load or compile library. [FreakedSmiley] Aborting.

Out[109]= $Aborted

Szabolcs Horvát
@szhorvat
@shepard76_gitlab Did you get my email? I am anxious to find out if works! :-)
Paul F Shepard
@shepard76_gitlab
Did you want to chat some more about this or just communicate by email?
Szabolcs Horvát
@szhorvat
@shepard76_gitlab Could you check your glibc version?
Apparently this can be done by finding out where the libc.so.6 file is and directly running it
On my system, I can use /lib/x86_64-linux-gnu/libc.so.6
On yours it may be elsewhere
From what I could fid so far: the problem is that your libc is too old, and my binary apparently requires glibc 2.14 or later
It also seems that the most practical option might be for you to also install a newer glibc (but not replace your old one). However, this is a bit messy.
I am still trying to understand if it is at all possible to compile in such a way as to reduce the glibc version dependency, without having to use an old Linux distro
Basically, you would need to: 1. download the source 2. configure it to install into e.g. /opt/glibc-2.14 It is important not to overwrite the system's version 3. compile and install into the above location 4. Temporarily set the LD_LIBRARY_PATH environment variable to look for libraries in that location, then run Mathematica and try again.
Szabolcs Horvát
@szhorvat
However, step 4. may not work immediately with Mathematica. As I remember, Mathematica's startup script messes with LD_LIBRARY_PATH. I need to look up what the issue was exactly and how to work around it.
@shepard76_gitlab So, to sum up: I'm still looking if I can work around the libc incompatibility without setting up a very old Linux to compile on. If that works, great. If it doesn't, I think the best workaround is for you to install a second, newer glibc. Actually, the best is to use a newer Linux but I understand you may not be able to do that right now.
Even if I can't support your system, I was able to extend compatibility further back, which is very useful.
I am going to log off for today though (it's 8:30 PM). I'll email you if there's progress on this.
Paul F Shepard
@shepard76_gitlab
Thank-you again for the help.
Szabolcs Horvát
@szhorvat
Interested people: Please test this before final release and let me know both if you found problems or if you didn't: https://www.dropbox.com/s/gxqsircmgp2q8ui/IGraphM-0.3.100.92.paclet?dl=0
Szabolcs Horvát
@szhorvat
Raspberry Pi support is re-added.
Szabolcs Horvát
@szhorvat
@/all New version released! v0.3.102 Please upgrade as there were important fixes recently. It's easy with the upgrade script.
Szabolcs Horvát
@szhorvat
@/all There is a new release. Please upgrade.
Szabolcs Horvát
@szhorvat
@/all I have restructured IGraph/M’s test suite to make it very easy to edit for anyone. If you are willing to help me write new tests, please write a message. New documentation examples are also welcome.
image.png
Szabolcs Horvát
@szhorvat
@/all New release out, please upgrade. https://github.com/szhorvat/IGraphM#installation
Szabolcs Horvát
@szhorvat
@Juddd It has the beginnings of a matching (independent edge set) functionality, but perfect matchings are not yet included.
Szabolcs Horvát
@szhorvat
@/all New release, please upgrade.