Thank you for your kind remarks - I will do my best to fix this hack. I was not familiar Makevars/Lapack - a good example would be useful.
I will also provide example tests, no problem. Jonathan ========================================== Prof. Jonathan M. Lees Chair, Department of Geological Sciences CB #3315, Mitchell Hall University of North Carolina Chapel Hill, NC 27599-3315 (919) 962-1562 (919) 962-3869 (Chair Office) FAX (919) 966-4519 jonathan_l...@unc.edu http://www.unc.edu/~leesj ========================================== On 5/5/15, 4:07 AM, "Berend Hasselman" <b...@xs4all.nl> wrote: > >> On 04-05-2015, at 22:22, Simon Urbanek <simon.urba...@r-project.org> >>wrote: >> >> You may want to report to the maintainer - the GSVD sources have the >>following which is completely broken: >> >>> GSVD >> function (A, B) >> { >> SS = Sys.info() >> ssysname = SS[[1]] >> if (ssysname == "Linux") { >> lpath = paste(R.home(), "/lib/libRlapack.so", sep = "") >> } >> else { >> lpath = paste(R.home(), "lib/i386/libRlapack.dylib", >> sep = "") >> } >> [...] >> dyn.load(lpath) >> >> It seems like the author failed to use the proper flags for linking >>LAPACK and then tried to hack around it in a horrible way that doesn't >>really work. >> >> I suppose this happens when you don't even have a single test that a >>particular function works otherwise CRAN checks would not allow it in... > >Correct. > >And there is another issue with GSVD: it uses .Fortran to call the Lapack >routine dggsvd with as.character(..) for the dggsvd >Fortran character arguments. This is not guaranteed to work on all >platforms. >I ran into this with my package geigen. > >A solution is to write a wrapper around dggsvd in Fortran that accepts >integer arguments for the JOB? options and converts these in the Fortran >wrapper to the appropriate Lapack characters. You can then use a Makevars >file to specify that your fortran code needs the Lapack library which >would save you from the error prone method in PEIP. > >And test your function that it works and is able to handle input errors. > >Berend > _______________________________________________ R-SIG-Mac mailing list R-SIG-Mac@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac