Skip to content

Document compilation on macOS #1540

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wimleers opened this issue May 11, 2025 · 1 comment
Open

Document compilation on macOS #1540

wimleers opened this issue May 11, 2025 · 1 comment

Comments

@wimleers
Copy link

Description

I've been using ebusd via Docker for ~2 years. But stability is poor. Not due to ebusd's fault, but due to Docker. Docker Desktop for macOS is horribly unreliable — it used to be better, but in the past ~year, Docker Desktop has clearly gotten worse.
So I'd like to get rid of it, and just run ebusd natively.

A few years after #673, version 25.1 claims improved macOS compatibility in the changelog. Wonderful! 🙏😊

Actual behavior

Unfortunately, this is what happens:

$ git clone https://github.com/john30/ebusd.git
Cloning into 'ebusd'...
remote: Enumerating objects: 19159, done.
remote: Counting objects: 100% (1109/1109), done.
remote: Compressing objects: 100% (193/193), done.
remote: Total 19159 (delta 973), reused 931 (delta 916), pack-reused 18050 (from 2)
Receiving objects: 100% (19159/19159), 10.37 MiB | 30.97 MiB/s, done.
Resolving deltas: 100% (12020/12020), done.
admin at mist in ~/Desktop
$ cd ebusd
admin at mist in ~/Desktop/ebusd on master*
$ git checkout 25.1
Note: switching to '25.1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at f1818cfa updated version to 25.1
admin at mist in ~/Desktop/ebusd on (HEAD detached at 25.1)*
$ cmake .
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- The C compiler identification is AppleClang 16.0.0.16000026
-- The CXX compiler identification is AppleClang 16.0.0.16000026
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for arpa/inet.h
-- Looking for arpa/inet.h - found
-- Looking for dirent.h
-- Looking for dirent.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for netdb.h
-- Looking for netdb.h - found
-- Looking for poll.h
-- Looking for poll.h - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/select.h
-- Looking for sys/select.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for syslog.h
-- Looking for syslog.h - found
-- Looking for time.h
-- Looking for time.h - found
-- Looking for termios.h
-- Looking for termios.h - found
-- Looking for cfsetspeed
-- Looking for cfsetspeed - found
-- Looking for pthread_setname_np
-- Looking for pthread_setname_np - not found
-- Looking for pselect
-- Looking for pselect - not found
-- Looking for ppoll
-- Looking for ppoll - not found
-- Looking for timegm
-- Looking for timegm - not found
-- Looking for linux/serial.h
-- Looking for linux/serial.h - not found
-- Looking for dev/usb/uftdiio.h
-- Looking for dev/usb/uftdiio.h - not found
-- contrib enabled
-- MQTT enabled
-- KNX enabled
-- SSL enabled
-- Performing Test HAVE_DIRECT_FLOAT_FORMAT
-- Performing Test HAVE_DIRECT_FLOAT_FORMAT - Failed
-- Performing Test HAVE_DIRECT_FLOAT_FORMAT_REV
-- Performing Test HAVE_DIRECT_FLOAT_FORMAT_REV - Failed
-- Configuring done (3.2s)
-- Generating done (0.2s)
-- Build files have been written to: /Users/admin/Desktop/ebusd
admin at mist in ~/Desktop/ebusd on (HEAD detached at 25.1)*
$ make
[  2%] Building CXX object src/lib/knx/CMakeFiles/knx.dir/knx.cpp.o
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:571:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max.h:14:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max_element.h:15:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator_traits.h:14:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/constructible.h:12:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__concepts/convertible_to.h:13:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_convertible.h:14:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__type_traits/is_array.h:14:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef:41:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:571:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max.h:14:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/max_element.h:15:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator_traits.h:408:11: error: reference to unresolved using declaration
  408 |   typedef ptrdiff_t difference_type;
      |           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef:60:1: note: using declaration annotated with 'using_if_exists' here
   60 | using ::ptrdiff_t _LIBCPP_USING_IF_EXISTS;
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:573:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h:12:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h:15:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_iter.h:14:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/pointer_traits.h:63:27: error: reference to unresolved using declaration
   63 |   typedef _LIBCPP_NODEBUG ptrdiff_t type;
      |                           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef:60:1: note: using declaration annotated with 'using_if_exists' here
   60 | using ::ptrdiff_t _LIBCPP_USING_IF_EXISTS;
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:573:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h:12:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h:15:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/unwrap_iter.h:14:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/pointer_traits.h:144:11: error: reference to unresolved using declaration
  144 |   typedef ptrdiff_t difference_type;
      |           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef:60:1: note: using declaration annotated with 'using_if_exists' here
   60 | using ::ptrdiff_t _LIBCPP_USING_IF_EXISTS;
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:573:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h:12:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countr.h:12:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/rotate.h:15:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/limits:117:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:573:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h:12:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/countr.h:12:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__bit/rotate.h:15:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/limits:819:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/type_traits:540:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:573:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/remove.h:12:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/find.h:23:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/constexpr_c_functions.h:14:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/construct_at.h:23:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/new:98:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:584:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h:23:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__iterator/iterator.h:22:57: error: reference to unresolved using declaration
   22 | template <class _Category, class _Tp, class _Distance = ptrdiff_t, class _Pointer = _Tp*, class _Reference = _Tp&>
      |                                                         ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef:60:1: note: using declaration annotated with 'using_if_exists' here
   60 | using ::ptrdiff_t _LIBCPP_USING_IF_EXISTS;
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:588:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator.h:107:11: error: reference to unresolved using declaration
  107 |   typedef ptrdiff_t difference_type;
      |           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef:60:1: note: using declaration annotated with 'using_if_exists' here
   60 | using ::ptrdiff_t _LIBCPP_USING_IF_EXISTS;
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:588:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/allocator.h:187:11: error: reference to unresolved using declaration
  187 |   typedef ptrdiff_t difference_type;
      |           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef:60:1: note: using declaration annotated with 'using_if_exists' here
   60 | using ::ptrdiff_t _LIBCPP_USING_IF_EXISTS;
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:594:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h:20:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple:267:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:594:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h:20:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple:272:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/compare:145:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/compare_partial_order_fallback.h:13:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/partial_order.h:14:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/weak_order.h:14:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__compare/strong_order.h:20:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cmath:317:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:594:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h:20:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple:272:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/compare:158:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:594:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h:20:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple:1455:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/exception:86:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:594:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h:20:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple:1456:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/iosfwd:119:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:594:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory_resource/polymorphic_allocator.h:20:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/tuple:1460:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/utility:270:
/Users/admin/Desktop/ebusd/version:1:1: error: expected unqualified-id
    1 | 25.1
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:600:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h:628:9: error: reference to unresolved using declaration
  628 |   const ptrdiff_t __len2 = __last2 - __first2;
      |         ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef:60:1: note: using declaration annotated with 'using_if_exists' here
   60 | using ::ptrdiff_t _LIBCPP_USING_IF_EXISTS;
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:600:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h:632:3: error: reference to unresolved using declaration
  632 |   ptrdiff_t __len1 = __last1 - __first1;
      |   ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/cstddef:60:1: note: using declaration annotated with 'using_if_exists' here
   60 | using ::ptrdiff_t _LIBCPP_USING_IF_EXISTS;
      | ^
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.cpp:25:
In file included from /Users/admin/Desktop/ebusd/src/lib/knx/knx.h:22:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string:600:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h:633:7: error: use of undeclared identifier '__len1'; did you mean '__len2'?
  633 |   if (__len1 < __len2)
      |       ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h:628:19: note: '__len2' declared here
  628 |   const ptrdiff_t __len2 = __last2 - __first2;
      |                   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [src/lib/knx/CMakeFiles/knx.dir/knx.cpp.o] Error 1
make[1]: *** [src/lib/knx/CMakeFiles/knx.dir/all] Error 2
make: *** [all] Error 2
You have new mail in /var/mail/admin
admin at mist in ~/Desktop/ebusd on (HEAD detached at 25.1)*

Expected behavior

… no compilation errors, or actually meaningful compilation errors.

(It's been more than a decade since I wrote C/C++ and used make.)

ebusd version

current source from git

ebusd arguments

n/a

Operating system

other

CPU architecture

x64

Dockerized

None

Hardware interface

Adapter Shield v5 via USB

Related integration

other

Logs

N/A

@OLFDB
Copy link

OLFDB commented May 12, 2025

There are several compatibility issues.

You need to rename the file VERSION to VERSION_FILE.

Edit CMakeLists.txt

file(STRINGS "VERSION" VERSION)

to

file(STRINGS "VERSION_FILE" VERSION)

and add

if(APPLE)
add_compile_definitions(APPLE)
endif()

Edit

set(CMAKE_REQUIRED_LIBRARIES pthread rt)

to

if(NOT APPLE)
set(CMAKE_REQUIRED_LIBRARIES pthread rt)
else()
set(CMAKE_REQUIRED_LIBRARIES pthread)
endif()

In src/ebusd/CMakeLists

change

target_link_libraries(ebusd utils ebus pthread rt ${ebusd_LIBS})

to

if(NOT APPLE)
target_link_libraries(ebusd utils ebus pthread rt ${ebusd_LIBS})
else()
target_link_libraries(ebusd utils ebus pthread ${ebusd_LIBS})
endif()

In src/lib/knx/knxnet.h and src/lib/utils/tcpsocket.h change the condition for #include <machine/endian.h> to
#if defined(FreeBSD) || defined(APPLE)

In src/lib/utils/tcpsocket.cpp change the condition for #include <poll.h> to
#if defined(FreeBSD) || defined(APPLE)

Now you can build ebusd.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants