Alembic 1.8.0 beta has been released.

87 views
Skip to first unread message

Lucas Miller

unread,
Apr 3, 2021, 3:10:32 PM4/3/21
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
Thanks to your feedback and issues we have a few bug fixes and enhancements.
If no major issues are found, we plan on promoting this to 1.8.0 after
a week or so.

You can grab it here:
https://github.com/alembic/alembic/releases/tag/1.8.0_beta

API:

We are dropping support for the ancient TR1 and expect the compilers to at
least support C++std11, we currently default to C++std14. Because we now
assume at least C++std11, we can remove ALEMBIC_LIB_USES_TR1 and
ALEMBIC_LIB_USES_BOOST and we instead expect the std versions of things like
shared_ptr. (Issue 312)

Python:

Support building python3, and make it the default, to build the bindings
against python2 use: -DUSE_PYALEMBIC=ON -DPYALEMBIC_PYTHON_MAJOR=2

Switch from __nonzero__ to __bool__ for the python3 bindings. (Issue 273)

Workaround the testCollections crash. (Issue 274)

Make the unit tests python 2 and python 3 compatible. (Issue 276)

Rework the python testing framework so they can be run from CMake. (Issue 278)

Switch from next to __next__ for the python3 bindings. (Issue 279)

CMake:

Update the minimum requirement to 3.13

Overhaul to support the recently released Imath 3.
(https://github.com/AcademySoftwareFoundation/Imath)

Lucas

Dorian Fevrier

unread,
Apr 4, 2021, 9:17:28 AM4/4/21
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
This looks like a bump in the good direction, thanks Lucas and everyone involved! Keep the good work!

--
You received this message because you are subscribed to the Google Groups "alembic-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alembic-discussion+unsub...@googlegroups.com.

Lucas Miller

unread,
Apr 6, 2021, 9:36:39 PM4/6/21
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
Based on the feedback from 1.8.0_beta, I've added:

Fix for using Alembic as a 3rd party with Imath 3. (Issue 337)

You can grab it here:
https://github.com/alembic/alembic/releases/tag/1.8.0_beta2

Lucas

Richard Walters

unread,
Apr 10, 2021, 10:53:02 AM4/10/21
to alembic-discussion
Greetings All,

(New member, 1st post.) 

I'm on Mac OS.  One system is Catalina, the other is the M1 Big Sur.  
Python 3.9.4
Homebrew for boost and boost_python.
I have Imath working fine, and I'm going after the Python hooks.

Should I use the beta, or stable ?  Advice ?

On first compile with this beta ... I get the following:

```
-- Found Boost: /usr/local/Cellar/boost/1.75.0_2/lib/cmake/Boost-1.75.0/BoostConfig.cmake (found suitable version "1.75.0", minimum required is "1.53.0")
CMake Error at python/PyAlembic/CMakeLists.txt:50 (MESSAGE):
  Boost VERSION IS TOO OLD.


-- Configuring incomplete, errors occurred!
```

Any words of wisdom appreciated ... I'm kindof new to compiling anything complex.

thanks much,

Richard 

Lucas Miller

unread,
Apr 10, 2021, 6:07:20 PM4/10/21
to alembic-d...@googlegroups.com
Looks like you hit a bug, double checking the docs Boost_Version changed its value in Cmake 3.15.  It looks like Boost_Version_MACRO should be used instead.  

You will likely hit this issue in the latest stable release as well.  I'll get this tested and patched into the 1.8 beta soon.

Thanks,

Lucas

--
You received this message because you are subscribed to the Google Groups "alembic-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alembic-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/alembic-discussion/cbe2e4a7-6b8c-435e-8bb9-7bd29e81e6f1n%40googlegroups.com.

Lucas Miller

unread,
Apr 12, 2021, 1:28:06 PM4/12/21
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
Thanks to your feedback we have pushed out 1.8.0 beta 3 a bug fix and
mentioning a couple of enhancements that were in the previous betas,
but not yet mentioned.

CMake:
Use Boost_VERSION_MACRO instead of Boost_VERSION. (PR 338)

Ogawa:
Better support emscripten and ARM toolchains by using memcpy to avoid
dereferencing non-aligned pointers. (PR 332)

AbcStitcher:
Propagate MetaData from the first of our ordered input archives over to the
stitched output. (PR 324)

You can grab it here:

https://github.com/alembic/alembic/releases/tag/1.8.0_beta3

Richard Walters

unread,
Apr 12, 2021, 1:57:52 PM4/12/21
to alembic-d...@googlegroups.com
Lucas,

Thanks for this update … I get much farther along in the compile process.    I get to the end … but I am still failing during final linking.  (This is getting kind of critical for us, as our working python 2.7 code is now removed from our workstations due to not being supported).  Again, I am on Mac, Catalina.  Using Homebrew:  boost-python3 (version 1.75.0_2), python 3.9.4  Looks like this boost version may be too new with different vtable stuff … I am trying to figure out how to back up to a version of boost that is more compatible - but haven’t figured that out yet.  You may need to update the code to support the latest version of boost for us Mac users.  Let me know if you have any ideas.  Here’s the ERROR message I get at the end: 

NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
 "vtable for boost::python::objects::py_function_impl_base", referenced from:
 boost::python::objects::py_function_impl_base::py_function_impl_base() in PyAbcCoreLayer.cpp.o
 boost::python::objects::py_function_impl_base::py_function_impl_base() in PyAbcTypes.cpp.o
 boost::python::objects::py_function_impl_base::py_function_impl_base() in PyArchiveBounds.cpp.o
 boost::python::objects::py_function_impl_base::py_function_impl_base() in PyArchiveInfo.cpp.o
 boost::python::objects::py_function_impl_base::py_function_impl_base() in PyCameraSample.cpp.o
 boost::python::objects::py_function_impl_base::py_function_impl_base() in PyCoreAbstractTypes.cpp.o
 boost::python::objects::py_function_impl_base::py_function_impl_base() in PyFilmBackXformOp.cpp.o
 ...
 NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [python/PyAlembic/alembic.so] Error 1
make[1]: *** [python/PyAlembic/CMakeFiles/PyAlembic.dir/all] Error 2
make: *** [all] Error 2


Thanks,

Richard Walters

Lucas Miller

unread,
Apr 12, 2021, 2:07:19 PM4/12/21
to alembic-d...@googlegroups.com
Can you submit your issue here?

https://github.com/alembic/alembic/issues

That way I can follow up with questions about how Imath was built, etc.

Lucas
> --
> You received this message because you are subscribed to the Google Groups "alembic-discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to alembic-discuss...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/alembic-discussion/7cecdc1b-df73-4821-84ac-f1e73c2a0b57%40Spark.
Reply all
Reply to author
Forward
0 new messages