Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

devxlib back compatibility broken in 5.3 #174

Open
andreamarini opened this issue Jan 20, 2025 · 2 comments
Open

devxlib back compatibility broken in 5.3 #174

andreamarini opened this issue Jan 20, 2025 · 2 comments
Assignees

Comments

@andreamarini
Copy link
Member

From version 5.3 it is not possible to compile Yambo linking a devxlib version previously compiled (before the merge in 5.3).

Error is

WF_symm_kpoint_incl.f90:51:25:

   51 |  use devxlib,       ONLY:devxlib_conjg_d,devxlib_memcpy_d2d,devxlib_memset_d
      |                         1
Error: Symbol ‘devxlib_conjg_d’ referenced at (1) not found in module ‘devxlib’
WF_symm_kpoint_incl.f90:166:25:

  166 |  use devxlib,       ONLY:devxlib_conjg_d,devxlib_memcpy_d2d,devxlib_memset_d
      |                         1
Error: Symbol ‘devxlib_conjg_d’ referenced at (1) not found in module ‘devxlib’

It would be desiderable to have a check the configure time and/or to create a stamp with the currently installed version in order to force the code to recompile.

As it is now anyone using the pre-compiled libs would'nt be able to compile the code.

@andreamarini andreamarini changed the title devxlib back compatbility broken in 5.3 devxlib back compatibility broken in 5.3 Jan 20, 2025
@andrea-ferretti
Copy link
Member

Hi Andrea,
I think devXlib has changed the interface of devxlib_conjg_d with release 0.8.5 ( see commit 9d11831 for the inclusion into Yambo).

I think the issue you see has to do with the way Yambo stores libraries in lib/external, which does not track the version of the lib (which are updated only rarely)...

Basically, on updates, one would nee to clean lib/external (I agree a more straightforward logic could be implemented)

@sangallidavide
Copy link
Member

Yambo 5.2 did not depend on the deviceXlib library.

Yambo 5.3 is the first release which depends on the deviceXlib library. deviceXlib 0.8.5 is the first version supported.
Anything else was just a transitional version.

More in general, at present, for the internally compiled external libraries, yambo just checks that they exist. It would be better to always check existing external library, regardless of where they come from (e.g. internally compiled or system provided).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants