EPICS Home

Experimental Physics and Industrial Control System


 
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  <20222023  2024  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  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: SynApps compilation error
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: "Marco A. Barra Montevechi Filho" <marco.filho at lnls.br>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Mon, 22 Aug 2022 22:53:25 +0000
The first solution is preferred. The error you are getting in sscan is completely separate, and may be solved in a more recent version.

Mark


Sent from my iPhone

On Aug 22, 2022, at 12:40 PM, Marco A. Barra Montevechi Filho via Tech-talk <tech-talk at aps.anl.gov> wrote:


Hello all.

Im trying to compile synApps in my local machine. I had the problem in which make release inside synApps_6_1/support was freezing but as Iain suggested, commenting XXX in configure/RELEASE solved it.

Im now having trouble with make rebuild. I found two strategies that take me further into the compilation process, but both end up in barriers i cannot advance. Simply trying "make rebuild" ​right after commenting XXX in configure/RELEASE gets me:

In file included from vxi11core.h:9,
                 from vxi11core_xdr.c:6:
/usr/include/rpc/rpc.h:38:10: fatal error: rpc/types.h: No such file or directory
   38 | #include <rpc/types.h>          /* some typedefs */
      |          ^~~~~~~~~~~~~
compilation terminated.

I found two strategies, one in tech-talk and one in ask ubuntu.

1 (tech-talk solution in https://epics.anl.gov/tech-talk/2020/msg00444.php): uncomment # TIRPC=YES in asyn_version/configure/CONFIG_SITE. I append the result below.

2  (ask ubuntu solution in https://askubuntu.com/questions/1360945/fatal-error-rpc-rpc-h-no-such-file-or-directory): do "apt-get install libntirpc-dev" and create symlinks in /usr/include/rpc pointing to /usr/include/tirpc/rpc.

Anyone have any tips on how to proceed?

Appends:
1 - result of first solution:

/usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET  -D_X86_64_ -DUNIX  -Dlinux      -O3 -g   -Wall -Werror-implicit-function-declaration      -mtune=generic     -m64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include      -I/home/marco/EPICS/synApps_6_1/support/seq-2-2-6/include -I/home/marco/EPICS/epics-base/include/compiler/gcc -I/home/marco/EPICS/epics-base/include/os/Linux -I/home/marco/EPICS/epics-base/include        -c ../req_file.c
/usr/bin/gcc  -D_GNU_SOURCE -D_DEFAULT_SOURCE        -DUSE_TYPED_RSET  -D_X86_64_ -DUNIX  -Dlinux      -O3 -g   -Wall -Werror-implicit-function-declaration      -mtune=generic     -m64  -fPIC -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include      -I/home/marco/EPICS/synApps_6_1/support/seq-2-2-6/include -I/home/marco/EPICS/epics-base/include/compiler/gcc -I/home/marco/EPICS/epics-base/include/os/Linux -I/home/marco/EPICS/epics-base/include        -c ../saveData_writeXDR.c
../saveData_writeXDR.c: In function ‘saveData_Init’:
../saveData_writeXDR.c:798:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
  798 |     else
      |     ^~~~
../saveData_writeXDR.c:801:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
  801 |         return;
      |         ^~~~~~
../saveData_writeXDR.c: In function ‘extraValCallback’:
../saveData_writeXDR.c:1839:9: error: unknown type name ‘READONLY’
 1839 |         READONLY DBR_VAL * pval = eha.dbr;
      |         ^~~~~~~~
../saveData_writeXDR.c:1839:26: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
 1839 |         READONLY DBR_VAL * pval = eha.dbr;
      |                          ^
../saveData_writeXDR.c:1848:37: error: ‘pval’ undeclared (first use in this function)
 1848 |                 size= strlen((char*)pval);
      |                                     ^~~~
../saveData_writeXDR.c:1848:37: note: each undeclared identifier is reported only once for each function it appears in
../saveData_writeXDR.c: In function ‘extraDescCallback’:
../saveData_writeXDR.c:1886:9: error: unknown type name ‘READONLY’
 1886 |         READONLY DBR_VAL * pval = eha.dbr;
      |         ^~~~~~~~
../saveData_writeXDR.c:1886:26: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
 1886 |         READONLY DBR_VAL * pval = eha.dbr;
      |                          ^
../saveData_writeXDR.c:1890:38: error: ‘pval’ undeclared (first use in this function)
 1890 |         strncpy(pnode->desc, (char *)pval, MAX_STRING_SIZE);
      |                                      ^~~~
../saveData_writeXDR.c: In function ‘saveExtraPV’:
../saveData_writeXDR.c:2250:18: warning: variable ‘channel’ set but not used [-Wunused-but-set-variable]
 2250 |         chid     channel;
      |                  ^~~~~~~
make[4]: *** [/home/marco/EPICS/epics-base/configure/RULES_BUILD:259: saveData_writeXDR.o] Error 1
make[4]: Leaving directory '/home/marco/EPICS/synApps_6_1/support/sscan-R2-11-3/sscanApp/src/O.linux-x86_64'
make[3]: *** [/home/marco/EPICS/epics-base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2
make[3]: Leaving directory '/home/marco/EPICS/synApps_6_1/support/sscan-R2-11-3/sscanApp/src'
make[2]: *** [/home/marco/EPICS/epics-base/configure/RULES_DIRS:85: src.install] Error 2
make[2]: Leaving directory '/home/marco/EPICS/synApps_6_1/support/sscan-R2-11-3/sscanApp'
make[1]: *** [/home/marco/EPICS/epics-base/configure/RULES_DIRS:85: sscanApp.install] Error 2
make[1]: Leaving directory '/home/marco/EPICS/synApps_6_1/support/sscan-R2-11-3'
make: *** [/home/marco/EPICS/epics-base/configure/RULES_DIRS:85: /home/marco/EPICS/synApps_6_1/support/sscan-R2-11-3.install] Error 2


2 - Result of second solution:

First compiler complains about not finding netconfig.h. I then create a symlink to it in /usr/include poiting to /usr/include//usr/include/tirpc/netconfig.h.

Then:


/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE          -D_X86_64_ -DUNIX  -Dlinux      -O3 -g   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../../include/compiler/gcc -I../../../../include/os/Linux -I../../../../include      -I/home/marco/EPICS/synApps_6_1/support/ipac-2-15/include   -I/home/marco/EPICS/synApps_6_1/support/seq-2-2-6/include -I/home/marco/EPICS/epics-base/include/compiler/gcc -I/home/marco/EPICS/epics-base/include/os/Linux -I/home/marco/EPICS/epics-base/include        -MM -MF asynPortDriverTest.d  ../asynPortDriverTest.cpp
/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE          -D_X86_64_ -DUNIX  -Dlinux      -O3 -g   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../../include/compiler/gcc -I../../../../include/os/Linux -I../../../../include      -I/home/marco/EPICS/synApps_6_1/support/ipac-2-15/include   -I/home/marco/EPICS/synApps_6_1/support/seq-2-2-6/include -I/home/marco/EPICS/epics-base/include/compiler/gcc -I/home/marco/EPICS/epics-base/include/os/Linux -I/home/marco/EPICS/epics-base/include        -c ../asynPortDriverTest.cpp
/usr/bin/g++ -o asynPortDriverTest  -L/home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64 -L/home/marco/EPICS/epics-base/lib/linux-x86_64 -Wl,-rpath,/home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64 -Wl,-rpath,/home/marco/EPICS/epics-base/lib/linux-x86_64          -rdynamic -m64         asynPortDriverTest.o    -lasyn -lCom  
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_bytes'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_free'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `clnt_sperror'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_bool'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_int'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `clnt_spcreateerror'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_string'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_void'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_enum'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `clnttcp_create'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_u_char'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_u_int'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_u_short'
/usr/bin/ld: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64/libasyn.so: undefined reference to `xdr_char'
collect2: error: ld returned 1 exit status
make[3]: *** [/home/marco/EPICS/epics-base/configure/RULES_BUILD:231: asynPortDriverTest] Error 1
make[3]: Leaving directory '/home/marco/EPICS/synApps_6_1/support/asyn-R4-36/asyn/asynPortDriver/unittest/O.linux-x86_64'
make[2]: *** [/home/marco/EPICS/epics-base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2
make[2]: Leaving directory '/home/marco/EPICS/synApps_6_1/support/asyn-R4-36/asyn/asynPortDriver/unittest'
make[1]: *** [/home/marco/EPICS/epics-base/configure/RULES_DIRS:85: asyn/asynPortDriver/unittest.install] Error 2
make[1]: Leaving directory '/home/marco/EPICS/synApps_6_1/support/asyn-R4-36'
make: *** [/home/marco/EPICS/epics-base/configure/RULES_DIRS:85: /home/marco/EPICS/synApps_6_1/support/asyn-R4-36.install] Error 2

Aviso Legal: Esta mensagem e seus anexos podem conter informações confidenciais e/ou de uso restrito. Observe atentamente seu conteúdo e considere eventual consulta ao remetente antes de copiá-la, divulgá-la ou distribuí-la. Se você recebeu esta mensagem por engano, por favor avise o remetente e apague-a imediatamente.

Disclaimer: This email and its attachments may contain confidential and/or privileged information. Observe its content carefully and consider possible querying to the sender before copying, disclosing or distributing it. If you have received this email by mistake, please notify the sender and delete it immediately.


Replies:
Re: SynApps compilation error Marco A. Barra Montevechi Filho via Tech-talk
References:
SynApps compilation error Marco A. Barra Montevechi Filho via Tech-talk

Navigate by Date:
Prev: Re: SynApps compilation error Lucas Russo via Tech-talk
Next: Re: SynApps compilation error Marco A. Barra Montevechi Filho via Tech-talk
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  <20222023  2024 
Navigate by Thread:
Prev: Re: SynApps compilation error Lucas Russo via Tech-talk
Next: Re: SynApps compilation error Marco A. Barra Montevechi Filho via Tech-talk
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  <20222023  2024