Open gitpower2017 opened 4 years ago
Hallo gitpower2017,
es liegt vermutlich an der CPU-Architektur, die Sie verwenden. Das Programm habe ich nie für aarch64 getestet. Ich habe auch keine Möglichkeit dazu. Da ich kein Programmierer bin, kann ich das so ohne weiteres auch nicht beheben. Gerne können Sie aber Patches schicken.
Grüße Lars
On Fri, 21 Feb 2020 08:51:51 -0800 gitpower2017 notifications@github.com wrote:
Hello,
I habe install wth "get install libmodbus-dev" the Version 3.1.6-1 Then I have with git the "git clone https://github.com/gitaeuber/mbrtu"
root@rpi4:/usr/src/mbrtu# make cc -std=c99 -O3 -Wall -D_BSD_SOURCE -I/usr/include/modbus/ -lmodbus mbrtu.c -o mbrtu In file included from /usr/include/aarch64-linux-gnu/sys/types.h:25, from /usr/include/aarch64-linux-gnu/sys/param.h:25, from /usr/include/modbus/modbus.h:12, from mbrtu.h:25, from mbrtu.c:22: /usr/include/features.h:185:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] 185 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" | ^~~~~~~ In file included from mbrtu.c:22: mbrtu.c: In function ‘parse_call_parameter_options’: mbrtu.h:53:19: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 53 | #define IF_DEBUG if (global_flags & MBRTU_FLAGS_DEBUG) | ^~ mbrtu.c:713:1: note: in expansion of macro ‘IF_DEBUG’ 713 | IF_DEBUG fprintf (stderr, "data type = 0x%x\n", call->type); | ^~~~~~~~ mbrtu.c:714:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 714 | break; | ^~~~~ /usr/bin/ld: /tmp/ccgaWImQ.o: in function
parse_n_opt': mbrtu.c:(.text+0x1d4): undefined reference tomodbus_set_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0x1d8): undefined reference to
modbus_set_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0x310): undefined reference tomodbus_set_float_badc' /usr/bin/ld: mbrtu.c:(.text+0x314): undefined reference to
modbus_set_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0x31c): undefined reference tomodbus_set_float_badc' /usr/bin/ld: mbrtu.c:(.text+0x320): undefined reference to
modbus_set_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0x32c): undefined reference tomodbus_set_float_dcba' /usr/bin/ld: mbrtu.c:(.text+0x330): undefined reference to
modbus_set_float_dcba' /usr/bin/ld: mbrtu.c:(.text+0x338): undefined reference tomodbus_set_float_cdab' /usr/bin/ld: mbrtu.c:(.text+0x33c): undefined reference to
modbus_set_float_cdab' /usr/bin/ld: /tmp/ccgaWImQ.o: in functionprint_data': mbrtu.c:(.text+0xc48): undefined reference to
modbus_get_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0xc4c): undefined reference tomodbus_get_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0xd10): undefined reference to
modbus_get_float_badc' /usr/bin/ld: mbrtu.c:(.text+0xd14): undefined reference tomodbus_get_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0xd1c): undefined reference to
modbus_get_float_badc' /usr/bin/ld: mbrtu.c:(.text+0xd20): undefined reference tomodbus_get_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0xd2c): undefined reference to
modbus_get_float_dcba' /usr/bin/ld: mbrtu.c:(.text+0xd30): undefined reference tomodbus_get_float_dcba' /usr/bin/ld: mbrtu.c:(.text+0xd38): undefined reference to
modbus_get_float_cdab' /usr/bin/ld: mbrtu.c:(.text+0xd3c): undefined reference tomodbus_get_float_cdab' /usr/bin/ld: /tmp/ccgaWImQ.o: in function
make_call': mbrtu.c:(.text+0xdd0): undefined reference tomodbus_set_slave' /usr/bin/ld: mbrtu.c:(.text+0xe2c): undefined reference to
modbus_read_input_registers' /usr/bin/ld: mbrtu.c:(.text+0xe60): undefined reference tomodbus_connect' /usr/bin/ld: mbrtu.c:(.text+0xe9c): undefined reference to
modbus_write_register' /usr/bin/ld: mbrtu.c:(.text+0xf64): undefined reference tomodbus_write_registers' /usr/bin/ld: mbrtu.c:(.text+0xff8): undefined reference to
modbus_strerror' /usr/bin/ld: mbrtu.c:(.text+0x103c): undefined reference tomodbus_read_registers' /usr/bin/ld: mbrtu.c:(.text+0x1088): undefined reference to
modbus_strerror' /usr/bin/ld: /tmp/ccgaWImQ.o: in functionparse_call_parameter_options': mbrtu.c:(.text+0x13f0): undefined reference to
modbus_set_debug' /usr/bin/ld: /tmp/ccgaWImQ.o: in functionmain': mbrtu.c:(.text.startup+0x11c): undefined reference to
modbus_new_rtu' /usr/bin/ld: mbrtu.c:(.text.startup+0x148): undefined reference tomodbus_set_response_timeout' /usr/bin/ld: mbrtu.c:(.text.startup+0x174): undefined reference to
modbus_close' /usr/bin/ld: mbrtu.c:(.text.startup+0x180): undefined reference tomodbus_free' /usr/bin/ld: mbrtu.c:(.text.startup+0x5a0): undefined reference to
modbus_set_debug' collect2: error: ld returned 1 exit status make: *** [Makefile:9: mbrtu] Error 1 `I donh have a idee.
-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/gitaeuber/mbrtu/issues/6
-- Schöne Grüße Lars Täuber
for me it worked simply to move the LDFLAGS behind the SRCS:
`diff --git a/Makefile b/Makefile index e02d5c1..3e3c621 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ SRCS=mbrtu.c all: mbrtu
mbrtu: $(SRCS) mbrtu.h
$(CC) $(CFLAGS) $(LFLAGS) $(SRCS) $(LDFLAGS) -o $@
clean: rm -f *.o mbrtu `
Hello,
I habe install wth "get install libmodbus-dev" the Version 3.1.6-1 Then I have with git the "git clone https://github.com/gitaeuber/mbrtu"
root@rpi4:/usr/src/mbrtu# make cc -std=c99 -O3 -Wall -D_BSD_SOURCE -I/usr/include/modbus/ -lmodbus mbrtu.c -o mbrtu In file included from /usr/include/aarch64-linux-gnu/sys/types.h:25, from /usr/include/aarch64-linux-gnu/sys/param.h:25, from /usr/include/modbus/modbus.h:12, from mbrtu.h:25, from mbrtu.c:22: /usr/include/features.h:185:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] 185 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" | ^~~~~~~ In file included from mbrtu.c:22: mbrtu.c: In function ‘parse_call_parameter_options’: mbrtu.h:53:19: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 53 | #define IF_DEBUG if (global_flags & MBRTU_FLAGS_DEBUG) | ^~ mbrtu.c:713:1: note: in expansion of macro ‘IF_DEBUG’ 713 | IF_DEBUG fprintf (stderr, "data type = 0x%x\n", call->type); | ^~~~~~~~ mbrtu.c:714:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 714 | break; | ^~~~~ /usr/bin/ld: /tmp/ccgaWImQ.o: in function
parse_n_opt': mbrtu.c:(.text+0x1d4): undefined reference tomodbus_set_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0x1d8): undefined reference to
modbus_set_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0x310): undefined reference tomodbus_set_float_badc' /usr/bin/ld: mbrtu.c:(.text+0x314): undefined reference to
modbus_set_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0x31c): undefined reference tomodbus_set_float_badc' /usr/bin/ld: mbrtu.c:(.text+0x320): undefined reference to
modbus_set_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0x32c): undefined reference tomodbus_set_float_dcba' /usr/bin/ld: mbrtu.c:(.text+0x330): undefined reference to
modbus_set_float_dcba' /usr/bin/ld: mbrtu.c:(.text+0x338): undefined reference tomodbus_set_float_cdab' /usr/bin/ld: mbrtu.c:(.text+0x33c): undefined reference to
modbus_set_float_cdab' /usr/bin/ld: /tmp/ccgaWImQ.o: in functionprint_data': mbrtu.c:(.text+0xc48): undefined reference to
modbus_get_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0xc4c): undefined reference tomodbus_get_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0xd10): undefined reference to
modbus_get_float_badc' /usr/bin/ld: mbrtu.c:(.text+0xd14): undefined reference tomodbus_get_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0xd1c): undefined reference to
modbus_get_float_badc' /usr/bin/ld: mbrtu.c:(.text+0xd20): undefined reference tomodbus_get_float_abcd' /usr/bin/ld: mbrtu.c:(.text+0xd2c): undefined reference to
modbus_get_float_dcba' /usr/bin/ld: mbrtu.c:(.text+0xd30): undefined reference tomodbus_get_float_dcba' /usr/bin/ld: mbrtu.c:(.text+0xd38): undefined reference to
modbus_get_float_cdab' /usr/bin/ld: mbrtu.c:(.text+0xd3c): undefined reference tomodbus_get_float_cdab' /usr/bin/ld: /tmp/ccgaWImQ.o: in function
make_call': mbrtu.c:(.text+0xdd0): undefined reference tomodbus_set_slave' /usr/bin/ld: mbrtu.c:(.text+0xe2c): undefined reference to
modbus_read_input_registers' /usr/bin/ld: mbrtu.c:(.text+0xe60): undefined reference tomodbus_connect' /usr/bin/ld: mbrtu.c:(.text+0xe9c): undefined reference to
modbus_write_register' /usr/bin/ld: mbrtu.c:(.text+0xf64): undefined reference tomodbus_write_registers' /usr/bin/ld: mbrtu.c:(.text+0xff8): undefined reference to
modbus_strerror' /usr/bin/ld: mbrtu.c:(.text+0x103c): undefined reference tomodbus_read_registers' /usr/bin/ld: mbrtu.c:(.text+0x1088): undefined reference to
modbus_strerror' /usr/bin/ld: /tmp/ccgaWImQ.o: in functionparse_call_parameter_options': mbrtu.c:(.text+0x13f0): undefined reference to
modbus_set_debug' /usr/bin/ld: /tmp/ccgaWImQ.o: in functionmain': mbrtu.c:(.text.startup+0x11c): undefined reference to
modbus_new_rtu' /usr/bin/ld: mbrtu.c:(.text.startup+0x148): undefined reference tomodbus_set_response_timeout' /usr/bin/ld: mbrtu.c:(.text.startup+0x174): undefined reference to
modbus_close' /usr/bin/ld: mbrtu.c:(.text.startup+0x180): undefined reference tomodbus_free' /usr/bin/ld: mbrtu.c:(.text.startup+0x5a0): undefined reference to
modbus_set_debug' collect2: error: ld returned 1 exit status make: *** [Makefile:9: mbrtu] Error 1 `I donh have a idee.