octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #50463] gsvd implementation uses functions rem


From: Rik
Subject: [Octave-bug-tracker] [bug #50463] gsvd implementation uses functions removed from lapack >= 3.6.0
Date: Thu, 23 Nov 2017 18:57:09 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Follow-up Comment #13, bug #50463 (project octave):

It appears that a runtime check can be implemented, but there will need to be
separate code for Windows and UNIX-like operating systems.


#if defined (OCTAVE_USE_WINDOWS_API)
  // Windows stuff
#else
  // UNIX stuff
#endif


For the UNIX side, the code below should work to create a persistent variable
that is evaluated only once and can then be used as a conditional around
blocks of code.


static bool have_DGGSVD3 = (dlsym (RTLD_DEFAULT, STRINGIZE (F77_FUNC (dggsvd3,
DGGSVD3))) == nullptr);


For Windows, it appears that a combination of LoadLibrary/GetProcAddress is
necessary.  See StackOverflow article:
https://stackoverflow.com/questions/42703922/windows-api-call-to-check-if-a-dll-contains-a-particular-procedure#42704262.

Finally, the patch from comment #10 would need to be updated.

Probably the prototypes for both DGGSVD and DGGSVD3 needs to be at the start
of the file just so it will actually compile.  It also probably means
compiling and linking the version of Octave that is exported, say through MXE,
with lapack >= 3.6.0.



    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?50463>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]