[MDEV-14072] Build failure in mbstream Created: 2017-10-15  Updated: 2017-10-23  Resolved: 2017-10-23

Status: Closed
Project: MariaDB Server
Component/s: Backup, Compiling
Affects Version/s: 10.2.9
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Bernard Spil Assignee: Vladislav Vaintroub
Resolution: Not a Bug Votes: 0
Labels: None
Environment:

FreeBSD 11.1-p1 amd64



 Description   

When building with compression support, linking mbstream fails.

The link.txt script contains the compression libraries twice, removing the first occurence fixes linking.

extra/mariabackup/CMakeFiles/mbstream.dir/link.txt

/usr/bin/c++  -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -isystem /usr/local/include  -isystem /usr/local/include -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -isystem /usr/local/include  -isystem /usr/local/include -DDBUG_OFF   -Wl,-rpath,/usr/local/lib -fstack-protector CMakeFiles/mbstream.dir/ds_buffer.c.o CMakeFiles/mbstream.dir/ds_local.c.o CMakeFiles/mbstream.dir/ds_stdout.c.o CMakeFiles/mbstream.dir/datasink.c.o CMakeFiles/mbstream.dir/xbstream.c.o CMakeFiles/mbstream.dir/xbstream_read.c.o CMakeFiles/mbstream.dir/xbstream_write.c.o  -o mbstream -Wl,-rpath,:::::::::::::: -pthread ../../storage/innobase/libinnobase.a /usr/local/lib/liblz4.so /usr/local/lib/liblzo2.so -llzma -lbz2 /usr/local/lib/libsnappy.so ../../sql/libsql.a ../../mysys/libmysys.a crc/libcrc.a ../../storage/csv/libcsv.a ../../storage/heap/libheap.a ../../storage/maria/libaria.a ../../storage/myisam/libmyisam.a ../../storage/myisammrg/libmyisammrg.a ../../storage/perfschema/libperfschema.a ../../storage/sequence/libsequence.a ../../plugin/feedback/libfeedback.a ../../plugin/user_variables/libuser_variables.a ../../plugin/userstat/libuserstat.a ../../sql/libpartition.a ../../mysys/libmysys.a ../../mysys_ssl/libmysys_ssl.a ../../dbug/libdbug.a ../../mysys/libmysys.a ../../mysys_ssl/libmysys_ssl.a ../../dbug/libdbug.a -lm -lexecinfo ../../strings/libstrings.a ../../vio/libvio.a ../../pcre/libpcre.a -lwrap -lcrypt /usr/local/lib/libssl.so /usr/local/lib/libcrypto.so ../../wsrep/libwsrep.a ../../storage/innobase/libinnobase.a -pthread -lz /usr/local/lib/liblz4.so /usr/local/lib/liblzo2.so -llzma -lbz2 /usr/local/lib/libsnappy.so

Changed into

/usr/bin/c++  -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -isystem /usr/local/include  -isystem /usr/local/include -DWITH_INNODB_DISALLOW_WRITES -fno-rtti -O2 -fno-strict-aliasing -pipe -march=native -fstack-protector -isystem /usr/local/include  -isystem /usr/local/include -DDBUG_OFF   -Wl,-rpath,/usr/local/lib -fstack-protector CMakeFiles/mbstream.dir/ds_buffer.c.o CMakeFiles/mbstream.dir/ds_local.c.o CMakeFiles/mbstream.dir/ds_stdout.c.o CMakeFiles/mbstream.dir/datasink.c.o CMakeFiles/mbstream.dir/xbstream.c.o CMakeFiles/mbstream.dir/xbstream_read.c.o CMakeFiles/mbstream.dir/xbstream_write.c.o  -o mbstream -Wl,-rpath,:::::::::::::: -pthread ../../storage/innobase/libinnobase.a ../../sql/libsql.a ../../mysys/libmysys.a crc/libcrc.a ../../storage/csv/libcsv.a ../../storage/heap/libheap.a ../../storage/maria/libaria.a ../../storage/myisam/libmyisam.a ../../storage/myisammrg/libmyisammrg.a ../../storage/perfschema/libperfschema.a ../../storage/sequence/libsequence.a ../../plugin/feedback/libfeedback.a ../../plugin/user_variables/libuser_variables.a ../../plugin/userstat/libuserstat.a ../../sql/libpartition.a ../../mysys/libmysys.a ../../mysys_ssl/libmysys_ssl.a ../../dbug/libdbug.a ../../mysys/libmysys.a ../../mysys_ssl/libmysys_ssl.a ../../dbug/libdbug.a -lm -lexecinfo ../../strings/libstrings.a ../../vio/libvio.a ../../pcre/libpcre.a -lwrap -lcrypt /usr/local/lib/libssl.so /usr/local/lib/libcrypto.so ../../wsrep/libwsrep.a ../../storage/innobase/libinnobase.a -pthread -lz /usr/local/lib/liblz4.so /usr/local/lib/liblzo2.so -llzma -lbz2 /usr/local/lib/libsnappy.so

Fixes the build



 Comments   
Comment by Bernard Spil [ 2017-10-15 ]

Fixed this in the FreeBSD port by modifying the link.txt file removing the first of the duplicate

sed -e 's| ${PREFIX}/lib/liblz4.so\(.* ${PREFIX}/lib/liblz4.so.*\)|\1|' \
                -e 's| ${PREFIX}/lib/liblzo2.so\(.* ${PREFIX}/lib/liblzo2.so.*\)|\1|' \
                -e 's| ${PREFIX}/lib/libsnappy.so\(.* ${PREFIX}/lib/libsnappy.so\)|\1|' \
                -e 's| -llzma\(.* -llzma\)|\1|;s| -lbz2\(.* -lbz2\)|\1|;' \
                ${WRKSRC}/extra/mariabackup/CMakeFiles/mbstream.dir/link.txt

Comment by Vladislav Vaintroub [ 2017-10-23 ]

If linking with libraries twice confuses the linker, it is a linker problem, isn't it?

Generated at Thu Feb 08 08:10:42 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.