Open StormsHalted opened 2 years ago
What operating system is this on?
What operating system is this on?
It is a Ubuntu 21.10
staring at this a bit more. it is possible there is a mismatch between the gcc used for compiling and that available in the library used by matlab. Since it appears the libstdc++ is coming from matlab.
can you try strings <<that path used to point to libstdc++.so.6>> | grep GLIBCXX from the command line
You might also try mex -setup C++ and choose an older gcc version if you have one available and then recompile the mex file
If possible, uploading a copy of helicsMex.mexa64
might help with figuring out what is going on/replicating the issue.
@nightlark
Appears that the mexa64 is not one of the supported types here, so I can email that alternatively.
@phlptp
Here is what happens with using mex -setup C++
I am not sure if I am putting the strings
line in correct syntax:
You will have to do that second one on the bash command line, not in matlab it is is linux command line, not even sure it works there or if you need to install something to use strings.
strings
is often installed on Linux systems, if it isn't I think the package it comes from is binutils
.
The << and >> are being used to show that the text inside is a description of what the argument that replaces those <<>> and everything inside them would be (as in those carrots and all the text inside them will be gone). All that is saying is to run strings
on the libstdc++ file given in the error message.
For uploading the mex file, you can probably trick GitHub by making a copy with a supported extension like .png, .txt or similar to upload.
@phlptp
Sorry I missed that it had to be executed on a Command Line.
So here is how I was able to do it:
I get the same result as above, after I execute the buildHelicsInterface()
, clearly I am not able to get the syntax correct.
@nightlark
Here is the Zip file of mexa64.
You left the <<
and >>
characters in the string instead of replacing them -- in the example command given, those are being used to mean replace the descriptive string including those characters with a file; unfortunately <<
and >>
are both valid syntax for bash (redirection operators). A maybe clearer way of putting it is: strings path/that/points/to/libstdc++.so.6 | grep GLIBCXX
.
Or run the strings
command on the libstdc++.so.6
file, and pipe the output |
to the grep
command to look for lines starting with GLIBCXX
@nightlark
Thanks for the succinct explanation, My output is exactly the same as yours:
Hello Philip and Ryan,
Any leads up till now?
Hello,
Checking back to see if their are any leads on it?
Sorry, I don't have any updates on this.
I think Philip was going to see if the bug occurs on one of the HPC systems here that already has Matlab installed -- I'm not sure if that has been tested yet.
As best as we can tell the Matlab interface is behaving normally on Linux now as of the 3.3.0 release. We are going to tag a 3.3.1 release soon to match with the latest HELICS release.
Hi Philip,
Downloaded the newest version from the repo, extracted it and ran buildhelicsinterface() from inside Matlab, got the same error.
Hello,
Earlier, my attempts to integrate Matlab with HELICS 2.8 ended in a fiasco, so, with suggestion from the developers, I decided to move up to HELICS 3.
As, I execute the installation instructions given on: [https://github.com/GMLC-TDC/matHELICS]
I get the following error: (for clarity, I am sharing the exact screenshot)
(Pardon if I did something wrong, I am relatively new to linux)
Looking forward to your support in this regard.