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

Unable to build current master with old installation - patch included #1522

Closed
robpieke opened this issue Oct 7, 2016 · 2 comments
Closed

Comments

@robpieke
Copy link

robpieke commented Oct 7, 2016

Problem

I previously built and locally installed OIIO. After a "git pull" many moons later, the headers had changed, but the CMake setup was looking in my local installation directory first and the git source directory second. As such, it was combining old headers with new source and reporting unhappiness to the shell.

For example:
/Users/robpieke/dev/github/oiio/src/libutil/argparse.cpp:540:11: error: out-of-line definition of 'briefusage' does not match any declaration in 'OpenImageIO::v1_6::ArgParse'

This (ensuring the source headers come first) seems to resolve it for me:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 59c722b..6c98309 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -359,6 +359,7 @@ include (external packages


 include_directories (
+    BEFORE
     "${CMAKE_SOURCE_DIR}/src/include"
     "${CMAKE_BINARY_DIR}/include/OpenImageIO"
   )
@lgritz
Copy link
Collaborator

lgritz commented Oct 10, 2016

Makes sense to me. I'll make that change, thanks for the suggestion!

lgritz added a commit to lgritz/OpenImageIO that referenced this issue Oct 10, 2016
This ensures that the local include directories are considered before
any system directories, which avoids confusion if there are conflicting
versions of OIIO installed elsewhere.

Fixes AcademySoftwareFoundation#1522
@lgritz
Copy link
Collaborator

lgritz commented Oct 10, 2016

Fix turned into PR #1524

lgritz added a commit to lgritz/OpenImageIO that referenced this issue Oct 10, 2016
This ensures that the local include directories are considered before
any system directories, which avoids confusion if there are conflicting
versions of OIIO installed elsewhere.

Fixes AcademySoftwareFoundation#1522
lgritz added a commit that referenced this issue Oct 10, 2016
This ensures that the local include directories are considered before
any system directories, which avoids confusion if there are conflicting
versions of OIIO installed elsewhere.

Fixes #1522
lgritz added a commit that referenced this issue Oct 10, 2016
This ensures that the local include directories are considered before
any system directories, which avoids confusion if there are conflicting
versions of OIIO installed elsewhere.

Fixes #1522
GerHobbelt pushed a commit to GerHobbelt/oiio that referenced this issue Dec 10, 2024
…reFoundation#1522)

* * Fix add_test in cmake files. This notation allows it to understand that the command portion is a target and to translate it to the proper executable.
* Remove starting backslash if present from temporary filename. A starting backslash mean that it is safe to create it in the current working directory.
* Implement a public TempFile class.
* Change relevant tests to use TempFile class.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

* * Revert back changes for TempFile class.
* Add comment on temporary file functions fix.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

* Add FIXME comments.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

* Add -C flag to ctest commands.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

* Add `-C Release` to ctest commands in `analysis_workflow.yml`.

Signed-off-by: Patrick Northon <northon_patrick3@yahoo.ca>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>
Co-authored-by: Rémi Achard <remiachard@gmail.com>
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

2 participants