Package Details: etherlab-ethercat 1.6.9-1

Git Clone URL: https://aur.archlinux.org/etherlab-ethercat.git (read-only, click to copy)
Package Base: etherlab-ethercat
Description: Kernel modules for IgH EtherCAT(R) Master component
Upstream URL: https://etherlab.org
Keywords: ethercat fieldbus
Licenses: GPL-2.0-only
Submitter: entidi
Maintainer: entidi
Last Packager: entidi
Votes: 1
Popularity: 0.000000
First Submitted: 2021-04-07 21:50 (UTC)
Last Updated: 2026-03-26 17:05 (UTC)

Latest Comments

1 2 Next › Last »

entidi commented on 2026-05-07 05:15 (UTC)

Please, report upstream.

UweSauter commented on 2026-05-06 19:24 (UTC) (edited on 2026-05-06 19:32 (UTC) by UweSauter)

Looks like 1.6.9 does not build with GCC 16.1.1:


[…]
  CXX      ethercat-CommandVersion.o
  CXX      ethercat-CommandXml.o
  CXX      ethercat-DataTypeHandler.o
DataTypeHandler.cpp: In static member function ‘static size_t DataTypeHandler::interpretAsType(const DataType*, const std::string&, void*, size_t)’:
DataTypeHandler.cpp:187:17: error: no match for ‘operator>>’ (operand types are ‘std::stringstream’ {aka ‘std::__cxx11::basic_stringstream<char>’} and ‘char*’)
  187 |             str >> (char *) target;
      |             ~~~ ^~ ~~~~~~~~~~~~~~~
      |             |      |
      |             |      char*
      |             std::stringstream {aka std::__cxx11::basic_stringstream<char>}
  • there are 34 candidates
    DataTypeHandler.cpp:187:17:
      187 |             str >> (char *) target;
          |             ~~~~^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/16.1.1/sstream:42,
                 from /usr/include/c++/16.1.1/bits/quoted_string.h:40,
                 from /usr/include/c++/16.1.1/iomanip:55,
                 from DataTypeHandler.cpp:28:
    • candidate 1: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]’ (near match)
      /usr/include/c++/16.1.1/istream:176:7:
        176 |       operator>>(bool& __n)
            |       ^~~~~~~~
      • conversion of argument 1 would be ill-formed:
      • error: cannot bind non-const lvalue reference of type ‘bool&’ to a value of type ‘char*’
        DataTypeHandler.cpp:187:20:
          187 |             str >> (char *) target;
              |                    ^~~~~~~~~~~~~~~
    • candidate 2: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]’ (near match)
      /usr/include/c++/16.1.1/istream:180:7:
        180 |       operator>>(short& __n);
            |       ^~~~~~~~
      • conversion of argument 1 would be ill-formed:
      • error: invalid conversion from ‘char*’ to ‘short int’ [-fpermissive]
        DataTypeHandler.cpp:187:20:
          187 |             str >> (char *) target;
              |                    ^~~~~~~~~~~~~~~
              |                    |
              |                    char*
      • error: cannot bind rvalue ‘(short int)((char*)target)’ to ‘short int&’
[…]
    • candidate 34: ‘template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(basic_istream<_CharT, _Traits>&, _Get_time<_CharT>)’
      /usr/include/c++/16.1.1/iomanip:430:5:
        430 |     operator>>(basic_istream<_CharT, _Traits>& __is, _Get_time<_CharT> __f)
            |     ^~~~~~~~
      • template argument deduction/substitution failed:
        •   mismatched types ‘std::_Get_time<_CharT>’ and ‘char*’
          DataTypeHandler.cpp:187:29:
            187 |             str >> (char *) target;
                |                             ^~~~~~
make[2]: *** [Makefile:1018: ethercat-DataTypeHandler.o] Error 1
make[2]: Leaving directory '/home/uwe/Desktop/Code/AUR/etherlab-ethercat/src/ethercat-1.6.9/tool'
make[1]: *** [Makefile:537: all-recursive] Error 1
make[1]: Leaving directory '/home/uwe/Desktop/Code/AUR/etherlab-ethercat/src/ethercat-1.6.9'
make: *** [Makefile:462: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

Should I report upstream or can this be solved here?

micwoj92 commented on 2026-02-09 06:37 (UTC)

Fyi kernel modules fail to build 6.19
https://gitlab.com/etherlab.org/ethercat/-/issues/200

micwoj92 commented on 2025-09-27 01:07 (UTC)

Thanks for fix. On my normal system it also built fine, I only encounted this issue in chroot.

entidi commented on 2025-09-26 09:41 (UTC)

Sorry about that: I'm unable to replicate but I'm not in a clean environment, so I suspect the linux-headers dependency is not installed before the build.

Please, could you try the last PKGBUILD (etherlab-ethercat-1.6.7-6)? In 133acc3dedda I moved that dependency to the root makedepends.

micwoj92 commented on 2025-09-25 22:11 (UTC)

When trying to build in clean chroot this fails with

checking whether to build kernel modules... yes

configure: error: Failed to find Linux sources. Use --with-linux-dir!
==> ERROR: A failure occurred in build().
    Aborting...

entidi commented on 2025-09-25 06:18 (UTC)

I split the dkms version on its own package (etherlab-ethercat-dkms). This simplifies a lot the PKGBUILD code.

entidi commented on 2025-09-15 10:10 (UTC) (edited on 2025-09-15 10:10 (UTC) by entidi)

That explains it: linux-zen-headers installs the headers under /usr/src/linux-zen, so the if branch fails.

For non-standard headers or dynamic module autoupdate, please use etherlab-ethercat-dkms instead. In short:

etherlab-ethercat = modules bound to current kernel under /usr/src/linux
etherlab-ethercat-dkms = modules dynamically built via dkms

taotieren commented on 2025-09-15 09:50 (UTC)

I am using the devtools environment for compilation. I am using linux-zen-headers. I attempted to add the linux-zen-headers compilation dependency to etherlab-ethercat.

entidi commented on 2025-09-12 15:09 (UTC)

No idea what's happening there... etherlab-ethercat requires linux-headers so the if test -d /usr/src/linux branch in build() must succeed and the configure script should be called with --with-linux-dir=/usr/src/linux and that should be enough to define LINUX_SOURCE_DIR (later used by Makefile.kbuild as make -C ...).

Are you using some non-standard linux-headers package that does not create /usr/src/linux?