Open3D icon indicating copy to clipboard operation
Open3D copied to clipboard

Minor fixup for fmtlib 8.1.1

Open nigels-com opened this issue 2 years ago • 14 comments

Open3D bundles fmtlib 6.0.0 (Aug 2019) but does compile with the current release 8.1.1 with this small fix applied.


This change is Reviewable

nigels-com avatar Mar 28 '22 23:03 nigels-com

Thanks for submitting this pull request! The maintainers of this repository would appreciate if you could update the CHANGELOG.md based on your changes.

update-docs[bot] avatar Mar 28 '22 23:03 update-docs[bot]

@nigels-com LGTM.

Can you please fix the code style? http://www.open3d.org/docs/release/contribute/styleguide.html#style-checker

If you are using Ubuntu: Install clang-format

sudo apt update
sudo apt install clang-format-10 

Then go to your Open3d/build and

make apply-style

Thanks for your contribution.

reyanshsolis avatar Mar 31 '22 14:03 reyanshsolis

Ah. Sure thing.

nigels-com avatar Mar 31 '22 22:03 nigels-com

I pushed a commit to actually upgrade fmtlib to 8.1.1.

It does not work for me on ubuntu 20.04. Let's see how the CI goes.

yxlao avatar Apr 01 '22 12:04 yxlao

We have not switched over to fmtlib 8.1.1 except to confirm that things build properly. So this patch is a precursor, not meaning to imply that it's all tested and good to go.

nigels-com avatar Apr 01 '22 21:04 nigels-com

We have not switched over to fmtlib 8.1.1 except to confirm that things build properly.

Did you have one configuration where Open3D works with fmtlib 8.1.1? What is the OS and compiler version?

yxlao avatar Apr 03 '22 10:04 yxlao

I've only been testing very specific paths concerning TriangleMesh, but not really familiar with testing Open3D more broadly. Are the 22 failing tests here cause for a more detailed look?

nigels-com avatar Apr 03 '22 10:04 nigels-com

Our platforms are Ubuntu 18.04, Ubuntu 20.04 and Windows.

nigels-com avatar Apr 03 '22 10:04 nigels-com

Oh, I didn't hit this in the master branch. Leave it with me.

/root/Open3D/cpp/open3d/utility/Logging.h:166:61:   in constexpr expansion of 'fmt::v8::make_format_args<>((* & args#0), (* & args#1))'
/root/Open3D/build/fmt/include/fmt/core.h:1727:3: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
   static_assert(
   ^~~~~~~~~~~~~
make[2]: *** [cpp/open3d/t/io/CMakeFiles/tio.dir/sensor/realsense/RealSenseSensorConfig.cpp.o] Error 1
make[1]: *** [cpp/open3d/t/io/CMakeFiles/tio.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

nigels-com avatar Apr 03 '22 11:04 nigels-com

Some build failures fixed, but other problems remain. Will return to this after Easter.

nigels-com avatar Apr 08 '22 11:04 nigels-com

Oh, right. This is still a thing.

nigels-com avatar May 17 '22 09:05 nigels-com

Is there any fix available to build with fmt 8.1.1?

nkapgate avatar Jun 30 '22 07:06 nkapgate

The subset of Open3D that we're using does compile and run just fine. But it turns out to be broader job than here on this pull request. It's just turning out to be more time consuming to upstream this change, than I bargained for!

nigels-com avatar Jun 30 '22 10:06 nigels-com

Related PR #5303

ssheorey avatar Jul 12 '22 22:07 ssheorey

Hi @nigels-com closing in favor of PR #5303. Thanks for your help!

ssheorey avatar Jan 24 '23 17:01 ssheorey

All good! Great!

nigels-com avatar Jan 24 '23 21:01 nigels-com