Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 30 2019 09:06
    szhorvat closed #99
  • Dec 27 2019 07:32
    Vurgit opened #99
  • Dec 13 2019 13:36
    szhorvat labeled #98
  • Dec 13 2019 13:36
    szhorvat milestoned #98
  • Dec 13 2019 13:36
    szhorvat opened #98
  • Dec 11 2019 14:11
    szhorvat labeled #97
  • Dec 11 2019 14:11
    szhorvat assigned #97
  • Dec 11 2019 14:11
    szhorvat opened #97
  • Nov 13 2019 08:37
    szhorvat assigned #96
  • Nov 13 2019 08:37
    szhorvat opened #96
  • Aug 31 2019 10:54
    szhorvat labeled #95
  • Aug 31 2019 10:54
    szhorvat assigned #95
  • Aug 31 2019 10:54
    szhorvat opened #95
  • Aug 03 2019 11:50
    szhorvat assigned #93
  • Aug 03 2019 11:50
    szhorvat labeled #93
  • Aug 01 2019 10:34
    szhorvat opened #94
  • Aug 01 2019 10:34
    szhorvat milestoned #94
  • Aug 01 2019 10:34
    szhorvat assigned #94
  • Aug 01 2019 10:34
    szhorvat labeled #94
  • Jul 02 2019 11:53
    szhorvat opened #93
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.
Szabolcs Horvát
@szhorvat
@/all Last release of the year. Please upgrade. https://github.com/szhorvat/IGraphM/releases/tag/v0.3.108
Szabolcs Horvát
@szhorvat
@/all New release: 0.3.110. It fixes a serious bug in multigraph sub-isomorphism, so please upgrade. https://github.com/szhorvat/IGraphM#installation
Szabolcs Horvát
@szhorvat
@/all New release: 0.3.111. It fixes serious bugs in IGPlanarGraph and IGEdgeTransitiveQ. It introduces several new functions for checking graph symmetry and regularity. Please upgrade! https://github.com/szhorvat/IGraphM#installation
Szabolcs Horvát
@szhorvat
@/all If any of you uses this package on the Raspberry Pi, please let me know. I am thinking about stopping support for this platform due to lack of demand.
Szabolcs Horvát
@szhorvat
If you're wondering, IGraph/M works well with the new free Wolfram Engine http://wolfram.com/engine
Yaroslav Bulatov
@yaroslavvb
Curious how you made it portable -- I expected integration with igraph needs binary dependencies which would need platform-specific compilation instructions, right? Or is it pure mathematica?
Szabolcs Horvát
@szhorvat

@yaroslavvb

Curious how you made it portable -- I expected integration with igraph needs binary dependencies which would need platform-specific compilation instructions, right? Or is it pure mathematica?

Oh no, this can't be done with pure Mathematica :-) It has a big C++ component which needs to be compiled separately for each platform. That's really a pain ...

Currently, I ship 5 binaries: Windows 64-bit, Linux 64-bit, macOS 64-bit in two versions for M10.3- (libstdc++) and for M10.4+ (libc++) and Raspberry Pi.
Ensuring binary compatibility with all sorts of systems is a huge PITA. I struggled a lot with Linux where people complained that it didn't work on the ancient RedHat/CentOS/Scientific Linux 6 (it does work on 7+ now), which Mathematica still supports for some reason. I just gave up on that system ... RHEL 7 was also a struggle but I have the magic formula for that now.
Szabolcs Horvát
@szhorvat
@yaroslavvb BTW the binary components also mean that it won’t work in the cloud, at least not until Wolfram finally starts supporting paclets officially, sets up a paclet repo, irons out the problems with it, gets it to the point where they’d accept binary paclets into the repo—something that won’t happen initially—then finally build some signing/trust system which works well enough that they can start allowing binary paclets even in the cloud.
The chances of that happening are low, and even if it does, with the current apparent pace of progress on the paclet repo I’d expect it to take years.
BUT the things that are in IGraph/M (not all of which come from igraph) simply cannot be implemented in Mathematica with usable performance. Right now, graph colouring is the only serious functionality written in pure WL.
In fact, the Mathematica part of the package and the poor state of the Graph related functionality in Mathematica act as a drag on what the package could be capable of.
The little feedback that’s coming from WRI on my complaints about this suggests that some of the people who make decisions have rather poor understanding on what either graph theory or network analysis functionality needs to look like to be actually practically useful. It’s harsh to say this, but I became convinced that they don’t actually use the system in the way us users would ...
Szabolcs Horvát
@szhorvat
This stuff will never work well until they start listening to people who actually try to make use of this functionality to get real work done. Not play around and see what the system can do. That’s the wrong starting point. Instead, take a real problem and try to solve it with Mathematica.
The network analysis capabilities suffer even more than the graph theory ones.
It’s really sad to see this because there are not many alternatives with a similar breadth of functionality. However, most alternatives have better performance, much better reliability, and are simply more practical because their development is driven by real needs … Yes, they’re definitely much uglier and sometimes inconsistent, but they can do what people want to do most often. They’re also sufficiently flexible to build new functionality ...