Menu

#88 Make stops bc symbol RyosWriteCheckWait is already defined (making the enum a typedef helped)

v1.0_(example)
open
9
2023-01-26
2020-11-07
Anonymous
No

Hey,

when I run make, the linker complains about RyosWriteCheckWait is defined already.

After editing the file ryosmk/libroccatryosmk/ryos_device.h and make the enum a typedef enum the make completes.

Thank you for the cool tools and all your efforts!

Aloha
Andreas

Discussion

  • Stefan Achatz

    Stefan Achatz - 2020-11-08

    will be fixed in the next release by removing the name from the enum. Thanks for reporting.

     
  • Simon Dedman

    Simon Dedman - 2023-01-26

    Sorry if this is a separate bug - it looked similar enough but I'll create a separate issue if required.

    From make:

    [ 60%] Linking C shared library libroccatryosmk.so
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_device.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_device_state.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_info.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_key_mask.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_keys_easyzone.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_keys_extra.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_keys_function.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_keys_macro.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_keys_primary.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_keys_thumbster.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_light.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_light_control.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_macro.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_profile.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_reset.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_stored_lights.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    /usr/bin/ld: CMakeFiles/libroccatryosmk.dir/ryos_talk.c.o:(.bss+0x0): multiple definition of `RyosWriteCheckWait'; CMakeFiles/libroccatryosmk.dir/ryos_custom_lights.c.o:(.bss+0x0): first defined here
    collect2: error: ld returned 1 exit status
    make[2]: *** [ryosmk/libroccatryosmk/CMakeFiles/libroccatryosmk.dir/build.make:685: ryosmk/libroccatryosmk/libroccatryosmk.so.5.9.0] Error 1
    make[1]: *** [CMakeFiles/Makefile2:6124: ryosmk/libroccatryosmk/CMakeFiles/libroccatryosmk.dir/all] Error 2
    make: *** [Makefile:146: all] Error 2
    
    ~/Installers/roccat-tools-5.9.0/build$ whereis luac
    luac: /usr/bin/luac /usr/share/man/man1/luac.1.gz
    

    I tried OP's typedef enum fix and I think that's worked... make took much longer and seemed to complete but only got to 60%. But sudo make install looks to have worked. Thanks!

     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB