File: myld

package info (click to toggle)
libdbd-mysql-perl 4.016-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 892 kB
  • ctags: 382
  • sloc: ansic: 3,942; perl: 3,300; makefile: 16
file content (61 lines) | stat: -rwxr-xr-x 1,709 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# -*- cperl -*-
#
# Small frontend for ld that ought to catch common problems
# in the linking stage
#

use strict;
use Data::Dumper;

# fix to get link on Mac OSX to work!
if ($ARGV[0] =~ /MACOSX/)
{
  my ($macenv, $macenvval) = split('=',$ARGV[0]);;
  $ENV{$macenv} = $macenvval;
  shift @ARGV;
}
open(OLDSTDERR, ">&STDERR") || die "Failed to backup STDERR: $!";
open(FILE, ">myld.stderr") || die "Failed to create myld.stderr: $!";
open(STDERR, ">&FILE") || die "Failed to redirect STDERR: $!";
my $retval = system(@ARGV);

open(STDERR, ">&OLDSTDERR");
close(FILE) || die "Failed to close myld.stderr: $!";
my $contents = "";
if (-f "myld.stderr"  &&  !-z _) {
  open(FILE, "<myld.stderr") || die "Failed to reopen myld.stderr: $!";
  local $/ = undef;
  $contents = <FILE>;
  die "Failed to read myld.stderr: $!" unless defined($contents);
  close(FILE) || die "Failed to close myld.stderr: $!";

  if ($contents =~ /cannot find -l(g?z)/i) {
    my $missing = $1;
    print <<"MSG";
$contents

An error occurred while linking the DBD::mysql driver. The error
message seems to indicate that you don't have a lib$missing.a,
or a lib$missing.so. There are a few ways to resolve this:

1) You may try to remove the -lz or -lgz flag from the libs list
   by using the --libs switch for "perl Makefile.PL".
2) On Red Hat Linux and SUSE Linux, install the zlib-devel package
   (sometimes called libz-devel)
3) On Debian and Ubuntu, install the zlib1g-dev package
4) On other systems, please contact the mailing list

     perl\@lists.mysql.com

For further hints, see INSTALL.html, section Linker flags.
MSG
    exit 1;
  }
}

if ($retval) {
  print STDERR $contents;
  exit 1;
}

END { unlink "myld.stderr"; }