IRC log of 2016.09.05 2:00 PM CEST

From OTBWiki
Jump to: navigation, search
[13:20] == grizonnetm [c2c7ac21@gateway/web/freenode/ip.194.199.172.33] has joined #otb
[13:20] == ChanServ [ChanServ@services.] has left #otb []
[13:23] == julien [c2c7ac23@gateway/web/freenode/ip.194.199.172.35] has joined #otb
[13:23] == julien has changed nick to Guest58585
[13:28] == Guest58585 has changed nick to jmichel
[14:00] == guillaume__ [5d11eb04@gateway/web/freenode/ip.93.17.235.4] has joined #otb
[14:00] <grizonnetm> hello otb
[14:00] <guillaume__> hello !
[14:02] <grizonnetm> I'm currently updating the agenda for the meeting (it was almost empty)
[14:04] == rkm_ [5d11eb04@gateway/web/freenode/ip.93.17.235.4] has joined #otb
[14:04] <jmichel> hi
[14:05] <jmichel> are we expecting anyone else ?
[14:05] <jmichel> remi ?
[14:05] <jmichel> victor and jordi can not attend
[14:07] <grizonnetm> I'll manage the wiki for this meeting, let me know if you've got something to add to the agenda
[14:09] <grizonnetm> the agenda:
[14:09] <grizonnetm> * Feedback from release 5.6
[14:09] <grizonnetm> * Decision about removal of internal OpenJPEG reader in OTB
[14:09] <grizonnetm> * How to ensure to get documentation of new features from RFC after the merge (examples, cookbook recipes...)?
[14:10] <jmichel> would like to add : GRM and LSGRM integration
[14:11] <jmichel> and perhaps merging courses into cookbook
[14:11] <grizonnetm> ok
[14:12] <guillaume__> I would like to add a small point on Dashboard scripts following Monteverdi integration.
[14:12] <grizonnetm> ok
[14:13] <jmichel> good
[14:13] <jmichel> shall we start ?
[14:14] <grizonnetm> I think so
[14:14] <grizonnetm> Feedback from release 5.6
[14:16] <grizonnetm> nothing to say?
[14:16] <guillaume__> we had delays on the release date
[14:16] <guillaume__> mostly platform issues for packages and pending bugs
[14:17] <guillaume__> 5.6.1 was faster
[14:17] <grizonnetm> is it still usefull to tag a RC1?
[14:18] <guillaume__> I thought RC1 was usefull for pre-release tests, but actually we don't really do this type of test
[14:19] <grizonnetm> Are we agree to apply RFComments 30: http://wiki.orfeo-toolbox.org/index.php/Request_for_Comments-30:_Shorter_release_process ?
[14:19] <grizonnetm> It was not clear for me
[14:19] <jmichel> For me we do not need RC
[14:20] <jmichel> RC is the new X.Y branch
[14:20] <jmichel> you can test it whenever you want, based on nightly packages
[14:20] <grizonnetm> as the framapad does not follow completely orientations of RFC 30: https://framacalc.org/v5CYYNhDXP
[14:21] <jmichel> agree
[14:21] <guillaume__> Release actions needs an update
[14:21] <grizonnetm> ok in this case we should promote the rfcomments to an rfc and then update the "how to release"
[14:22] <jmichel> ok lets do this
[14:22] <jmichel> maybe the release manager role is not clear enough
[14:22] <guillaume__> +1
[14:22] <jmichel> I mean I did the git checkout -b 5.6 and then that was it for me
[14:22] <jmichel> what happens next ?
[14:23] <jmichel> That is where we loose some time
[14:23] <jmichel> should the release manager be responsible for tracking actions in the pad ?
[14:23] <grizonnetm> i think so
[14:23] <jmichel> ok that needs to be clarified
[14:24] <guillaume__> We often have cases were issues are spotted during release process. The release manager should say if this is blocking or not
[14:24] <jmichel> yes ok
[14:24] <grizonnetm> update in "how to release" are I think very limited
[14:24] <jmichel> someone has to decide
[14:25] <jmichel> same thing for minor release
[14:25] <jmichel> when is a minor release required ?
[14:26] <grizonnetm> I see it as an "on demand" release which adress critical issues, regressions, important documentation or compiler support...
[14:27] <grizonnetm> difficult to have clear rules to decide when we need a bugfix release
[14:28] <jmichel> ok but who decides ?
[14:29] <guillaume__> release manager ?
[14:30] <grizonnetm> PSC?
[14:30] <grizonnetm> I don't know
[14:31] <jmichel> I think RM should be responsible for the release from start to end
[14:31] <guillaume__> +1
[14:31] <grizonnetm> +1
[14:32] <grizonnetm> let's add this to RFC 30
[14:33] == cresson [~cresson@mtd201.teledetection.fr] has joined #otb
[14:33] == cresson_ [c130bdc9@gateway/web/freenode/ip.193.48.189.201] has joined #otb
[14:34] == cresson_ [c130bdc9@gateway/web/freenode/ip.193.48.189.201] has quit [Client Quit]
[14:34] <cresson> hello
[14:34] <grizonnetm> hi
[14:34] <guillaume__> hi
[14:35] <jmichel> good
[14:35] <jmichel> hi remi
[14:35] <cresson> my apologies for the delay, lot of people at the restaurant
[14:38] <grizonnetm> ok
[14:38] <grizonnetm> so we're discussing adjustements to the release process
[14:39] <jmichel> we decided to extend a bit the role of release manager to :
[14:39] <grizonnetm> we're agree to update RFComments 30 and make an RFC from it (and comments from the PSC meeting regarding bugfix release, RM responsabilities...)
[14:41] <cresson> ok
[14:41] <cresson> what is exaclty new for the RM
[14:42] <jmichel> and also RM will track actions from branching to final release, and decide when to do minor releases
[14:43] <jmichel> ok
[14:43] <grizonnetm> other feedback from release 5.6?
[14:44] <jmichel> a great deal of RFC
[14:46] <jmichel> anything else ?
[14:47] <jmichel> or can we move on ?
[14:47] <cresson> Yes we can !
[14:47] <grizonnetm> one problem I see (not specific to release 5.6) is that we don't know how many people download OTB after the release
[14:47] <guillaume__> ok
[14:47] <grizonnetm> I think it's missing
[14:47] <grizonnetm> I've started a discussion on otb-dev about this
[14:48] <grizonnetm> 2 weeks ago
[14:48] <jmichel> good point. No more nice charts for slides since we moved out of sourceforge
[14:48] <jmichel> I think we have the data somewhere in server supervisor
[14:48] <jmichel> If OTB was an android app, we could get a lot of info on our users )
[14:49] <jmichel> ;)
[14:49] <grizonnetm> ITK is still using sourceforge
[14:49] <guillaume__> I thought we had some monitoring on the website
[14:50] <grizonnetm> PSC members at minimum should be able to find this information somewhere
[14:52] <jmichel> agree
[14:52] <cresson> agree too
[14:52] <jmichel> we need to see this with sebastien
[14:52] <grizonnetm> ok
[14:52] <grizonnetm> I add this to the wiki
[14:52] <grizonnetm> next?
[14:53] <jmichel> OpenJPEG ?
[14:53] <grizonnetm> ok
[14:53] <grizonnetm> Decision about removal of internal OpenJPEG reader in OTB
[14:54] <jmichel> +1
[14:54] <jmichel> next ;)
[14:55] <jmichel> this is confusing for users
[14:55] <grizonnetm> :)
[14:55] <jmichel> plus find openjpeg is buggy
[14:55] <guillaume__> +1
[14:56] <grizonnetm> ok so we need an RFC to make the code deprecated in 5.8
[14:57] <jmichel> do we ?
[14:58] <jmichel> is someone calling JPEG2000ImageIO directly ?
[14:59] <grizonnetm> i don't think so
[15:00] <jmichel> ok
[15:00] <jmichel> maybe we can remove it directly
[15:01] <jmichel> I do not mind to mark it deprecated first, but I would like to be sure it gets removed someday ;)
[15:01] <jmichel> Side proposal : deprecated class can only be deprecated for one release. After that, either they get remove or undeprecated
[15:02] <guillaume__> This is something we can add in the how-to-release ...
[15:03] <guillaume__> direct removal or deprecated are both fine for me
[15:03] <grizonnetm> I think that currently there are only classes in SVMLearning which are deprecated in OTB
[15:03] <grizonnetm> but they are here for a long time that's true
[15:05] <grizonnetm> direct removal also fine for me
[15:05] <grizonnetm> next topic?
[15:05] <grizonnetm> Dashboard scripts following Monteverdi integration
[15:06] <grizonnetm> Guillaume?
[15:06] <guillaume__> I wanted to discuss this point only because Monteverdi will soon be integrated
[15:06] <guillaume__> and it would be the right moment to apply some refactoring on the dashboard scripts,
[15:06] <guillaume__> there was an RFComment in that way
[15:07] <guillaume__> http://wiki.orfeo-toolbox.org/index.php/Request_for_Comments-18:_Factorize_CMake_configuration
[15:08] <jmichel> why not
[15:08] <jmichel> but this sounds like a lot of work
[15:09] <guillaume__> it depends on the final objectives
[15:09] <guillaume__> we could start to standardize things between different platforms
[15:10] <guillaume__> for me, the benefit would be to have simpler scripts.
[15:10] <jmichel> ok
[15:11] <jmichel> others, do you have an opinion on this ?
[15:12] <cresson> not reall
[15:12] <cresson> y
[15:12] <guillaume__> Victor should have an opinion since he wrote the RFC
[15:13] <grizonnetm> not really also
[15:13] <grizonnetm> agree that ITK got simpler scripts: https://open.cdash.org/viewNotes.php?buildid=4534145
[15:14] <grizonnetm> don't know if it is because they use more standard directory organizations of if it is because they've got less cmake options as OTB :)
[15:15] <grizonnetm> I agree however on the fact that Config in OTB-DevUtils is really messy
[15:15] <grizonnetm> with lots of old platforms and scripts that can be removed
[15:15] <guillaume__> +1 for cleaning
[15:16] <rkm_> i did some work on adding scripts for windows and travis which was interersting
[15:16] <rkm_> the idea was to force "xdk" and a single dashboard cmake file dashboard.cmake
[15:17] <rkm_> with two launcher scripts
[15:17] <rkm_> dashboard.sh and dashboard.bat
[15:17] <rkm_> and that was end of my configuraiton. infact dashboard.bat i used in two windows without a less mess ups!
[15:19] <grizonnetm> so let's restart the discussion on otb-developers about this (difficult to discuss here without Victor who wrote the RFC IMHO)
[15:19] <jmichel> +1 for cleaning there are so much files in OTB-DevUtils/Config
[15:19] <jmichel> Victor is arriving
[15:20] == VictorPoughon [c2c7ac23@gateway/web/freenode/ip.194.199.172.35] has joined #otb
[15:20] <jmichel> tadaaa
[15:20] <cresson> hi Victor
[15:20] <VictorPoughon> hi everyone
[15:22] <guillaume__> hi Victor, we were talking about Dashboard script factorization
[15:22] <VictorPoughon> ok
[15:23] <guillaume__> I proposed that, once Monteverdi is merged, it would be the right time to look at it
[15:23] <guillaume__> we all agreed that, at least, some cleaning can be done in DevUtils/Config
[15:24] <grizonnetm> good
[15:25] <VictorPoughon> Yes maybe. Another idea to put on the table is to leverage the superbuild much more. Because dpeendency installation and updating is a big part of build servers maintenance, using the superbuild to standardize it accross plateforms could save a lot of manpower
[15:25] <VictorPoughon> So we'd create a SuperBuild-ThirdPartyTrunk branch for example
[15:26] <VictorPoughon> Although it could be argued that the heterogeneity of build server is a feature not a bug
[15:26] <VictorPoughon> I don't know
[15:27] <guillaume__> I think the heterogeneity of build servers is what we want
[15:28] <guillaume__> (regarding configuration and dependencies)
[15:28] <rkm_> agreed with guillaume, what we need to test is OTB and version  of dependenceis listed in superbuild works with OTB. if ossim/gdal/... has issue with gcc 3.3/gcc8 that is a another problem
[15:28] <VictorPoughon> So is using system dependencies as much as possible a requirement for the dashboard infrastructure? In order to maximize the number of difference configurations?
[15:28] <grizonnetm> Think we need to keep this heterogeneity
[15:29] <rkm_> tests failing due to version problem in dependencies is not fun.
[15:29] <rkm_> it is funny!
[15:30] <grizonnetm> for me submissions should use a maximum of system dependencies
[15:31] <grizonnetm> apart from superbuild submissions which should compile most third party (default behavior of the superbuild)
[15:32] <rkm_> using a variety of sys dependencies was most of reason we have failing test and multi-baslines
[15:32] <VictorPoughon> But currently some plateforms (pc-christophe for example) use a lot of non system dependencies which are configured, updated and built by shell scripts. In the end we are re-writing a poor clone of CMake's add_ExternalProject, which is itself a half-brother of apt-get/yum.
[15:32] <rkm_> and finally test may fail with superbuild because baseline is working a verision of gdal or hdf which nobody knows which version
[15:33] <guillaume__> Even if our all-in-one package solve a lot of portability issues, it would be nice to ensure OTB can work with the official environment
[15:33] <jmichel> I would like to suggest that we solely support gentoo starting 5.8
[15:33] <jmichel> emerge otb
[15:33] <jmichel> and that is it
[15:33] <rkm_> what about "OTB works with most of version of external dependencies. Not everything is tested
[15:34] <guillaume__> Problems with test and baselines are also linked with the testing strategy that should be more independant from 3rd parties
[15:34] <rkm_> see a dozen deps and keeping track of N versions of everything is itself is a lot of developer work for 1% of beneifit
[15:35] <rkm_> @julien, does gentoo has "only free software license" policy?
[15:36] <jmichel> on the other hand, if we only keep superbuild versions, we can not foresee and correct problems related to other versions
[15:36] <VictorPoughon> jmichel: we could with a SuperBuild-ThirdPartyTrunk, which does "git clone master" for all dependencies
[15:37] <VictorPoughon> maybe?
[15:37] <jmichel> the problem is if one is broken, everything is
[15:38] <jmichel> for instance it is a good thing that OTB is both compatible with gdal 1.X and 2.X
[15:38] <jmichel> but that needs to be tested, otherwise ...
[15:38] <VictorPoughon> jmichel: oh yes then we go crazy and make a [SuperBuild-trunk-X branch for X in (all of OTB dependencies)]
[15:39] <VictorPoughon> And the SuperBuild-trunk-all branch is a git octopus merge of all the above
[15:40] <rkm_> for sanity (not for me). I would say support only superbuild versions. if  there is an issue is itk trunk , we don't know. but we will when they release it and we add it in superbuild
[15:40] <rkm_> i mean there is a RFC for update of thirdparties in SB. so we might know
[15:40] <rkm_> if we go trunk, we must go from gcc, -> muparserx. so for sanity i won't say that
[15:41] <VictorPoughon> rkm_: why gcc?
[15:41] <rkm_> having a bug discovered in itk, ossim, gdal trunk is rare and mostly get fixed before release
[15:41] <rkm_> why not gcc?
[15:41] <rkm_> recently i got a bug from libdl?
[15:41] <VictorPoughon> I mean why to you say we must "go from gcc"?
[15:41] <rkm_> can you imagine testing that on dashboard
[15:42] <rkm_> the problem is where do we draw a line and say NO.
[15:42] <rkm_> that is my point, the bug in itk trunk might be from gcc6 or maybe some other libs
[15:42] <rkm_> to sumup, what we gain vs what we spent is to be looked
[15:43] <rkm_> the gain must be lower than cost
[15:43] <rkm_> cost is money or develoepr time or whatever
[15:43] <VictorPoughon> rkm_: +1
[15:43] <jmichel> maybe this is a bit of topic wrt "shall we cleanup and reorganize dashboard scripts ?"
[15:44] <guillaume__> yes, the initial topic was not about changing the dashboard strategy
[15:44] <rkm_> we can keep discss further on list or irc afer irc meeting
[15:45] <VictorPoughon> My main issue I think is that there is duplicated code between the superbuild's add_externalproject and each platforms' update_gdal.sh (& co). So I think a policy like "build servers may use either SuperBuild or system dependencies, but nothing else (i.e. no manual update/configure)" would be a good idea
[15:45] <jmichel> VictorPoughon: +1
[15:46] <jmichel> that makes sense : either superbuild or system lib
[15:46] <grizonnetm> ok
[15:46] <grizonnetm> can we move to the next topic?
[15:46] <jmichel> actually, that may be 2 kinds of superbuild builds : use as much/as many system deps
[15:47] <VictorPoughon> jmichel: yes something like that
[15:47] <guillaume__> ok
[15:48] <grizonnetm> GRM and LSGRM integration
[15:48] <jmichel> cresson, glad you are here
[15:48] <jmichel> I think we should have both integrated in OTB
[15:49] <jmichel> to give them correct exposure (cf. mails on otb-users)"
[15:49] <cresson> yes but LSGRM is still buggy
[15:49] <jmichel> how much buggy ?
[15:50] <jmichel> we can start a feature branch, and it will be tested nightly
[15:50] <cresson> segmentation output are not 100% identical as they should be, I am still investigationg this bug
[15:50] <jmichel> ok
[15:50] <jmichel> but is it really blocking
[15:50] <jmichel> ?
[15:50] <cresson> more critical is its depend of tiling layout
[15:51] <cresson> as the output segmentation is not fully reproductile (i.e different tiling layout but same parameters) I would say yes it is blocking
[15:52] <jmichel> ok
[15:52] <jmichel> but maybe we can work together on that
[15:52] <cresson> absolutely
[15:52] <jmichel> I think having both LSMS and LSGRM would be great
[15:53] <cresson> yes, and now LSGRM depends GRM wich is great
[15:53] <jmichel> can we plan this for 5.10 ?
[15:53] <jmichel> we might be a bit short for 5.8
[15:53] <cresson> developpers can also implement their own criterion using Pierre's template of GRM and extend it to LSGRM
[15:53] <cresson> yes 5.10
[15:53] <jmichel> or maybe 5.10 = 6.0 ?
[15:54] <VictorPoughon> in base 4 maybe
[15:55] <jmichel> ok so that is settled for LSGRM
[15:56] <jmichel> One small thing I would like to discuss is C++11 / OpenMP support
[15:56] <jmichel> we will soon have modules that only work with C++11
[15:56] <jmichel> and also modules that would rather be used with OpenMP
[15:57] <jmichel> I was looking for a mechanism to activate C++11 / OpenMP automatically if available
[15:57] <jmichel> and that disables modules that depend on them if not
[15:57] <jmichel> my first idea was to have OpenMP and C++11 as third party modules
[15:57] <jmichel> but that does not work
[15:57] <guillaume__> that looks like the 3rd party mechanism
[15:57] <jmichel> no
[15:58] <jmichel> because to activate openmp / C++11, you need to set compiler flags at project level
[15:58] <jmichel> and that is something that can not be done in the cmake of a module
[15:59] <cresson> and setting flags inside incriminated modules?
[15:59] <jmichel> I think this is not safe
[16:00] <jmichel> if you build OTB with C++11, everything should be built with it, and the FindOTB.cmake should even check for C++11
[16:00] <guillaume__> Then we could extend a bit the module mechanism, to handle REQUIRED_FLAGS in otb-module.cmake
[16:01] <grizonnetm> moreover I think that with cmake  you can not be changed CMAKE_CXX_COMPILER options after the first cmake or ccmake run
[16:01] <grizonnetm> see https://cmake.org/Wiki/CMake_Useful_Variables#Compilers_and_Tools
[16:01] <jmichel> compiler no, but flags you can
[16:01] <jmichel> guillaume__: that would be a start
[16:02] <jmichel> the other thing would be to activate c++11 openMP if available
[16:02] <guillaume__> I think we can test C++11 support using cmake try_compile
[16:02] <guillaume__> same for OpenMP
[16:04] <jmichel> guillaume__: there is actually a FindOpenMP.cmake that does that
[16:04] <jmichel> but do we activate by default ?
[16:05] <guillaume__> It is enabled to compile SiftFast
[16:06] <guillaume__> I don't think it is propagated to OTB project
[16:08] <guillaume__> what is the risk of enabling it by default ?
[16:10] <jmichel> we will not be able to build otb without it ?
[16:10] <jmichel> maybe someone will want to ?
[16:13] <jmichel> ok will see
[16:13] <guillaume__> If we have an option to disable it, this should be ok
[16:13] <jmichel> next topic ?
[16:14] <cresson> ok
[16:14] <guillaume__> Merging courses into the cookbook
[16:14] <VictorPoughon> +1 but that yields the issue of cookbook i18n
[16:15] <jmichel> yes
[16:16] <guillaume__> +1
[16:16] <VictorPoughon> And also polute the git log quite a bit because typically otb-documents/Courses activity is much more active than develop. So I have mixed feelings actually
[16:18] <VictorPoughon> still +1 for me
[16:18] <guillaume__> The commit prefix will become essential to separate code from documentation
[16:18] <guillaume__> all commits to SG, CB and courses should be "DOC: ...."
[16:19] <VictorPoughon> Another way to filter is by directory: "git log Documentation/" will for fine
[16:19] <jmichel> also we would need to org->latex->rst->wtf
[16:19] <VictorPoughon> my guess is pandoc can do org->rst directly
[16:20] <grizonnetm> or this: https://github.com/masayuko/ox-rst
[16:20] <VictorPoughon> ok I can take that action since I worked on cookbook recently
[16:20] <grizonnetm> also have mixed feeling to polute develop branch with commits related to the documentation...
[16:20] <grizonnetm> but let's see how it works
[16:22] <jmichel> git squash ?
[16:22] <VictorPoughon> git aubergine
[16:22] <jmichel> to avoid commits fixing typos & co
[16:25] <VictorPoughon> next topic?
[16:25] <grizonnetm> next RM?
[16:27] <VictorPoughon> any volunters?
[16:27] <cresson> I would be, but I will not be here between 8->24 oct and also 7->11 nov
[16:27] <jmichel> we should have a rule such as lower nb of lines of code in last release
[16:27] <rkm_> so i can't be
[16:28] <VictorPoughon> jmichel: rm * wins then
[16:28] <grizonnetm> I can be the next RM
[16:29] <VictorPoughon> +1 for grizonnetm  and cresson as backup
[16:29] <cresson> ok
[16:29] <cresson> +1
[16:29] <guillaume__> +1
[16:29] <jmichel> +1
[16:29] <grizonnetm> thanks
[16:29] <VictorPoughon> thanks all
[16:29] <cresson> next one, I'll take the shot
[16:29] <jmichel> bye
[16:29] <jmichel> thanks
[16:29] <grizonnetm> I've to go
[16:30] <grizonnetm> bye