Perfect, thanks so much for the fix!
I just noticed that the 1.3.3 release is now 30MB rather than around 3MB of the earlier versions. Looking more closely, it looks like some large ARM libraries are now part of the release: $ ls bacnet-stack-1.3.3/ports/stm32f4xx/CMSIS/*.lib -rw-r--r-- 1 user users 8.7M 2024-02-03 08:40 bacnet-stack-1.3.3/ports/stm32f4xx/CMSIS/arm_cortexM0b_math.lib -rw-r--r-- 1 user users 8.7M 2024-02-03 08:40 bacnet-stack-1.3.3/ports/stm32f4xx/CMSIS/arm_cortexM0l_math.lib -rw-r--r-- 1 user users 9.0M 2024-02-03 08:40...
Ok, sorry for the spam but I think I have worked out the cause of the problem. -Wl does work as expected. Adding -Wl,-v (which I found in one of your Makefiles) makes it show the full ld command line it runs. So I compared the working one with the failing one. The difference is that when it works, the -L option to add the library search path for the newly compiled libbacnet.a comes first, before other -L options. When using -Wl,-L (as found in the Makefile) the same -L option ends up last, after...
Ok, so after confirming all the symbols are indeed in the libbacnet.a library, I started looking at linking. It turns out that the library is not being linked. On the cc command run by make, I changed -Wl,-L/src/apps/lib,-lbacnet to -L/src/apps/lib -lbacnet and this worked - it compiled without errors. I'm not sure why this is the case - maybe now GCC is doing the linking itself instead of calling an external linker as it used to? I guess now the question is why has that syntax changed between GCC...
Yeah parallel make has never worked, I have -j1 in my scripts to disable it and this has worked in the past. I used -j4 above to get some more error messages just to show it wasn't a single app having the issue - sorry I should've been clearer about that. $MAKEFLAGS is empty. Thanks for the pointers to the Github Actions. I can see they are compiling using GCC 11 so I am suspecting something has changed with GCC 13. I will try to do some more investigation to see if I can work out what has chang...
Thanks for the quick reply! I tried a make clean then make LEGACY=true but it doesn't seem to make any difference. I still get heaps of errors. /usr/bin/ld: main.o: in function `main': main.c:(.text.startup.main+0x288): undefined reference to `bacnet_address_mac_from_ascii' /usr/bin/ld: main.c:(.text.startup.main+0x2d9): undefined reference to `bactext_object_type_strtol' /usr/bin/ld: main.c:(.text.startup.main+0x32c): undefined reference to `bactext_property_strtol' /usr/bin/ld: main.c:(.text.startup.main+0x400):...
I just tried to install version 1.3.3 and I can't get it to work. For one, the project files are now at the root of the .tgz instead of in a bacnet-stack-1.3.3 folder like the earlier downloads were, so my existing build process breaks. But accounting for that, it seems that none of the apps build: $ make make -s -C apps all /usr/bin/ld: main.o: in function `main': main.c:(.text.startup.main+0x2b7): undefined reference to `bacnet_address_mac_from_ascii' /usr/bin/ld: main.c:(.text.startup.main+0x30b):...
There's nothing special about the super key compared to the other keys on the keyboard. Are you sure you haven't used the button/slider on the keyboard to put it into gaming mode, which disables the super key?