InterNetNews / inn

INN (InterNetNews) Usenet server
https://www.isc.org/othersoftware/#INN
Other
68 stars 12 forks source link

Latest git pull fails to build (reconfiguring needed) #301

Closed nelgin closed 2 months ago

nelgin commented 2 months ago

I updated my Linux system to Ubuntu 24.04 and needed to update inn to use the new libraries.

I did

git pull make update

but it failed at:

libtool: link: rm -fr  .libs/libinn.a .libs/libinn.la .libs/libinn.lai .libs/libinn.so .libs/libinn.so.9 .libs/libinn.so.9.0.0
libtool: link: gcc -shared  -fPIC -DPIC  .libs/setproctitle.o .libs/sd-daemon.o .libs/strlcat.o .libs/strlcpy.o .libs/argparse.o .libs/artnumber.o .libs/buffer.o .libs/cleanfrom.o .libs/clientactive.o .libs/clientlib.o .libs/commands.o .libs/concat.o .libs/conffile.o .libs/confparse.o .libs/date.o .libs/dbz.o .libs/defdist.o .libs/dispatch.o .libs/fdflag.o .libs/fdlimit.o .libs/getfqdn.o .libs/getmodaddr.o .libs/hash.o .libs/hashtab.o .libs/headers.o .libs/hex.o .libs/innconf.o .libs/inndcomm.o .libs/list.o .libs/localopen.o .libs/lockfile.o .libs/makedir.o .libs/md5.o .libs/messageid.o .libs/messages.o .libs/mmap.o .libs/network.o .libs/network-innbind.o .libs/newsuser.o .libs/nntp.o .libs/qio.o .libs/radix32.o .libs/readin.o .libs/remopen.o .libs/reservedfd.o .libs/resource.o .libs/secrets.o .libs/sendarticle.o .libs/sendpass.o .libs/sequence.o .libs/timer.o .libs/tst.o .libs/uwildmat.o .libs/vector.o .libs/wire.o .libs/xfopena.o .libs/xmalloc.o .libs/xsignal.o .libs/xwrite.o    -fstack-protector-strong -Wl,-z -Wl,relro -Wl,-z -Wl,now   -Wl,-soname -Wl,libinn.so.9 -o .libs/libinn.so.9.0.0
libtool: link: (cd ".libs" && rm -f "libinn.so.9" && ln -s "libinn.so.9.0.0" "libinn.so.9")
libtool: link: (cd ".libs" && rm -f "libinn.so" && ln -s "libinn.so.9.0.0" "libinn.so")
libtool: link: ar cr .libs/libinn.a  setproctitle.o sd-daemon.o strlcat.o strlcpy.o argparse.o artnumber.o buffer.o cleanfrom.o clientactive.o clientlib.o commands.o concat.o conffile.o confparse.o date.o dbz.o defdist.o dispatch.o fdflag.o fdlimit.o getfqdn.o getmodaddr.o hash.o hashtab.o headers.o hex.o innconf.o inndcomm.o list.o localopen.o lockfile.o makedir.o md5.o messageid.o messages.o mmap.o network.o network-innbind.o newsuser.o nntp.o qio.o radix32.o readin.o remopen.o reservedfd.o resource.o secrets.o sendarticle.o sendpass.o sequence.o timer.o tst.o uwildmat.o vector.o wire.o xfopena.o xmalloc.o xsignal.o xwrite.o
libtool: link: ranlib .libs/libinn.a
libtool: link: ( cd ".libs" && rm -f "libinn.la" && ln -s "../libinn.la" "libinn.la" )
gcc -g -O2 -fPIE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -I../include  -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/x86_64-linux-gnu/perl/5.36/CORE -Wno-extra -c perl.c
perl.c:23:14: fatal error: EXTERN.h: No such file or directory
   23 | #    include <EXTERN.h>
      |              ^~~~~~~~~~

So stuck with a non working server. Since when has linux used upper case library names?

Julien-Elie commented 2 months ago

It is a Perl header file. I recommend to reconfigure INN after updating your operating system as locations and libraries may have changed (is it still Perl 5.36?).

make maintclean
./autogen
./configure with your flags (found at the beginning of config.log **before** running make maintclean)
make
make tests
make update
Julien-Elie commented 2 months ago

And naturally the last command (make update) is run as root so that the permissions and ownerships are correctly set.

nelgin commented 2 months ago

Perfect. That fixes both issues, Thank you.

nelgin commented 2 months ago

This procedure should probably be documented in INSTALL or even better, a separate UPDATING file, maybe?

Julien-Elie commented 2 months ago

It is said in the BOOTSTRAP file you see at the root of the Git checkout. And also in HACKING.

nelgin commented 2 months ago

Neither I read during an update. It's already bootstrapped and I'm not hacking anything.