-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Open
Description
To check whether shared libraries are supported, the configure script tries to compile a test file. On Linux, GNU, Solaris, and BSD, this test file will be compiled with the version script. On some linkers, this produces an error, because that test file does not produce the symbols expected by the version script:
Checking for shared library support...
=== ztest41.c ===
extern int getchar();
int hello() {return getchar();}
===
x86_64-unknown-freebsd13-clang -c -O3 -fPIC ztest41.c
x86_64-unknown-freebsd13-clang -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O3 -fPIC -o ztest41.so ztest41.o
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'compressBound' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'deflateBound' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'inflateBack' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'inflateBackEnd' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'inflateBackInit_' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0' to symbol 'inflateCopy' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'local' to symbol 'deflate_copyright' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'local' to symbol 'inflate_copyright' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'local' to symbol 'inflate_fast' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'local' to symbol 'inflate_table' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'local' to symbol 'zcalloc' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'local' to symbol 'zcfree' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'local' to symbol 'z_errmsg' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'local' to symbol 'gz_error' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'local' to symbol 'gz_intmax' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0.2' to symbol 'gzclearerr' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0.2' to symbol 'gzungetc' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0.2' to symbol 'zlibCompileFlags' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.0.8' to symbol 'deflatePrime' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: version script assignment of 'ZLIB_1.2.2' to symbol 'adler32_combine' failed: symbol not defined
x86_64-unknown-freebsd13-ld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
(exit code 1)
No shared library support; try without defining CC and CFLAGS
On other linkers, the undefined versions are just warnings, so compilation succeeds and the static library is built.
An easy way to reproduce this error if you don't have a linker that defaults to an error here is to run configure with CC='clang -Wl,--no-undefined-version
.
To fix this, the test file probably needs to be compiled without the version script, or with -Wl,--undefined-version
or -Wl,--noinhibit-exec
.
peat-psuwit
Metadata
Metadata
Assignees
Labels
No labels