[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

link error on Alpine Linux

From: Bruno Haible
Subject: link error on Alpine Linux
Date: Wed, 01 Feb 2023 20:43:11 +0100

On Alpine Linux, the compilation produces warnings:

gcc -DHAVE_CONFIG_H -I. -I../../liba2ps -I..  -I.. -I../../liba2ps -I../../lib 
-I../lib -DLOCALEDIR=\"/home/bruno/inst-x86_64-64/share/locale\" 
-DSYSCONFFILE=\"/home/bruno/inst-x86_64-64/etc/a2ps.cfg\" -DHAVE_CONFIG_H 
-I/home/bruno/inst-x86_64-64/include -Wall  -g -O2 -MT libnowarnings_a-regex.o 
-MD -MP -MF .deps/libnowarnings_a-regex.Tpo -c -o libnowarnings_a-regex.o `test 
-f 'regex.c' || echo '../../liba2ps/'`regex.c
../../liba2ps/regex.c: In function 'regerror':
../../liba2ps/regex.c:5785:22: warning: implicit declaration of function 
'__mempcpy'; did you mean 'mempcpy'? [-Wimplicit-function-declaration]
 5785 |           *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
      |                      ^~~~~~~~~
      |                      mempcpy
../../liba2ps/regex.c:5785:13: warning: cast to pointer from integer of 
different size [-Wint-to-pointer-cast]
 5785 |           *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';
      |             ^

and later fails with a link error:

libtool: link: gcc -g -O2 -o a2ps main.o read.o sshread.o ssheet.o select.o 
generate.o delegate.o buffer.o versions.o ffaces.o  
-L/home/bruno/inst-x86_64-64/lib ../liba2ps/.libs/liba2ps.a 
../liba2ps/libnowarnings.a libparse.a ../lib/.libs/libgnu.a -lm 
/home/bruno/inst-x86_64-64/lib/libgc.so -lpthread -ldl 
/home/bruno/inst-x86_64-64/lib/libpaper.so -Wl,-rpath 
-Wl,/home/bruno/inst-x86_64-64/lib -Wl,-rpath -Wl,/home/bruno/inst-x86_64-64/lib
 ../liba2ps/libnowarnings.a(libnowarnings_a-regex.o): in function `regerror':
/home/bruno/a2ps-4.14.94/build-64/liba2ps/../../liba2ps/regex.c:5785: undefined 
reference to `__mempcpy'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:1576: a2ps] Error 1

The cause is in the file liba2ps/regex.c. This is a completely, hopelessly
outdated regex code. It's highly recommended to use to gnulib 'regex' module,
which is not only well tested, but also POSIX compliant!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]