Hi all,
I finally upgraded my computer to Xubuntu 22.04 and tried to install 44R28. Naturally I got all the problemas reported at:
https://github.com/JohnWStockwellJr/SeisUnix/issues/86
I read all the discussion in that thread and got not really convinced for some reason. I have changed the Makefile.config inserting after CFLAGS definition:
CFLAGS += -I/usr/include/tirpc -ltirpc (BTW, did the same with C++FLAGS, ust in case)
This solved the problem with the 'rpc/types.h' and possibl others. Then I stumbled upon the ld(1) messages:
....undefined reference to `xdr_<something>'
Next I verified the command being executed, it was:
/usr/bin/gcc -I/usr/local/geof/cwp/include -g -std=c99 -m64 -Wall -ansi -Wno-long-long -DCWP_LITTLE_ENDIAN -DSUXDR -I/usr/include/tirpc -ltirpc sucentsamp.c -L/usr/local/geof/cwp/lib -lsu -lpar -lcwp -lm -o /usr/local/geof/cwp/bin/sucentsamp
Then I started to recall very old experiences in compiltion and linking of programs and changed to the program directoru and changed the command to:
/usr/bin/gcc -I/usr/local/geof/cwp/include -g -std=c99 -m64 -Wall -ansi -Wno-long-long -DCWP_LITTLE_ENDIAN -DSUXDR -I/usr/include/tirpc sucentsamp.c -L/usr/local/geof/cwp/lib -lsu -lpar -lcwp -lm -ltirpc -o /usr/local/geof/cwp/bin/sucentsamp
And Voilá! No errors and no complains at all!
What? Didn't you get the change? It was the position of the "-ltirpc" in the command.
The order of the libraries in the link edit phase can be very importante. The libraries are searched in the order they appear.
I tried to find where those are inserted in the command and found out that those are, or seems to be, in every Makefile down the directory tree in the line:
LFLAGS= $(PRELFLAGS) -L$L -lsu -lpar -lcwp -lm $(POSTLFLAGS)
I changed the variable POSTLFLAGS in Makefile.config and it seems to work, at least in relation to the previous undefined reference.
Now it is barking about:
....undefined reference to `isfinite'
while linking the program "sunan.c".
All references I found so far (abut 3min searching) suggest to comment the lines with the reference to "isfinite", but I am not convinced that this kind of test should be avoided at all.
I am still working on it and, if solved I will come back.
HTH
Roxo
seisunix@mailman.seismic-unix.org