1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 <2024> 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 <2024> 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: [EXTERNAL]Re: Asyn Module Cross-Compilation: Cannot find -ltirpc |
From: | "Ramirez-Morales, Jacob J \(CONTR\) via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "Johnson, Andrew N." <anj at anl.gov>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 15 Jul 2024 21:30:53 +0000 |
Hi Andrew, Thank you for your response! Yes I have tried setting TIRPC=NO, by leaving the main CONFIG_SITE file intact this leaves the (TIRPC=YES commented) and manually setting TIRPC=YES, on the CONFIG_SITE.Common.linux-x86_64. By doing this, it results in the following error
code: “ In file included from vxi11core_xdr.c:6: Vxi11core.h:9:10: fatal error: rpc/rpc.h: No such file or directory 9 | #include <rpc/rpc.h> | compilation terminated. Also, I have both libtirpc and libtirpc-devel installed. I have run through the commands you have shown below, and I get the exact same outputs. Best, Jacob R. From: Johnson, Andrew N. <anj at anl.gov>
Hi Jacob, Whether you need to use tirpc for the cRIO build would depend on the libc (presumably glibc) that your linux-x86_64-cRIO target uses, not what OS the cross-compiler runs on. I don't know the answer to that, but given the error you are seeing
have you tried setting TIRPC=NO in your CONFIG_SITE.Common.linux-x86_64.linux-x86_64-cRIO file? That tells the Asyn build that the RPC routines are found in the standard C libraries, not in an external rpc library. If you have been told that you need to use tirpc for the target, it might be that you also need to install a -devel package. On my RHEL-8 system here the host's libtirpc.so.3.0.0 shared library is installed from the RPM libtirpc-1.1.4-8.el8.x86_64
but there is a soft-link used for library versioning and that Asyn actually links to which comes from the RPM libtirpc-devel-1.1.4-8.el8.x86_64 (and also provides the header files): voltctl% ls -l /usr/lib64/libtirpc* lrwxrwxrwx
1 root root
17 Aug
3 2022 /usr/lib64/libtirpc.so -> libtirpc.so.3.0.0* lrwxrwxrwx. 1 root root
17 Aug
3 2022 /usr/lib64/libtirpc.so.3 -> libtirpc.so.3.0.0* -rwxr-xr-x. 1 root root 217696 Aug
3 2022 /usr/lib64/libtirpc.so.3.0.0* voltctl% rpm -qf /usr/lib64/libtirpc.so.3 libtirpc-1.1.4-8.el8.x86_64 voltctl% rpm -qf /usr/lib64/libtirpc.so.3.0.0
libtirpc-1.1.4-8.el8.x86_64 voltctl% rpm -qf /usr/lib64/libtirpc.so libtirpc-devel-1.1.4-8.el8.x86_64 HTH, - Andrew -- Complexity comes for free, Simplicity you have to work for. |