[MDEV-23027] symlink_wsrep_sst_rsync target built when WITH_WSREP is off Created: 2020-06-26  Updated: 2020-07-16  Resolved: 2020-07-13

Status: Closed
Project: MariaDB Server
Component/s: Compiling, Configuration, Galera, Scripts & Clients
Affects Version/s: 10.4.13
Fix Version/s: 10.1.46, 10.2.33, 10.3.24, 10.4.14, 10.5.5

Type: Bug Priority: Major
Reporter: Chris Ross Assignee: Vicențiu Ciorbaru
Resolution: Fixed Votes: 0
Labels: None
Environment:

Linux


Attachments: File mariadb_MDEV-23027.patch-10.4.13     File mariadb_MDEV-23027.patch-10.5.4    

 Description   

I am configuring with numerous options including -DWITH_WSREP=OFF -DPLUGIN_WSREP_INFO=NO. But, after cmake generates the build framework, I see the following as the last item in a build:

Scanning dependencies of target symlink_wsrep_sst_rsync
[100%] Generating wsrep_sst_rsync_wan
[100%] Built target symlink_wsrep_sst_rsync

Additionally, after this, looking in scripts shows:

% ls -l scripts
...
-rwxr-xr-x  1 cross2 5011   62527 Jun 26 12:28 mytop
-rw-r--r--  1 cross2 5011   62527 May  9 15:28 mytop.sh
-rw-r--r--  1 cross2 5011   10688 May  9 15:28 wsrep_sst_common.sh
-rw-r--r--  1 cross2 5011   37509 May  9 15:28 wsrep_sst_mariabackup.sh
-rw-r--r--  1 cross2 5011    8020 May  9 15:28 wsrep_sst_mysqldump.sh
-rw-r--r--  1 cross2 5011   17062 May  9 15:28 wsrep_sst_rsync.sh
lrwxrwxrwx  1 cross2 5011      15 Jun 26 13:28 wsrep_sst_rsync_wan -> wsrep_sst_rsync

I think this shouldn't be built at all, and I think it's doing something wrong. (symlink to non-existent file)

Why is there a block related to wsrep_sst_rsync_wan/symlink_wsrep_sst_rsync starting at line 336 in scripts/CMakeLists.txt, but the majority of the WSREP scripts are back at line 276 protected inside of a

IF(WITH_WSREP)

?



 Comments   
Comment by Chris Ross [ 2020-07-09 ]

Attempting the same in 10.5.4, I see fewer scripts installed, but the same issue exists. I do see the invalid symlink and all of the man pages for WSREP are getting installed. Configuring with -DWITH_WSREP=OFF -DPLUGIN_WSREP_INFO=NO, I still see the following in install_manifest.txt

> grep wsrep_sst *(.) | less
install_manifest.txt:/usr/include/mysql/server/private/./wsrep_sst.h
install_manifest.txt:/usr/share/man/man1/wsrep_sst_common.1
install_manifest.txt:/usr/share/man/man1/wsrep_sst_mysqldump.1
install_manifest.txt:/usr/share/man/man1/wsrep_sst_rsync.1
install_manifest.txt:/usr/share/man/man1/wsrep_sst_mariabackup.1
install_manifest.txt:/usr/share/man/man1/wsrep_sst_rsync_wan.1
install_manifest.txt:/usr/bin/wsrep_sst_rsync_wan

And, that mentioned link points to a non-existent file

> cd INSTALLROOT/usr/bin
> ls -l wsrep_sst*
lrwxrwxrwx 1 cross2 5011 15 Jul  9 16:48 wsrep_sst_rsync_wan -> wsrep_sst_rsync
 
> ls -lL wsrep_sst_rsync_wan
ls: cannot access 'wsrep_sst_rsync_wan': No such file or directory

Comment by Chris Ross [ 2020-07-10 ]

I attached the patches I used to avoid the extraneous files for 10.4.13 and 10.5.4. Likely not the cleanest way to do it, but just FYI.

Comment by Vicențiu Ciorbaru [ 2020-07-13 ]

Fixed with:
https://github.com/MariaDB/server/commit/f73db93329c1d22f9ca5696b46d50d137e6095ad

cross Thanks for the patch, it made it faster to track the problem, although I didn't quite use your version.

Comment by Chris Ross [ 2020-07-13 ]

cvicentiu You're welcome. I thought there might be cleaner solutions, yours looks great. Thanks for the quick response!

Generated at Thu Feb 08 09:19:17 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.