It would be great, probably better than the current integration in python for many users. The way is writing an R package equivalent to rgrass7, rsaga, gdalUtils, gdalUtilities... I will raise the point in the sig-geo R list. Best, Agus
On Thu, Dec 20, 2018 at 3:10 PM Jordi Inglada <[email protected]> wrote: > > On Thu 20-Dec-2018 at 14:57:38 +01, Agustin Lobo <[email protected]> > wrote: > > Solved by following your advice! > > After uninstalling all otb* items with synaptic, just starting the script > > with > > . /home/alobo/OTB-6.6.0-Linux64/otbenv.profile > > let otbcli* and otbcli_BandMathX work fine from within R > > > > I think you should ask for official R bindings for OTB. I will ask for Julia > and Haskell ;) > > > Thanks! > > > > Agus > > > > On Thu, Dec 20, 2018 at 1:42 PM Jordi Inglada <[email protected]> > > wrote: > >> > >> > >> I think that the remaining problem comes from the fact that you have OTB > >> libraries in /usr/lib/x86_64-linux-gnu/. This is why I suggest avoiding > >> packages from the distribution. > >> > >> Your LD_LIBRARY_PATH contains /usr/lib/x86_64-linux-gnu/ and does not > >> contain /home/alobo/OTB-6.6.0-Linux64/lib where the good library is > >> located. > >> > >> The fact that the correct otbcli_* is found is misleading, because the > >> command line applications are just wrappers for shared libs. > >> > >> On Thu 20-Dec-2018 at 13:02:13 +01, Agustin Lobo <[email protected]> > >> wrote: > >> > Thanks. > >> > ok, I can solve the source problem, but not the main problem. If my > >> > script is just > >> > . /home/alobo/OTB-6.6.0-Linux64/otbenv.profile > >> > echo $OTB_APPLICATION_PATH > >> > echo $LD_LIBRARY_PATH > >> > which otbcli > >> > which otbcli_BandMathX > >> > > >> > I run from within R with system() and get: > >> >> system("sh /home/alobo/test.scr", intern=TRUE) > >> > [1] "/home/alobo/OTB-6.6.0-Linux64/lib/otb/applications" > >> > [2] > >> > "/usr/lib/R/lib::/lib:/usr/lib/x86_64-linux-gnu:/usr/lib/jvm/default-java/lib/server" > >> > [3] "/home/alobo/OTB-6.6.0-Linux64/bin/otbcli" > >> > [4] "/home/alobo/OTB-6.6.0-Linux64/bin/otbcli_BandMathX" > >> > > >> > which is correct. > >> > > >> > But the poblem with otbcli_BandMathX remains. As soon as I add > >> > otbcli_BandMathX > >> > . /home/alobo/OTB-6.6.0-Linux64/otbenv.profile > >> > echo $OTB_APPLICATION_PATH > >> > echo $LD_LIBRARY_PATH > >> > which otbcli > >> > which otbcli_BandMathX > >> > otbcli_BandMathX > >> > > >> > I get: > >> > > >> >> system("sh /home/alobo/test.scr", intern=TRUE) > >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbApplicationLauncherCommandLine: > >> > symbol lookup error: /usr/lib/x86_64-linux-gnu/libOTBCommon-6.6.so.1: > >> > undefined symbol: > >> > _ZN3itk10LoggerBase5WriteENS0_17PriorityLevelTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE > >> > Error in system("sh /home/alobo/test.scr", intern = TRUE) : > >> > error in running command > >> > > >> > Same problem for otbcli commands (which are now > >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbcli) > >> > > >> > So, something else has to be set for these commands to work from > >> > within R, both otbcli and otbcli_BandMathX run ok from the terminal. > >> > What could be different between this version and the older one that > >> > actually works from within R? > >> > > >> > Agus > >> > > >> > On Thu, Dec 20, 2018 at 11:37 AM Jordi Inglada <[email protected]> > >> > wrote: > >> >> > >> >> > >> >> The problem you have when sourcing from R is that "source" is not a > >> >> command, but a built-in bash function which may not be available. > >> >> > >> >> Try with '.' instead of source, or include the contents of the config > >> >> script in your scr file. > >> >> > >> >> On Thu 20-Dec-2018 at 11:08:52 +01, Agustin Lobo > >> >> <[email protected]> wrote: > >> >> > Thanks Guillaume. I think I have "environment problems"!! > >> >> > > >> >> > 1. Outside R > >> >> > Whenever I start a shell (Xfce Terminal) I get > >> >> > bash: LD_LIBRARY_PATH: command not found > >> >> > (do not know why and do not know if it matters) > >> >> > > >> >> > Then I do > >> >> > alobo@Delia:~$ echo $OTB_APPLICATION_PATH > >> >> > > >> >> > alobo@Delia:~$ echo $LD_LIBRARY_PATH > >> >> > :/usr/local/lib/otb > >> >> > > >> >> > All otbcli work: > >> >> > alobo@Delia:~$ otbcli > >> >> > Usage: /usr/bin/otbApplicationLauncherCommandLine module_name > >> >> > [MODULEPATH] [arguments] > >> >> > > >> >> > But > >> >> > alobo@Delia:~$ which otbcli > >> >> > /usr/bin/otbcli > >> >> > > >> >> > And BandMathX does not work: > >> >> > alobo@Delia:~$ BandMathX > >> >> > bash: BandMathX: command not found > >> >> > > >> >> > BandMathX works if I use the path: > >> >> > alobo@Delia:~$ /home/alobo/OTB-6.6.0-Linux64/bin/otbcli_BandMathX > >> >> > ERROR: Waiting for at least one parameter. > >> >> > etc > >> >> > > >> >> > Then I do > >> >> > alobo@Delia:~$ source /home/alobo/OTB-6.6.0-Linux64/otbenv.profile > >> >> > alobo@Delia:~$ echo $OTB_APPLICATION_PATH > >> >> > /home/alobo/OTB-6.6.0-Linux64/lib/otb/applications > >> >> > alobo@Delia:~$ echo $LD_LIBRARY_PATH > >> >> > :/usr/local/lib/otb > >> >> > > >> >> > Which sets the path for the new version > >> >> > alobo@Delia:~$ which otbcli > >> >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbcli > >> >> > alobo@Delia:~$ which otbcli_BandMathX > >> >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbcli_BandMathX > >> >> > > >> >> > 2. Given test.scr > >> >> > source /home/alobo/OTB-6.6.0-Linux64/otbenv.profile > >> >> > echo $OTB_APPLICATION_PATH > >> >> > echo $LD_LIBRARY_PATH > >> >> > otbcli > >> >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbcli_BandMathX > >> >> > > >> >> > Running from within R with system("sh /home/alobo/test.scr") I get: > >> >> > > >> >> > /home/alobo/test.scr: 1: /home/alobo/test.scr: source: not found > >> >> > Usage: /usr/bin/otbApplicationLauncherCommandLine module_name > >> >> > [MODULEPATH] [arguments] > >> >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbApplicationLauncherCommandLine: > >> >> > symbol lookup error: /usr/lib/x86_64-linux-gnu/libOTBCommon-6.6.so.1: > >> >> > undefined symbol: > >> >> > _ZN3itk10LoggerBase5WriteENS0_17PriorityLevelTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE > >> >> > Error in system("sh /home/alobo/test.scr", intern = TRUE) : > >> >> > error in running command > >> >> > > >> >> > So, from within R, otbcli commands work, > >> >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbcli_BandMathX does not work > >> >> > source is unknown (!!!??) > >> >> > > >> >> > I think I have found a clue, because > >> >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbcli > >> >> > does not work either from within R (same error as otbcli_BandMathX) > >> >> > so the otbcli that is run from within R is a different one. > >> >> > > >> >> > Running an script with > >> >> > echo $OTB_APPLICATION_PATH > >> >> > echo $LD_LIBRARY_PATH > >> >> > which otbcli > >> >> > > >> >> > from within R results in: > >> >> > [1] "" > >> >> > [2] > >> >> > "/usr/lib/R/lib::/lib:/usr/lib/x86_64-linux-gnu:/usr/lib/jvm/default-java/lib/server" > >> >> > [3] "/usr/bin/otbcli" > >> >> > > >> >> > Which means I have an older otbcli that is the one actually working > >> >> > from within R (but otbcli_BandMatX did not exist yet), > >> >> > and I have a problem for running the new version OTB-6.6.0-Linux64 > >> >> > from within R because I cannot source otbenv.profile > >> >> > from within R, but why??? > >> >> > > >> >> > Any help appreciated... > >> >> > Agus > >> >> > > >> >> > On Wed, Dec 19, 2018 at 6:00 PM PASERO Guillaume > >> >> > <[email protected]> wrote: > >> >> >> > >> >> >> Hi, > >> >> >> > >> >> >> I would say it is a conflict between your standalone package > >> >> >> '/home/alobo/OTB-6.6.0-Linux64' and your system OTB libs > >> >> >> '/usr/lib/x86_64-linux-gnu/libOTBCommon-6.6.so.1'. > >> >> >> > >> >> >> Maybe add some prints in the ./tmp/test.scr script to check the > >> >> >> content of variables like OTB_APPLICATION_PATH, LD_LIBRARY_PATH, just > >> >> >> before calling otbcli_BandMathX > >> >> >> > >> >> >> Regards, > >> >> >> Guillaume > >> >> >> > >> >> >> Quoting Agustin Lobo <[email protected]>: > >> >> >> > >> >> >> > In order to run otbcli* commands from within R, I normally use the > >> >> >> > R > >> >> >> > system() command that let run any system command as if it were on > >> >> >> > the > >> >> >> > terminal. > >> >> >> > > >> >> >> > For otbcli_BandMathX I have a problem. I write from within R a > >> >> >> > simple > >> >> >> > text file with the following script (as ./tmp/test.scr) > >> >> >> > > >> >> >> > source /home/alobo/OTB-6.6.0-Linux64/otbenv.profile > >> >> >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbcli_BandMathX -il ima1.tif > >> >> >> > ima2.tif -out result.tif -exp 'im1 div im2' > >> >> >> > > >> >> >> > and then try to execute with > >> >> >> > system("sh ./tmp/test.scr") > >> >> >> > > >> >> >> > But surprisingly I get a weird error: > >> >> >> > > >> >> >> > /home/alobo/OTB-6.6.0-Linux64/bin/otbApplicationLauncherCommandLine: > >> >> >> > symbol lookup error: > >> >> >> > /usr/lib/x86_64-linux-gnu/libOTBCommon-6.6.so.1: > >> >> >> > undefined symbol: > >> >> >> > _ZN3itk10LoggerBase5WriteENS0_17PriorityLevelTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE > >> >> >> > > >> >> >> > I can run > >> >> >> > sh ./tmp/test.scr > >> >> >> > on the terminal with no problems. > >> >> >> > > >> >> >> > Does this error mean anything to you? > >> >> >> > I'm not trying that you solve an R problem, but I guess this is > >> >> >> > rather > >> >> >> > a problem with otbcli_BandMathX, because the same approach works > >> >> >> > for > >> >> >> > the rest of otbcli* commands. > >> >> >> > > >> >> >> > Agus > >> >> >> > > >> >> >> > -- > >> >> >> > -- > >> >> >> > Check the OTB FAQ at > >> >> >> > http://www.orfeo-toolbox.org/FAQ.html > >> >> >> > > >> >> >> > You received this message because you are subscribed to the Google > >> >> >> > Groups "otb-users" group. > >> >> >> > To post to this group, send email to [email protected] > >> >> >> > To unsubscribe from this group, send email to > >> >> >> > [email protected] > >> >> >> > For more options, visit this group at > >> >> >> > http://groups.google.com/group/otb-users?hl=en > >> >> >> > --- > >> >> >> > You received this message because you are subscribed to the Google > >> >> >> > Groups "otb-users" group. > >> >> >> > To unsubscribe from this group and stop receiving emails from it, > >> >> >> > send an email to [email protected]. > >> >> >> > For more options, visit https://groups.google.com/d/optout. > >> >> >> > >> >> >> > >> >> >> -- > >> >> >> -- > >> >> >> Check the OTB FAQ at > >> >> >> http://www.orfeo-toolbox.org/FAQ.html > >> >> >> > >> >> >> You received this message because you are subscribed to the Google > >> >> >> Groups "otb-users" group. > >> >> >> To post to this group, send email to [email protected] > >> >> >> To unsubscribe from this group, send email to > >> >> >> [email protected] > >> >> >> For more options, visit this group at > >> >> >> http://groups.google.com/group/otb-users?hl=en > >> >> >> --- > >> >> >> You received this message because you are subscribed to the Google > >> >> >> Groups "otb-users" group. > >> >> >> To unsubscribe from this group and stop receiving emails from it, > >> >> >> send an email to [email protected]. > >> >> >> For more options, visit https://groups.google.com/d/optout. > >> >> > > >> >> > -- > >> >> > >> >> -- > >> >> -- > >> >> Check the OTB FAQ at > >> >> http://www.orfeo-toolbox.org/FAQ.html > >> >> > >> >> You received this message because you are subscribed to the Google > >> >> Groups "otb-users" group. > >> >> To post to this group, send email to [email protected] > >> >> To unsubscribe from this group, send email to > >> >> [email protected] > >> >> For more options, visit this group at > >> >> http://groups.google.com/group/otb-users?hl=en > >> >> --- > >> >> You received this message because you are subscribed to the Google > >> >> Groups "otb-users" group. > >> >> To unsubscribe from this group and stop receiving emails from it, send > >> >> an email to [email protected]. > >> >> For more options, visit https://groups.google.com/d/optout. > >> > > >> > -- > >> > >> -- > >> -- > >> Check the OTB FAQ at > >> http://www.orfeo-toolbox.org/FAQ.html > >> > >> You received this message because you are subscribed to the Google > >> Groups "otb-users" group. > >> To post to this group, send email to [email protected] > >> To unsubscribe from this group, send email to > >> [email protected] > >> For more options, visit this group at > >> http://groups.google.com/group/otb-users?hl=en > >> --- > >> You received this message because you are subscribed to the Google Groups > >> "otb-users" group. > >> To unsubscribe from this group and stop receiving emails from it, send an > >> email to [email protected]. > >> For more options, visit https://groups.google.com/d/optout. > > > > -- > > -- > -- > Check the OTB FAQ at > http://www.orfeo-toolbox.org/FAQ.html > > You received this message because you are subscribed to the Google > Groups "otb-users" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/otb-users?hl=en > --- > You received this message because you are subscribed to the Google Groups > "otb-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- -- Check the OTB FAQ at http://www.orfeo-toolbox.org/FAQ.html You received this message because you are subscribed to the Google Groups "otb-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/otb-users?hl=en --- You received this message because you are subscribed to the Google Groups "otb-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
