These are chat archives for elemental/chat

19th
Nov 2016
Jack Poulson
@poulson
Nov 19 2016 03:21
cool; openmpi will need to be disabled in the debian packages because the version (1.6.5) is too old
Ryan H. Lewis
@rhl-
Nov 19 2016 17:39
there are some more edits that I need to make for the RPM
we need to SO version PMRRR and SuiteSparse
not sure what there major/minor versions should be
@poulson oh, that makes the debian builds faster :)
Jack Poulson
@poulson
Nov 19 2016 17:41
the tests are passing in my local pdebuild call, but I haven't yet figured out how to locally install and test that package in the chroot environment
Ryan H. Lewis
@rhl-
Nov 19 2016 17:41
make install?
Jack Poulson
@poulson
Nov 19 2016 17:42
I mean to have my shell have access, so that I can test the python installation loading properly
and that all of the installation directories are sane
and that the config files make sense
Ryan H. Lewis
@rhl-
Nov 19 2016 17:42
once the package is build I think the goal is to try installing it and use it
Jack Poulson
@poulson
Nov 19 2016 17:42
...yes
but I don't want to do so in my tainted environment
I want to do everything in a clean chroot
Ryan H. Lewis
@rhl-
Nov 19 2016 17:43
i use docker for this
Ryan H. Lewis
@rhl-
Nov 19 2016 17:55
https://bugzilla.redhat.com/show_bug.cgi?id=1389971 <—@poulson for your reference
Jack Poulson
@poulson
Nov 19 2016 18:12
I'll have to figure out why it's complaining about libElSuiteSparse.so
Ryan H. Lewis
@rhl-
Nov 19 2016 18:33
i fixed the PMRRR exit issue I believe.
i issued a PR
I think many of the warnings are just that we are linking against libraries which are not being used?
the one about sqrt is that we are not explicitly linking at libm.so
interesting:

from: https://fedoraproject.org/wiki/Common_Rpmlint_issues#unused-direct-shlib-dependency we can just add:

export CXXFLAGS="%{optflags} -Wl,--as-needed"

Jack Poulson
@poulson
Nov 19 2016 18:38
I don't think the single-line change fixes the exit issue
the -Wl,--as-needed flag seems like a good idea (in so much as it is portable)
Ryan H. Lewis
@rhl-
Nov 19 2016 18:40
im not so sure
i googled a little further
it seems like thar be dragons
Jack Poulson
@poulson
Nov 19 2016 18:42
given that the former link was eight years ago: is it still relevant?
Ryan H. Lewis
@rhl-
Nov 19 2016 18:42
i dont know
im going to try it in the spec file and see if anythingbreaks
in terms of PMRRR I find a find . -name “*.c” | xargs grep exit
and it was the only result
Jack Poulson
@poulson
Nov 19 2016 18:43
yes, but just because exit isn't being called does not mean that the control flow is still reasonable
changing the exit(3) to a return 3 makes the subroutine plarre return a 3 rather than exiting the program
what happens with that 3?
Ryan H. Lewis
@rhl-
Nov 19 2016 18:45
fair.
Jack Poulson
@poulson
Nov 19 2016 18:45
hmm, I stand corrected
Ryan H. Lewis
@rhl-
Nov 19 2016 18:45
im checking now
Jack Poulson
@poulson
Nov 19 2016 18:45
it looks like there is only one call site, and it has an assert(info == 0)
so return 3 is correct
Ryan H. Lewis
@rhl-
Nov 19 2016 18:45
yeah, but, i didnt check, so im glad you did
we could propogate it forward
if( info != 0){ return info; }
then check for pmrrr
Jack Poulson
@poulson
Nov 19 2016 18:48
I think the assert is enough for now
it would call abort if the assertion fails in debug mode
Ryan H. Lewis
@rhl-
Nov 19 2016 18:48
ok, i removed the comment
Jack Poulson
@poulson
Nov 19 2016 19:02
In terms of long-term maintenance priorities for the project, I think careful C++ replacements of the needed METIS functionality, the AMD and SuiteSparse functionality, and PMRRR are at the top of the list
now that the heaviest hitter, ScaLAPACK, is handled
Ryan H. Lewis
@rhl-
Nov 19 2016 20:20
After TSVD and BFGS I could take on METIS
Your probably the best person to take on AMD and PMRRR
Jack Poulson
@poulson
Nov 19 2016 20:21
METIS is also a several month project
Ryan H. Lewis
@rhl-
Nov 19 2016 20:21
Yeah, I've studied that work carefully in the past
Jack Poulson
@poulson
Nov 19 2016 20:21
it's probably the least high priority, but reimplementing METIS within Elemental is a good way to prepare for a parallel implementation
Ryan H. Lewis
@rhl-
Nov 19 2016 20:21
And I'm interested
Jack Poulson
@poulson
Nov 19 2016 20:23
OK
Jack Poulson
@poulson
Nov 19 2016 22:27
I think the Elemental test and example drivers should not be installed directly into places like /usr/bin
there are too many of them
they should be in a subfolder such as /usr/bin/El
Jack Poulson
@poulson
Nov 19 2016 22:33
also, what version of RedHat were you targeting? It is rather strange that gmp-devel is added but not mpfr-devel or mpc-devel
Ryan H. Lewis
@rhl-
Nov 19 2016 22:45
I'm building on every version of fedora and cantos 6 and 7
I'm not installing tests
Just examples, and they are sent to mpi bin subdirectories according to fedora packing guidelines
Ryan H. Lewis
@rhl-
Nov 19 2016 22:50
Erm that was centos
Jack Poulson
@poulson
Nov 19 2016 22:53
why require gmp-devel but not MPFR or MPC?
Ryan H. Lewis
@rhl-
Nov 19 2016 23:12
i added gmp-devel because the reviewer asked me to. does gmp-devel imply mpfr or mpc?
or is it the other way around?
Jack Poulson
@poulson
Nov 19 2016 23:12
other way
Ryan H. Lewis
@rhl-
Nov 19 2016 23:12
oh, how is it working then?
Jack Poulson
@poulson
Nov 19 2016 23:13
it isnt using MPFR then
Ryan H. Lewis
@rhl-
Nov 19 2016 23:13
let me add it..
Jack Poulson
@poulson
Nov 19 2016 23:13
I already did
Ryan H. Lewis
@rhl-
Nov 19 2016 23:13
oh, you did
ok, sweet.
gmp-devel is redudant then?
Jack Poulson
@poulson
Nov 19 2016 23:15
I think so
Ryan H. Lewis
@rhl-
Nov 19 2016 23:16
ok whatever, ill leave it there unless someone tells me to remove it
im setting up a docker environment to lint the latest green build
hopefully the RPM will be considered acceptable
Ryan H. Lewis
@rhl-
Nov 19 2016 23:44
@poulson doesnt the debian package need the equivalent of a %files section of the spec file?
Jack Poulson
@poulson
Nov 19 2016 23:45
where is that in the debian specification?
Ryan H. Lewis
@rhl-
Nov 19 2016 23:45
no clue, but, how do the packages know what files they own?
this is necessary for assigning contents of the subpackages and also, for uninstallation to be at all possible..
Jack Poulson
@poulson
Nov 19 2016 23:45
I think this is autogenerated
Ryan H. Lewis
@rhl-
Nov 19 2016 23:46
but how does it it know what goes to what
Jack Poulson
@poulson
Nov 19 2016 23:46
huh? when I run dpkg -c it says what goes where
Ryan H. Lewis
@rhl-
Nov 19 2016 23:47
how does it know what is an mpich and what is an openmpi
oh I see
you just have two
and the python2 files managed to find there way into that subpackage
Jack Poulson
@poulson
Nov 19 2016 23:51
what I didn't figure out is how to combine the dh overrides with installation of packages specifically for each binary package
I think all of the build dependencies for all of the binary packages need to be in the source package
which makes sense, because the only dependencies propagated to the user are for each binary package
Ryan H. Lewis
@rhl-
Nov 19 2016 23:52
not sure exactly what you are saying, but, i think it is similar to my concern
Jack Poulson
@poulson
Nov 19 2016 23:52
I was previously confused as to how to, for example, only install mpich for the mpich install and openmpi for the openmpi install
Ryan H. Lewis
@rhl-
Nov 19 2016 23:53
yes, thats what I was saying..
Jack Poulson
@poulson
Nov 19 2016 23:53
but that is irrelevant because the source package handles the build dependencies for all of the packages at once
Ryan H. Lewis
@rhl-
Nov 19 2016 23:53
well, when you go to install packages it must matter
Jack Poulson
@poulson
Nov 19 2016 23:53
and the runtime dependencies can be separately listed in the Depends category for each binary package