Skip to content

devxlib back compatibility broken in 5.3 #174

Description

@andreamarini

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.

Activity

  1. changed the title [-]devxlib back compatbility broken in 5.3[/-] [+]devxlib back compatibility broken in 5.3[/+] on Jan 20, 2025
  2. andrea-ferretti commented on Jan 20, 2025

    @andrea-ferretti
    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)

  3. sangallidavide commented on Jan 20, 2025

    @sangallidavide
    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).

  4. StephenSzwiec commented on Feb 11, 2025

    @StephenSzwiec

    Running make core from 5.3 (and current master) fails with the following:

    make[2]: *** [/mmfs1/build/yambo/config/mk/local/rules.mk:15: mod_gpu.o] Error 1
    Fatal Error: Cannot open module file ‘devxlib_environment.mod’ for reading at (1): No such file or directory
    \t[driver] yambo (setup)
    yambo linking failed. Check log/compile_yambo.log
    Fatal Error: Cannot open module file ‘devxlib_environment.mod’ for reading at (1): No such file or directory
    make[1]: *** [config/mk/global/actions/compile_yambo.mk:43: yambo] Error 1
    yambo build failed
    make: *** [Makefile:40: core] Error 1
    

    Can confirm that the internal-libraries devxlib is not building as expected, even when calling make dependencies and make int-libs before

  5. sangallidavide commented on Feb 12, 2025

    @sangallidavide
    Member

    @StephenSzwiec this is a different issue compared to the one reported above.

    Can you attach here the (final part of the) output of log/compile_devxlib.log ?

  6. attacc commented on Feb 18, 2025

    @attacc
    Contributor

    Dear Stephen
    did you download yambo in a new folder or are you doing git pull
    in an already existing yambo? please try from scratch
    best
    Claudio

  7. StephenSzwiec commented on Feb 18, 2025

    @StephenSzwiec

    Dear Yambo contributors @attacc and @sangallidavide,

    Please excuse my confusion regarding this issue not being the correct one to address what I was seeing; I have produced a new issue [#188] relating my logs, findings, and fixes applied. The information related to this was produced after cloning the git repo from scratch, rather than attempting to pull. Thank you for your attention and sorry again for initial misunderstanding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions