[Etherlab-users] building etherlab ethercat on alma9 [SEC=OFFICIAL]

WYKES, Jeremy jeremyw at ansto.gov.au
Fri Sep 27 05:57:03 CEST 2024


Hi all,

I am seeking some help trying to build the ethercat master on Alma9. I am trying to first just build the simplest configuration I can (i.e. not an RT kernel), on a VMWare VM (not sure if this will create a problem). I have installed kernel-devel and it looks like I have the kernel sources in /usr/src/kernels/5.14.0-427.37.1.el9_4.x86_64

uname -srvmpio
Linux 5.14.0-362.24.2.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Mar 30 14:11:54 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux

Following the instructions:

      ./bootstrap
      ./configure --with-linux-dir=/usr/src/kernels/5.14.0-427.37.1.el9_4.x86_64 --enable-generic
      make
      make modules

The build fails with:

In file included from ./include/linux/linkage.h:7,
                 from ./include/linux/kernel.h:8,
                 from ./include/linux/list.h:9,
                 from ./include/linux/module.h:12,
                 from /opt/igh/etherlab/master/module.c:28:
/opt/igh/etherlab/master/module.c: In function ‘ec_init_module’:
./include/linux/export.h:17:22: error: passing argument 1 of ‘class_create’ from incompatible pointer type [-Werror=incompatible-pointer-types]
   17 | #define THIS_MODULE (&__this_module)
      |                     ~^~~~~~~~~~~~~~~
      |                      |
      |                      struct module *
/opt/igh/etherlab/master/module.c:115:26: note: in expansion of macro ‘THIS_MODULE’
  115 |     class = class_create(THIS_MODULE, "EtherCAT");
      |                          ^~~~~~~~~~~
In file included from ./include/linux/device.h:31,
                 from /opt/igh/etherlab/master/module.c:29:
./include/linux/device/class.h:230:54: note: expected ‘const char *’ but argument is of type ‘struct module *’
  230 | struct class * __must_check class_create(const char *name);
      |                                          ~~~~~~~~~~~~^~~~
/opt/igh/etherlab/master/module.c:115:13: error: too many arguments to function ‘class_create’
  115 |     class = class_create(THIS_MODULE, "EtherCAT");
      |             ^~~~~~~~~~~~
In file included from ./include/linux/device.h:31,
                 from /opt/igh/etherlab/master/module.c:29:
./include/linux/device/class.h:230:29: note: declared here
  230 | struct class * __must_check class_create(const char *name);
      |                             ^~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:299: /opt/igh/etherlab/master/module.o] Error 1
make[2]: *** [scripts/Makefile.build:585: /opt/igh/etherlab/master] Error 2
make[1]: *** [Makefile:1936: /opt/igh/etherlab] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.14.0-427.37.1.el9_4.x86_64'
make: *** [Makefile:957: modules] Error 2

Any help/suggestions would be appreciated.


--

Jeremy Wykes

Scientist - MEX

ANSTO Australian Synchrotron

800 Blackburn Road, Clayton, VIC, 3168

Tel: 03 8540 4277

Email: jeremyw at ansto.gov.au<mailto:jeremyw at ansto.gov.au>

Web: www.ansto.gov.au<http://www.ansto.gov.au>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20240927/677ce62d/attachment-0001.htm>


More information about the Etherlab-users mailing list