Welcome, Guest
Username: Password: Remember me

TOPIC: ProviewR on Raspberry Pi

ProviewR on Raspberry Pi 6 months 1 week ago #12348

  • claes
  • claes's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 3219
  • Thank you received: 515
  • Karma: 134
Hi Snarf,

To build the plc executable for rpi you need to link with proview archives built for arm, and there are specific packages for both debian and ubuntu that contains cross compiled archives for rpi. These are pwrrpi61 for 32 bit arm and pwrrpi6461 for arm64. You will find them under the debian and ubuntu folders.

/Claes
The administrator has disabled public write access.

ProviewR on Raspberry Pi 6 months 1 week ago #12349

  • Snarf77
  • Snarf77's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 860
  • Thank you received: 2
  • Karma: 5
Hi Claes,
installing the ubuntu pwrrpi6461 package solved the volume build but building the node still fails due to :
Setting base /usr/pwr61
** Plc program link errors for arm64_linux node plc_plcsimbl_0001_plc
/home/pwrp/pi/ToolChain/x-tools/aarch64-rpi3-linux-gnu/bin/../lib/gcc/aarch64-rpi3-linux-gnu/14.1.0/../../../../aarch64-rpi3-linux-gnu/bin/ld.bfd: cannot find -ltirpc: No such file or directory
collect2: error: ld returned 1 exit status
%GSX-F-CCERROR, Error from c compiler or linker

Nevertheless libtirpc-dev is installed on the dev station

Any idea what is missing ?

Thnanks
Snarf
The administrator has disabled public write access.

ProviewR on Raspberry Pi 6 months 1 week ago #12351

  • claes
  • claes's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 3219
  • Thank you received: 515
  • Karma: 134
Hi Snarf,

In recent releases the Sun rpc has been replaced by tirpc, but tirpc is not yet included in the cross compiler so libtiprc has to be copied from an rpi node. This is described in ProviewR on Rasberry Pi:
The archive libtirpc has to be added to the cross compiler, and can be copied from the rpi node.

For 32-bit ARM
Copy /usr/lib/arm-linux-gnueabihf/libtirpc.a on the rpi to /usr/arm-linux-gnueabihf/lib/ on the development station.

For 64-bit ARM
Copy /usr/lib/aarch64-linux-gnu/libtirpc.a on the rpi to /usr/aarch64-linux-gnu/lib/ on the development station.

/Claes
The administrator has disabled public write access.

ProviewR on Raspberry Pi 4 months 1 week ago #12367

  • Snarf77
  • Snarf77's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 860
  • Thank you received: 2
  • Karma: 5
Sorry for long delay but I was really overwhelmed by other stuff and got diverted from my rpi

Now I m back with this topic and I can t find the explanation you mentioned ? Where is that described or mentioned (which document) ?
I tried to copy it as you mentioned but I don t have any aarch64 lib folder on my machine.

Is what you described only for rpi dev station to program to rpi node ? my machine is a ubuntu 22.04 64 bit and in /usr/lib I just have lib / lib32 and lib64 folder. Should I copy it elsewhere or is my mpve not the good one ?
Thanks
Snarf
The administrator has disabled public write access.

ProviewR on Raspberry Pi 4 months 1 week ago #12373

  • Snarf77
  • Snarf77's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 860
  • Thank you received: 2
  • Karma: 5
Hi guys,

Still not succeeding to compile for my rpi.
I tried to copy the archive libtirc.a to my ubuntu /usr/lib64 with no success.
I understand later on that it is related to cross compiler which is located in my case in :
/home/pwrp/pi/ToolChain/x-tools/aarch64-rpi3-linux-gnu/aarch64-rpi3-linux-gnu/
So I copied the lib into :
/home/pwrp/pi/ToolChain/x-tools/aarch64-rpi3-linux-gnu/aarch64-rpi3-linux-gnu/lib/
as this is what looks like best to Claes suggestion but now the error message is totally different:
** Plc program link errors for arm64_linux node plc_plcsimbl_0001_plc
/home/pwrp/pi/ToolChain/x-tools/aarch64-rpi3-linux-gnu/bin/../lib/gcc/aarch64-rpi3-linux-gnu/14.1.0/../../../../aarch64-rpi3-linux-gnu/bin/ld.bfd: /usr/pwr61/os_linux/hw_arm64/exp/lib/libpwr_rt.a(rt_io_m_pncontrollersoftingpnak.o): in function `__gnu_cxx::__is_single_threaded()':
/usr/aarch64-linux-gnu/include/c++/11/ext/atomicity.h:52:(.text._ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv[_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv]+0x20): undefined reference to `__libc_single_threaded'
/home/pwrp/pi/ToolChain/x-tools/aarch64-rpi3-linux-gnu/bin/../lib/gcc/aarch64-rpi3-linux-gnu/14.1.0/../../../../aarch64-rpi3-linux-gnu/bin/ld.bfd: /usr/aarch64-linux-gnu/include/c++/11/ext/atomicity.h:52:(.text._ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv[_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv]+0x24): undefined reference to `__libc_single_threaded'
/home/pwrp/pi/ToolChain/x-tools/aarch64-rpi3-linux-gnu/bin/../lib/gcc/aarch64-rpi3-linux-gnu/14.1.0/../../../../aarch64-rpi3-linux-gnu/bin/ld.bfd: /usr/aarch64-linux-gnu/include/c++/11/ext/atomicity.h:52:(.text._ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv[_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv]+0xdc): undefined reference to `__libc_single_threaded'
/home/pwrp/pi/ToolChain/x-tools/aarch64-rpi3-linux-gnu/bin/../lib/gcc/aarch64-rpi3-linux-gnu/14.1.0/../../../../aarch64-rpi3-linux-gnu/bin/ld.bfd: /usr/aarch64-linux-gnu/include/c++/11/ext/atomicity.h:52:(.text._ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv[_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv]+0xe0): undefined reference to `__libc_single_threaded'
/home/pwrp/pi/ToolChain/x-tools/aarch64-rpi3-linux-gnu/bin/../lib/gcc/aarch64-rpi3-linux-gnu/14.1.0/../../../../aarch64-rpi3-linux-gnu/bin/ld.bfd: /usr/aarch64-linux-gnu/include/c++/11/ext/atomicity.h:52:(.text._ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv[_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv]+0x20): undefined reference to `__libc_single_threaded'
/home/pwrp/pi/ToolChain/x-tools/aarch64-rpi3-linux-gnu/bin/../lib/gcc/aarch64-rpi3-linux-gnu/14.1.0/../../../../aarch64-rpi3-linux-gnu/bin/ld.bfd: /usr/pwr61/os_linux/hw_arm64/exp/lib/libpwr_rt.a(rt_io_m_pncontrollersoftingpnak.o):/usr/aarch64-linux-gnu/include/c++/11/ext/atomicity.h:52: more undefined references to `__libc_single_threaded' follow
collect2: error: ld returned 1 exit status
%GSX-F-CCERROR, Error from c compiler or linker
Don t know if I m getting closer or am totally off road...
Hope someone can help me a bit..
Thanks in advance
Snarf
The administrator has disabled public write access.

ProviewR on Raspberry Pi 4 months 1 week ago #12375

  • claes
  • claes's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 3219
  • Thank you received: 515
  • Karma: 134
Hi Snarf,

The difference I can see is that I installed gcc-aarch64-linux-gnu and g++-aarch64-linux-gnu (without rpi3) from the standard distribution. rpi3 sounds like a better choice but at least I didn't get any undefined references.

/Claes
The administrator has disabled public write access.
Time to create page: 7.683 seconds