llnl / llnl/libROM

Names collision

Open
#156 2 comments 0 reactions 1 assignee View on GitHub

@pranav-vempati is already working on this.

Since Nov 10, 2022.

Dominant language
C++
Stars
236
Forks
47
PR merge metrics
No merged PRs in 30d

Description

Hey guys!

This is somehow related with https://github.com/LLNL/libROM/pull/154. You have a folders structure/naming problem. To explain that, let's consider lib/linalg/BasisWriter.h:16:

#include "utils/Database.h"

Since you are using quotes, the compiler is first looking for Database.h on lib/linalg/utils/. When that fails (because such folder does not exist), it start looking all around the include paths. Of course, the probabilities of having some other library with a utils/Database.h header file are large.

That names collision would be a problem while compiling the library, which might be eventually fixed by the user (if he really knows what he is doing). But of course that is unacceptable when installing the library.

The easiest solution is renaming the lib/ folder as libROM/, and replacing those includes (where the relative path is not working) by something like #include "libROM/utils/Database.h". It is still not a perfect solution, since collisions might yet happens with the installed library itself, but it is much safer.

Otherwise, you need to rethink the folders structure, so just subfolders are considered

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.