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] 
> <javascript:>> 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] <javascript:>.
>> 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 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/08f41132-b0d5-4538-b85d-8e05b5631464%40googlegroups.com.

Reply via email to