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

[BUILD] Fails to build with opentimelineio-0.15 #2201

Closed
yurivict opened this issue Mar 25, 2023 · 3 comments
Closed

[BUILD] Fails to build with opentimelineio-0.15 #2201

yurivict opened this issue Mar 25, 2023 · 3 comments
Labels
Building/Packaging Compile or install issues (excluding CI) Triage This issue is yet to be triaged

Comments

@yurivict
Copy link

Commit Hash 8ca1672

Platform FreeBSD 13.1

Summary

ld: error: undefined symbol: opentimelineio::v1_0::Timeline::Timeline(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<opentime::v1_0::RationalTime>, opentimelineio::v1_0::AnyDictionary const&)
>>> referenced by saveotio.cpp
>>>               app/CMakeFiles/libolive-editor.dir/task/project/saveotio/saveotio.cpp.o:(olive::SaveOTIOTask::SerializeTimeline(olive::Sequence*))

ld: error: undefined symbol: opentimelineio::v1_0::Track::Track(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<opentime::v1_0::TimeRange> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, opentimelineio::v1_0::AnyDictionary const&)
>>> referenced by saveotio.cpp
>>>               app/CMakeFiles/libolive-editor.dir/task/project/saveotio/saveotio.cpp.o:(olive::SaveOTIOTask::SerializeTrack(olive::Track*, double, olive::core::rational))

ld: error: undefined symbol: opentimelineio::v1_0::Clip::Clip(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, opentimelineio::v1_0::MediaReference*, std::__1::optional<opentime::v1_0::TimeRange> const&, opentimelineio::v1_0::AnyDictionary const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
>>> referenced by saveotio.cpp
>>>               app/CMakeFiles/libolive-editor.dir/task/project/saveotio/saveotio.cpp.o:(olive::SaveOTIOTask::SerializeTrack(olive::Track*, double, olive::core::rational))

ld: error: undefined symbol: opentimelineio::v1_0::ExternalReference::ExternalReference(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::optional<opentime::v1_0::TimeRange> const&, opentimelineio::v1_0::AnyDictionary const&, std::__1::optional<Imath_3_1::Box<Imath_3_1::Vec2<double> > > const&)
>>> referenced by saveotio.cpp
>>>               app/CMakeFiles/libolive-editor.dir/task/project/saveotio/saveotio.cpp.o:(olive::SaveOTIOTask::SerializeTrack(olive::Track*, double, olive::core::rational))
c++: error: linker command failed with exit code 1 (use -v to see invocation)
@yurivict yurivict added Building/Packaging Compile or install issues (excluding CI) Triage This issue is yet to be triaged labels Mar 25, 2023
@itsmattkc itsmattkc closed this as not planned Won't fix, can't repro, duplicate, stale Mar 26, 2023
@yurivict
Copy link
Author

Why?

@parona-source
Copy link
Contributor

The issue is probably opentimelineio being built as cxx11, basic_string which is used in its interfaces was changed in cxx17 and as olive is built as cxx17 it then needs opentimelineio to also be built as it.

Building opentimelineio as cxx17 might also be problematic if you have something else that requires opentimelineio but is built as cxx11.

@itsmattkc
Copy link
Contributor

This is correct actually. We use OTIO 0.15 without problems on our CI, but since Olive uses C++17, OTIO must also be compiled as C++17 (configured with CMake flag -DCMAKE_CXX_STANDARD=17) to prevent conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Building/Packaging Compile or install issues (excluding CI) Triage This issue is yet to be triaged
Projects
None yet
Development

No branches or pull requests

3 participants