Paul Eggert wrote:
> + * modules/areadlinkat (Depends-on): Add careadlinkat. Remove
> + areadlink, stdint.
This part leads to a link error on all platforms that don't have readlinkat().
To reproduce:
1. Create a testdir for module 'areadlinkat'.
$ ./gnulib-tool --create-testdir --dir=/tmp/testdir --with-tests areadlinkat
2. Copy it to a platform such as MacOS X 10.5 and compile it:
$ ./configure
$ make
...
gcc -g -O2 -o test-areadlinkat test-areadlinkat.o ../gllib/libgnu.a
Undefined symbols:
"_areadlink", referenced from:
_areadlinkat in libgnu.a(areadlinkat.o)
_areadlinkat in libgnu.a(areadlinkat.o)
_areadlinkat in libgnu.a(areadlinkat.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[4]: *** [test-areadlinkat] Error 1
This fixes it:
2011-04-09 Bruno Haible <[email protected]>
areadlinkat: Avoid link error on many platforms.
* modules/areadlinkat (Depends-on): Add areadlink.
--- modules/areadlinkat.orig Sat Apr 9 18:23:35 2011
+++ modules/areadlinkat Sat Apr 9 18:23:13 2011
@@ -6,6 +6,7 @@
lib/areadlinkat.c
Depends-on:
+areadlink
careadlinkat
readlinkat
--
In memoriam Georg Elser <http://en.wikipedia.org/wiki/Georg_Elser>