Created attachment 274399 [details] full make output While trying to upgrade from 2.8.5 to 2.8.6, compiling the Python part fails with "error: incomplete type 'pthread' used in type trait expression": Making all in python c++ -DHAVE_CONFIG_H -I/usr/local/include -fPIC -DLIBDAR_MODE=64 -I'../..' -I'./..' -I'./../libdar' -DDAR_LOCALEDIR=\"/usr/local/share/locale\" -DDAR_SYS_DIR=\"\" -I/usr/local/include/python3.12 -I/usr/local/lib/python3.12/site-packages/pybind11/include -I/usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -c pybind11_libdar.cpp -o pybind11_libdar.o In file included from pybind11_libdar.cpp:23: In file included from /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:12: In file included from /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h:12: In file included from /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:13: In file included from /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/detail/common.h:12: In file included from /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/conduit/wrap_include_python_h.h:44: In file included from /usr/local/include/python3.12/Python.h:38: In file included from /usr/local/include/python3.12/pyport.h:195: In file included from /usr/include/c++/v1/math.h:359: In file included from /usr/include/c++/v1/__math/copysign.h:16: In file included from /usr/include/c++/v1/limits:581: In file included from /usr/include/c++/v1/type_traits:442: /usr/include/c++/v1/__type_traits/is_base_of.h:22:91: error: incomplete type 'pthread' used in type trait expression 22 | struct _LIBCPP_TEMPLATE_VIS is_base_of : public integral_constant<bool, __is_base_of(_Bp, _Dp)> {}; | ^ /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:1570:34: note: in instantiation of template class 'std::is_base_of<pybind11::detail::pyobject_tag, pthread>' requested here 1570 | class type_caster<T, enable_if_t<is_pyobject<T>::value>> : public pyobject_caster<T> {}; | ^ /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:2161:49: note: during template argument deduction for class template partial specialization 'type_caster<T, enable_if_t<is_pyobject<T>::value>>' [with T = pthread] 2161 | = ::pybind11::detail::concat(type_descr(make_caster<Args>::name)...); | ^ /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/cast.h:2161:49: note: in instantiation of template class 'pybind11::detail::type_caster<pthread>' requested here /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:583:34: note: in instantiation of template class 'pybind11::detail::argument_loader<pthread *, bool, unsigned long>' requested here 583 | sizeof...(Args), cast_in::args_pos >= 0, cast_in::has_kwargs), | ^ /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:322:9: note: in instantiation of function template specialization 'pybind11::cpp_function::initialize<void (*&)(pthread *, bool, unsigned long), void, pthread *, bool, unsigned long, pybind11::name, pybind11::scope, pybind11::sibling>' requested here 322 | initialize(f, f, extra...); | ^ /usr/local/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:1645:22: note: in instantiation of function template specialization 'pybind11::cpp_function::cpp_function<void, pthread *, bool, unsigned long, pybind11::name, pybind11::scope, pybind11::sibling>' requested here 1645 | cpp_function func(std::forward<Func>(f), | ^ pybind11_libdar.cpp:59:3: note: in instantiation of function template specialization 'pybind11::module_::def<void (*)(pthread *, bool, unsigned long)>' requested here 59 | .def("cancel_thread", &libdar::cancel_thread) | ^ /usr/include/stdio.h:157:9: note: forward declaration of 'pthread' 157 | struct pthread *_fl_owner; /* current owner */ | ^
Can you share some more details with FreeBSD version and architecture you are using? Are you using poudriere builders or something else to build this?
I'm running FreeBSD 15.1-RELEASE-p3 (GENERIC) on a physical machine with AMD Epyc processor and 32 GB RAM. Ports-management is done with portmaster. However, the attached build log was from running make in /usr/ports/sysutils/dar directory.
I couldn't reproduce it. This might be some environment leak or something in your environment which I cannot reproduce on a clean build. See this log https://dev-01.bofh.network/data/151-default/2026-09-04_13h19m38s/logs/dar-2.8.6.log which I just tested and it builds perfectly alright. If you have any custom options in any of your ports or in make.conf please let us know otherwise direct ports or portmaster/portupgrade are actually not advisable for end users.
There is an important difference in our builds: checking for python binding... failed vs. ok and with this building python binding: NO vs. YES 'make config' doesn't provide a setting regarding Python. So, how can I switch it off? I'm not aware of any special setting. /etc/make.conf contains OPTIONS_SET+=PKGNG and something regarding SSL only.