Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
5.5.37, 5.5.38, 10.0.10
-
Debian official build system
Description
As seen at https://buildd.debian.org/status/package.php?p=mariadb-5.5 the Debian MariaDB packages do not build on architecture kfreebsd (both i386 and amd64). Builds fail with the error:
mysql-test-run: *** ERROR: Socket path '/tmp/0rfd4fI37_' too long, it would be truncated and thus not possible to use for connection to MySQL Server. Set a shorter with --tmpdir=<path> option
|
Equivalent MySQL packages build successfully as seen on https://buildd.debian.org/status/package.php?p=mysql-5.5
Maybe there are some patches in MySQL that could be imported into MariaDB?
Attachments
Issue Links
- relates to
-
MDEV-6577 auth_socket.so does not build in kFreeBSD
-
- Closed
-
- links to
I don't see anything obvious in MTR that could cause the difference between MySQL and MariaDB, the fragments of code that do the check for socket path length are identical.
If you could apply (temporarily!) the patch below, we might gather more information about what is going on. The patch itself cannot fix anything, it just adds more logging.
=== modified file 'mysql-test/lib/My/Platform.pm'
--- mysql-test/lib/My/Platform.pm 2011-06-30 15:37:13 +0000
+++ mysql-test/lib/My/Platform.pm 2014-02-20 10:51:00 +0000
@@ -120,6 +120,16 @@
my $len = length($path) - length($tmpdir) - 1;
my $testfile = $tmpdir . "/" . "x" x ($len > 0 ? $len : 1);
my $sock;
+ print("Trying to create socket with name $testfile\n");
+ if (-e $testfile) {
+ print("...but $testfile already exists\n");
+ if (-d $testfile) {
+ print("...and $testfile is a directory\n");
+ }
+ if (! -w $testfile) {
+ print("...and $testfile is not writable\n");
+ }
+ }
eval {
$sock= new IO::Socket::UNIX
(
@@ -128,10 +138,10 @@
);
$truncated= 1; # Be negatvie
- die "Could not create UNIX domain socket: $!"
+ print("Could not create socket\n") && die "Could not create UNIX domain socket: $!"
unless defined $sock;
- die "UNIX domain socket path was truncated"
+ print("Socket path was truncated to ".$sock->hostpath()."\n") && die "UNIX domain socket path was truncated"
unless ($testfile eq $sock->hostpath());
$truncated= 0; # Yes, it worked!