Saqlain Saqlain - 5 months ago 26
Linux Question

-bash: ./configure: /usr/bin/perl^M: bad interpreter: No such file or directory

I am trying to build qt-everywhere-opensource-src-5.0.2 on Ubuntu 12.04, when i try to execute configure script with

./configure


command I get

-bash: ./configure: /usr/bin/perl^M: bad interpreter: No such file or directory


I got Perl version 5.14 installed on my system.

Configure script also shared below...

#!/usr/bin/perl

#############################################################################

##

## Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).

## Contact: http://www.qt-project.org/legal

##

## This file is part of the build tools of the Qt Toolkit.

##

## $QT_BEGIN_LICENSE:LGPL$

## Commercial License Usage

## Licensees holding valid commercial Qt licenses may use this file in

## accordance with the commercial license agreement provided with the

## Software or, alternatively, in accordance with the terms contained in

## a written agreement between you and Digia. For licensing terms and

## conditions see http://qt.digia.com/licensing. For further information

## use the contact form at http://qt.digia.com/contact-us.

##

## GNU Lesser General Public License Usage

## Alternatively, this file may be used under the terms of the GNU Lesser

## General Public License version 2.1 as published by the Free Software

## Foundation and appearing in the file LICENSE.LGPL included in the

## packaging of this file. Please review the following information to

## ensure the GNU Lesser General Public License version 2.1 requirements

## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.

##

## In addition, as a special exception, Digia gives you certain additional

## rights. These rights are described in the Digia Qt LGPL Exception

## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.

##

## GNU General Public License Usage

## Alternatively, this file may be used under the terms of the GNU

## General Public License version 3.0 as published by the Free Software

## Foundation and appearing in the file LICENSE.GPL included in the

## packaging of this file. Please review the following information to

## ensure the GNU General Public License version 3.0 requirements will be

## met: http://www.gnu.org/copyleft/gpl.html.

##

##

## $QT_END_LICENSE$

##

#############################################################################



####################################################################################################

#

# Mother script for Qt Modularization

#

####################################################################################################



use strict;

use warnings;



use File::Basename;

use File::Path;

use Cwd;

use Cwd 'abs_path';

use Config;



# Makes sure the arguments are directories, and creates them if not.

# Will die if there is an error.

sub ensureDir {

foreach (@_) {

if (-e $_) {

if (-d $_) {

next;

} else {

die ("$_ exists, but is not a directory");

}

}

File::Path::mkpath($_) or die("Could not create $_");

}

}



# `system', but also print the command

sub system_v

{

print "+ @_\n";

return system(@_);

}



my $relpath = dirname(abs_path($0));

$relpath =~ s,\\,/,g;

# the current directory is the "build tree" or "object tree"

my $outpath = getcwd();



if (! -e "$relpath/qtbase/configure") {

die("$relpath/qtbase/configure not found. Did you forget to run \"init-repository\"?");

}



ensureDir("$outpath/qtbase");

chdir("$outpath/qtbase");

my $ret = system_v("$relpath/qtbase/configure", @ARGV);

if ($ret != 0) {

print "*** qtbase/configure exited with non-zero status.\n";

exit ($ret>>8) ;

}



chdir("$outpath");



$ret = system_v("$outpath/qtbase/bin/qmake", "$relpath/qtsdk.pro");

exit ($ret>>8);

Answer

Change your line endings to linux one.

dos2unix yourscript.pl

Or you could call your program with perl

perl yourscript.pl