Thank you Michael! Adding that library explicitly allowed the build to move forward.
Now to do some machine testing... All the best, Joe On Mon, Oct 28, 2019 at 7:48 AM Michael Brown <[email protected]> wrote: > Too bad there still isn't an arm64 image out for the rpi4 (I have recently > built a rip install on Debian Buster arm64 with success ) > > What you can instead try is to add -latomic to the submakffile > <https://github.com/machinekit/machinekit-hal/blob/master/src/hal/utils/Submakefile#L33> > line > 33 so it becomes this: > $(PROTOBUF_LIBS) $(CZMQ_LIBS) $(AVAHI_LIBS) -lm -lstdc++ -latomic > > Perhaps you need to add -ldl before -latomic also > > Recipe is same for the old mk repo > <https://github.com/machinekit/machinekit/blob/master/src/hal/utils/Submakefile#L33> > > Michael > > On Monday, 28 October 2019 14:12:57 UTC+1, Joseph wrote: >> >> Thank you, Michael. >> >> I am using a brand new RPi4 so, yes, it is buster. Set up using >> machinekit-hal as instructed. Getting the same link error. >> Compiling hal/utils/halcmd_commands.c >> Compiling hal/utils/halsh.c >> Linking hal.so >> Compiling hal/utils/halcmd_main.c >> Compiling hal/utils/halcmd_completion.c >> Linking halcmd >> /usr/bin/ld: objects/hal/utils/halcmd_commands.o: undefined reference to >> symbol '__atomic_load_8@@LIBATOMIC_1.0' >> /usr/bin/ld: //usr/lib/arm-linux-gnueabihf/libatomic.so.1: error adding >> symbols: DSO missing from command line >> collect2: error: ld returned 1 exit status >> make: *** [hal/utils/Submakefile:32: ../bin/halcmd] Error 1 >> make: Leaving directory '/home/pi/machinekit-hal/src' >> >> Is there an expectation for a specific libatomic version? The library on >> the machine is v1.2.0 not 1.0.n. >> It appears the symbol is present in the 1.2 library. >> pi@raspberrypi:/usr/lib/arm-linux-gnueabihf $ strings libatomic.so.1.2.0 >> | grep __atomic_load >> __atomic_load_8 >> __atomic_load_1 >> __atomic_load_2 >> __atomic_load_4 >> __atomic_load >> >> Ever onward, Joe >> ... >> >> >> On Sun, Oct 27, 2019 at 9:27 PM Michael Brown <[email protected]> >> wrote: >> >>> You do not mention which os you are targeting I'll assume its buster >>> from snibbles of what you present: >>> >>> I'm not sure the Machinekit repo is fully prepaired/updated for Debian >>> Buster (as the split -cnc/-hal repos are) >>> So to build natively for buster I'll recommend cloning the machinekit-hal >>> repo <https://github.com/machinekit/machinekit-hal> and following the >>> instructions: >>> >>> If you want to build as a RIP, you need to clone *machinekit-hal*. >>>> >>>> From the root of that clone run scripts/build_with_cnc >>>> >>>> This will clone *machinekit-cnc* into the root of the *machinekit-hal* >>>> clone. >>>> >>>> *machinekit-hal* is built, then *machinekit-cnc* is built with >>>> necessary artifacts from *machinekit-hal* build copied over. >>>> >>>> Then the required libs/binaries/scripts/configs etc are copied into >>>> *machinekit-hal* and the environment var is set ready to run the RIP >>>> >>> >>> from the machinekit-cnc repo >>> <https://github.com/machinekit/machinekit-cnc> >>> >>> Personally I prefer having docker installed and cross-building the >>> packages via the docker-builder >>> <https://github.com/zultron/mk-cross-builder> locally (see Building >>> locally section) >>> >>> Best wishes >>> Michael >>> >>> >>> On Sunday, 27 October 2019 20:08:05 UTC+1, Joseph wrote: >>>> >>>> Standard 32-bit armhf image. Built 4.19.y-rt kernel7l image and >>>> installed. >>>> >>>> Joe >>>> >>>> On Sunday, October 27, 2019 at 11:02:35 AM UTC-7, Michael Brown wrote: >>>>> >>>>> Are you running a 32-bit(armhf) or 64-bit(arm64) build ? >>>>> >>>>> Michael >>>>> >>>>> On Sunday, 27 October 2019 00:35:15 UTC+2, Joseph wrote: >>>>>> >>>>>> First issue: Tried installing the MK package on RPi4 but get >>>>>> dependency error as follows >>>>>> >>>>>> pi@rpi4-2gb:~ $ sudo apt-get install machinekit-rt-preempt >>>>>> Reading package lists... Done >>>>>> Building dependency tree >>>>>> Reading state information... Done >>>>>> Some packages could not be installed. This may mean that you have >>>>>> requested an impossible situation or if you are using the unstable >>>>>> distribution that some required packages have not yet been created >>>>>> or been moved out of Incoming. >>>>>> The following information may help to resolve the situation: >>>>>> >>>>>> The following packages have unmet dependencies: >>>>>> machinekit-rt-preempt : Depends: machinekit (= >>>>>> 0.1.1570528621.git9239acb-1~buster) but it is not going to be installed >>>>>> Depends: yapps2-runtime but it is not >>>>>> installable >>>>>> E: Unable to correct problems, you have held broken packages. >>>>>> >>>>>> >>>>>> >>>>>> Second issue: building MK on RPi4 native and get link error >>>>>> /usr/bin/ld: objects/hal/utils/halcmd_commands.o: undefined reference >>>>>> to symbol '__atomic_load_8@@LIBATOMIC_1.0' >>>>>> /usr/bin/ld: //usr/lib/arm-linux-gnueabihf/libatomic.so.1: error >>>>>> adding symbols: DSO missing from command line >>>>>> collect2: error: ld returned 1 exit status >>>>>> make: *** [hal/utils/Submakefile:32: ../bin/halcmd] Error 1 >>>>>> make: Leaving directory '/home/pi/machinekit/src' >>>>>> >>>>>> The library is present and running strings on it shows the symbol is >>>>>> available >>>>>> >>>>>> pi@rpi4-2gb:/usr/lib/arm-linux-gnueabihf $ ls -l libatom* >>>>>> lrwxrwxrwx 1 root root 18 Apr 15 2019 libatomic.so.1 -> >>>>>> libatomic.so.1.2.0 >>>>>> -rw-r--r-- 1 root root 30104 Apr 15 2019 libatomic.so.1.2.0 >>>>>> pi@rpi4-2gb:/usr/lib/arm-linux-gnueabihf $ strings libatomic.so.1.2.0 >>>>>> fU.+ >>>>>> fU2+ >>>>>> __gmon_start__ >>>>>> _ITM_deregisterTMCloneTable >>>>>> _ITM_registerTMCloneTable >>>>>> __cxa_finalize >>>>>> __atomic_load_8 >>>>>> memcpy >>>>>> __atomic_load_1 >>>>>> __atomic_load_2 >>>>>> __atomic_load_4 >>>>>> __atomic_load >>>>>> ... >>>>>> >>>>>> Has anyone successfully built MK for the RPi4? If so would you share >>>>>> your method? >>>>>> >>>>>> Thank you, Joe >>>>>> >>>>>> -- >>> website: http://www.machinekit.io blog: http://blog.machinekit.io >>> github: https://github.com/machinekit >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Machinekit" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/machinekit/gUgofN5YAPQ/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/machinekit/9f8b99a7-da0f-42e6-8e73-b866e7b2c1a8%40googlegroups.com >>> <https://groups.google.com/d/msgid/machinekit/9f8b99a7-da0f-42e6-8e73-b866e7b2c1a8%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > website: http://www.machinekit.io blog: http://blog.machinekit.io github: > https://github.com/machinekit > --- > You received this message because you are subscribed to a topic in the > Google Groups "Machinekit" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/machinekit/gUgofN5YAPQ/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/machinekit/08f41132-b0d5-4538-b85d-8e05b5631464%40googlegroups.com > <https://groups.google.com/d/msgid/machinekit/08f41132-b0d5-4538-b85d-8e05b5631464%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit --- You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/machinekit/CABOyrCjCevY4w8ifgixduZDYb4uP0Ho-6DTs1GBuf2%3DJATVeLg%40mail.gmail.com.
