AcademySoftwareFoundation / AcademySoftwareFoundation/Imath

Several warnings on Linux when using boost-1.75.0

Open
#124 0 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
C++
Stars
488
Forks
161
Avg merge
1d 3h
Merged PRs (30d)
3

Description

I noticed https://github.com/AcademySoftwareFoundation/openexr/issues/624#issuecomment-798805372 today, which let me think you will maybe want to eliminate all warnings.
Having ignored these so far, there are several warnings when building against boost-1.75.0 with respect to boost bind placeholders on Linux:

```
[8/80] /usr/bin/x86_64-pc-linux-gnu-g++ -Dimath_python3_EXPORTS -Isrc/python/PyImath -I/var/tmp/portage/dev-libs/imath-9999/work/imath-9999/src/python/PyImath -I/var/tmp/portage/dev-libs/imath-9999/work/imath-9999/src/Imath -Iconfig -isystem /usr/include/python3.8 -O2 -pipe -march=bdver2 -frecord-gcc-switches -fstack-check -fstack-protector-strong -fPIC -MD -MT src/python/PyImath/CMakeFiles/imath_python3.dir/PyImathFun.cpp.o -MF src/python/PyImath/CMakeFiles/imath_python3.dir/PyImathFun.cpp.o.d -o src/python/PyImath/CMakeFiles/imath_python3.dir/PyImathFun.cpp.o -c /var/tmp/portage/dev-libs/imath-9999/work/imath-9999/src/python/PyImath/PyImathFun.cpp
In file included from /usr/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from /usr/include/boost/smart_ptr/detail/yield_k.hpp:23,
from /usr/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from /usr/include/boost/smart_ptr/detail/spinlock.hpp:42,
from /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:29,
from /usr/include/boost/shared_ptr.hpp:17,
from /usr/include/boost/python/converter/shared_ptr_to_python.hpp:12,
from /usr/include/boost/python/converter/arg_to_python.hpp:15,
from /usr/include/boost/python/call.hpp:15,
from /usr/include/boost/python/object_core.hpp:14,
from /usr/include/boost/python/args.hpp:22,
from /usr/include/boost/python.hpp:11,
from /var/tmp/portage/dev-libs/imath-9999/work/imath-9999/src/python/PyImath/PyImathDecorators.h:11,
from /var/tmp/portage/dev-libs/imath-9999/work/imath-9999/src/python/PyImath/PyImathFun.cpp:9:
/usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the Linux build with boost-1.75.0 and inspect the warning from src/python/PyImath/PyImathFun.cpp, through src/python/PyImath/PyImathDecorators.h and the Boost.Python includes shown in the log. Check the other reported build warnings as well; done means the relevant Linux build completes without the deprecated Boost bind placeholder warnings.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
build-system, computer-graphics
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.