nanmiao11 has quit [Remote host closed the connection]
hkaiser has quit [Quit: bye]
weilewei has quit [Remote host closed the connection]
kale[m] has quit [Ping timeout: 258 seconds]
kale[m] has joined #ste||ar
kale[m] has quit [Ping timeout: 272 seconds]
kale[m] has joined #ste||ar
toralf[m]1 has joined #ste||ar
kale[m] has quit [Ping timeout: 256 seconds]
kale[m] has joined #ste||ar
nikunj97 has joined #ste||ar
kale[m] has quit [Ping timeout: 256 seconds]
kale[m] has joined #ste||ar
Nikunj__ has joined #ste||ar
nikunj97 has quit [Ping timeout: 260 seconds]
Nikunj__ is now known as nikunj97
kale[m] has quit [Ping timeout: 246 seconds]
nikunj has quit [Remote host closed the connection]
kale[m] has joined #ste||ar
nikunj has joined #ste||ar
hkaiser has joined #ste||ar
<K-ballo>
what's the status of the release plans?
<hkaiser>
K-ballo: no fixed date has been set
nanmiao11 has joined #ste||ar
<kale[m]>
hkaiser: Can you explain how the symlinks in HPX and Phylanx works? I tried changing one of the symlink to an exact copy of the actual library and it didn't work (throws a seg fault). This information will be helpful with our pip package as generating wheels do not preserve symlinks.
<hkaiser>
kale[m]: what symlinks?
<kale[m]>
hkaiser: For example libhpx_phylanxd.so.0.0.1 has 2 symlinks libhpx_phylanxd.so.0 and libhpx_phylanxd.so. If I replace the libhpx_phylanxd.so file with libhpx_phylanxd.so.0.0.1 (i.e. make 2 copies of libhpx_phylanxd.so.0.0.1 with different names) I get a segmentation fault while executing a phylanx test.
<hkaiser>
kale[m]: why would you want to do that?
<kale[m]>
hkaiser: Because creating wheels do not preserve symlinks. So copies of the dynamic libraries are made instead.
<hkaiser>
kale[m]: the symlinks can be recreated, no
<hkaiser>
I also think those are not symlinks, but softlinks that also have the rpath encoded
<hkaiser>
in the end they are textfiles
<kale[m]>
pip install does not allow post transactions. So we will not be able to automate the step at user's end.
<hkaiser>
it might work if you don't have those links at all
<nikunj97>
hkaiser, just a back story. We were able to create a pip package for all linux os but somehow it always seg faulted. We initially thought that it was a linking issue. Later we found that it was because that replacing those copied libraries back to symlink made it work.
<hkaiser>
things should work as long as the LD_LIBRARYPATHs and PYTHONPATHs are correct
<nikunj97>
s/because/because of the copied libraries/
<hkaiser>
sure
<hkaiser>
if you duplicate the binaries things might not work correctly
<nikunj97>
hkaiser, yea that's what we're experiencing at the moment
<nikunj97>
btw are you sure they're text files and not symlinks? file <library_name> shows it to be a symlink
<hkaiser>
leave out the links and make sure all loader paths are set correctly
<hkaiser>
ok, I might misremember things
<nikunj97>
but if we leave out the links, we'll have a situation of library not found. Afterall symlink was the bridge between the first dynamic library and its secondary dynamic library dependency
<hkaiser>
I don't know anything about how this is workin gon linux, sorry
<hkaiser>
the ysmlinks are created by cmake
<nikunj97>
I see, heller1, K-ballo any idea how we can resolve it?
<K-ballo>
too much context, summarize?
<hkaiser>
nikunj97: would naming the binaries .0.0.1 (or similar) work?
<nikunj97>
we want HPX to work if we remove all the symlinnks in linux
<nikunj97>
hkaiser, we tried it, didn't work sadly
<hkaiser>
what's the problem, there?
<hkaiser>
hold on
<hkaiser>
the linker uses the plain binary names for resolving symbols
<nikunj97>
not sure really. Linux is not happy with renaming/cloning libraries.
<hkaiser>
so whayy are the symlinks needed?
akheir has joined #ste||ar
<hkaiser>
why*
<nikunj97>
because HPX and Phylanx installations create 3 version of the library, 2 of which are symlinks and one is the actual library.
<hkaiser>
that's not what I meant
<hkaiser>
why doesn't it work if you remove the symlinks?
<hkaiser>
what does ldd say?
<nikunj97>
aah gotcha, the symlinks are needed because libraries link to libhpx_phylanxd.so.0 (which is a symlink to libhpx_phylanxd.so.0.0.1)
<nikunj97>
removing libhpx_phylanxd.so.0 will give library not found from ldd
<hkaiser>
ok, so you should be able to name the binaries like the symlinks used to resolve references
<hkaiser>
libhpx_phylanxd.so.0
<nikunj97>
making a copy of libhpx_phylanxd.so.0.0.1 as libhpx_phylanxd.so.0 throws seg fault for some reason
<hkaiser>
not copy, rename
<nikunj97>
ok, well haven't tried that. kale[m] you may want to try this ^^
<kale[m]>
Yes, I'm on it
<hkaiser>
nikunj97: you should be able to remove the VERSION/SOVERSION from our cmake scripts for your case
<hkaiser>
that should prevent generating the symlinks
<nikunj97>
hkaiser, aah that's a fallback option. But we'll be needing to integrate it with the Phylanx CI for updated pip packages. It may be troublesome in that case.
<hkaiser>
or set -DNO_SONAME=On
<nikunj97>
or well we can just build phylanx and hpx with the cmake option. Shouldn't change any testing result behavior imo.
<hkaiser>
right
<hkaiser>
needs to be tried out, though ;-)
<nikunj97>
yes, thanks a lot for the help ;-)
<kale[m]>
hkaiser: Thanks for the lead, it passes the test as expected when I move the library instead of copying.
<hkaiser>
good
<nikunj97>
kale[m], no seg fault anymore?
<kale[m]>
nikunj97: No segfaults :)
<nikunj97>
kale[m], nice! We should be able to get a working wheel soon then :)
<gonidelis[m]>
hkaiser: Did you have any time to check #4809 after my latest commits?
<hkaiser>
not yet, will do
<hkaiser>
gonidelis[m]: one minor comment (I think inconsequential) other LGTM
kale[m] has quit [Ping timeout: 256 seconds]
kale[m] has joined #ste||ar
<gonidelis[m]>
hkaiser: thanks! could that be the reason why tests.unit.modules.segmented_algorithms fails on build-and-test?