[Bug 289714] audio/ardour: does not start on Rel. 14.3

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 03 Feb 2026 20:37:35 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289714

--- Comment #16 from Stellan Alm <stellan.alm@gmail.com> ---
(In reply to Peter Much from comment #12)
Very well done! 

I discover almost the same aspect that you're pointing out here,
but didn't get this far as you have. So I have working copy now, that
accidentally had the erroneous flag '-optimize', which lead me to believe that
optimization is somewhat that culprit.

C++ well it is challenging, depending examples that gives warning during build
related to floating-points:
---------------8<----------------------------------
In file included from ../libs/ardour/export_profile_manager.cc:45:
In file included from ../libs/ardour/ardour/export_handler.h:36:
In file included from ../libs/ardour/ardour/session.h:86:
In file included from ../libs/ardour/ardour/monitor_processor.h:38:
../libs/ardour/ardour/dB.h:40:30: warning: use of infinity is undefined
behavior due to the currently enabled floating-point options
[-Wnan-infinity-disabled]
   40 |         if (coeff < 1e-15) return 
-std::numeric_limits<float>::infinity();
      |                                    
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/ardour/export_profile_manager.cc:303:9: warning: use of bitwise '&'
with boolean operands [-Wbitwise-instead-of-logical]
  303 |         return set_global_state (root) & set_local_state (root);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                        &&
../libs/ardour/export_profile_manager.cc:303:9: note: cast one or both operands
to int to silence this warning
../libs/ardour/export_profile_manager.cc:309:9: warning: use of bitwise '&'
with boolean operands [-Wbitwise-instead-of-logical]
  309 |         return init_filenames (root.children ("ExportFilename")) &
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                  &&
  310 |                init_formats (root.children ("ExportFormat"));
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/ardour/export_profile_manager.cc:309:9: note: cast one or both operands
to int to silence this warning
../libs/ardour/export_profile_manager.cc:316:9: warning: use of bitwise '&'
with boolean operands [-Wbitwise-instead-of-logical]
  316 |         return init_timespans (root.children ("ExportTimespan")) &
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                  &&
  317 |                init_channel_configs (root.children
("ExportChannelConfiguration"));
      |               
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/ardour/export_profile_manager.cc:316:9: note: cast one or both operands
to int to silence this warning
5 warnings generated.

In file included from ../libs/ardour/audioengine.cc:41:
In file included from ../libs/pbd/pbd/pthread_utils.h:49:
In file included from ../libs/pbd/pbd/signals.h:38:
In file included from /usr/local/include/boost/noncopyable.hpp:15:
In file included from /usr/local/include/boost/core/noncopyable.hpp:12:
In file included from /usr/local/include/boost/config.hpp:48:
/usr/local/include/boost/config/stdlib/libcpp.hpp:98:11: warning:
'BOOST_NO_AUTO_PTR' macro redefined [-Wmacro-redefined]
   98 | #  define BOOST_NO_AUTO_PTR
      |           ^
<command line>:14:9: note: previous definition is here
   14 | #define BOOST_NO_AUTO_PTR 1
      |         ^
In file included from ../libs/ardour/audioengine.cc:66:
In file included from ../libs/ardour/ardour/rc_configuration.h:31:
In file included from ../libs/ardour/ardour/utils.h:41:
../libs/ardour/ardour/dB.h:40:30: warning: use of infinity is undefined
behavior due to the currently enabled floating-point options
[-Wnan-infinity-disabled]
   40 |         if (coeff < 1e-15) return 
-std::numeric_limits<float>::infinity();
---------------------------------------8<------------------------------

Another aspect that I encountered is if a value is "inf", that division by zero
my occur, but that is only happening if if it is not set or 0 :-) :
---------------------------------------8<----------------------
Integer divide by zero.
0x0000000001009ac6 in Editor::set_timecode_ruler_scale (this=0x822624040,
lower=0, upper=3710976)
    at ../gtk2_ardour/editor_rulers.cc:854
854                     const samplecnt_t hours_in_range = range / (60 * 60 *
fr);

-- 
You are receiving this mail because:
You are the assignee for the bug.