CC: | chrisburel [...] gmail.com |
Subject: | Installatiob On Windows |
Dear,
- I have perl 5.10 built 1008 on Windows Vista system
- I have installed QT SDK 4.5.5 (C:\Qt\2010.05)
- I have installed cmake : cmake-2.8.3-win32-x86
- I have update MakeFile.PL to allow download of kdebindings files with
4.5.5 version.
- I have changed extract_kdebindings to allow extraction on Windows
system using Archive::Extract. I have join the makefile.pl programme
updated.
But the cmake command system failed.
==========================================
C:\Alien-QtSmoke-4.5.5>perl Makefile.PL
Set up gcc environment - 4.3.3
Attempting to download kdebindings source package
from
http://chernabog.cc.vt.edu/pub/projects/kde/stable/4.5.5/src/kdebindings-4.5.5.tar.bz2
Successfully downloaded kdebindings source.
Extraction of C:\Alien-QtSmoke-4.5.5\src\kdebindings-4.5.5.tar.bz2
Successfully extracted kdebindings source.
Build kdebindings in C:\Alien-QtSmoke-4.5.5\src\kdebindings-4.5.5\build
Run : cmake ..
-DCMAKE_INSTALL_PREFIX=C:\Alien-QtSmoke-4.5.5\lib\Alien\QtSmoke
-DENABLE_SMOKE=on -DENABLE_QTRUBY=off -DENABLE_QTWEBKIT_SMOKE=off
-DENABLE_QTSCRIPT_SMOKE=off -DENABLE_QTUITOOLS_SMOKE=off
-DENABLE_QTTEST_SMOKE=off -DENABLE_PHONON_SMOKE=off -DENABLE_QSCI_SM
OKE=off -DENABLE_QWT_SMOKE=off -DENABLE_KDE_SMOKE=off
-DENABLE_KDEVPLATFORM_SMOKE=off -DENABLE_KHTML_SMOKE=off
-DENABLE_KTEXTEDITOR_SMOKE=off -DENABLE_SOLID_SMOKE=off
-DENABLE_PLASMA_SMOKE=off -DENABLE_QTWEBKIT_RUBY=off
-DENABLE_QTUITOOLS_RUBY=off -DENABLE_QTSCRIPT=off
-DENABLE_QTTEST=off -DENABLE_PHONON_RUBY=off
-DENABLE_QSCINTILLA_RUBY=off -DENABLE_QWT_RUBY=off
-DENABLE_SOPRANO_RUBY=off -DENABLE_KDEVPLATFORM_RUBY=off
-DENABLE_KORUNDUM_RUBY=off -DENABLE_KHTML_RUBY=off
-DENABLE_KTEXTEDITOR_RUBY=off -DENABLE_SOLID_RUBY=off -DENABLE_KRO
SSRUBY=off -DENABLE_PLASMA_RUBY=off -DENABLE_QIMAGEBLITZ_SMOKE=off -Wno-dev
-- Building for: NMake Makefiles
CMake Warning at CMakeLists.txt:1 (project):
To use the NMake generator, cmake must be run from a shell that can
use the
compiler cl from the command line. This environment does not contain
INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
work.
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Warning at C:/Program Files/CMake
2.8/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 (ENABLE_LANGUAGE):
To use the NMake generator, cmake must be run from a shell that can
use the
compiler cl from the command line. This environment does not contain
INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
work.
Call Stack (most recent call first):
C:/Program Files/CMake
2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 (INCLUDE)
CMakeLists.txt:1 (project)
CMake Error: your RC compiler: "CMAKE_RC_COMPILER-NOTFOUND" was not
found. Please set CMAKE_RC_COMPILER to a valid compiler path or name.
-- Check for CL compiler version
-- Check for CL compiler version - failed
-- Check if this is a free VC compiler
-- Check if this is a free VC compiler - yes
-- Using FREE VC TOOLS, NO DEBUG available
-- Check for working C compiler: cl
CMake Warning at CMakeLists.txt:2 (PROJECT):
To use the NMake generator, cmake must be run from a shell that can
use the
compiler cl from the command line. This environment does not contain
INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
work.
CMake Warning at C:/Program Files/CMake
2.8/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 (ENABLE_LANGUAGE):
To use the NMake generator, cmake must be run from a shell that can
use the
compiler cl from the command line. This environment does not contain
INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
work.
Call Stack (most recent call first):
C:/Program Files/CMake
2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 (INCLUDE)
CMakeLists.txt:2 (PROJECT)
CMake Error at C:/Program Files/CMake
2.8/share/cmake-2.8/Modules/CMakeRCInformation.cmake:22
(GET_FILENAME_COMPONENT):
get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
C:/Program Files/CMake
2.8/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:28 (ENABLE_LANGUAGE)
C:/Program Files/CMake
2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:60 (INCLUDE)
CMakeLists.txt:2 (PROJECT)
CMake Error: CMAKE_RC_COMPILER not set, after EnableLanguage
CMake Error: your C compiler: "cl" was not found. Please set
CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Check for working C compiler: cl -- broken
CMake Error at C:/Program Files/CMake
2.8/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE):
The C compiler "cl" is not able to compile a simple test program.
It fails with the following output:
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:1 (project)
CMake Error: your C compiler: "cl" was not found. Please set
CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: your CXX compiler: "cl" was not found. Please set
CMAKE_CXX_COMPILER to a valid compiler path or name.
-- Configuring incomplete, errors occurred!
C:\Alien-QtSmoke-4.5.5>
=====================================================
Can you help me ?
C:\Alien-QtSmoke-4.5.5>echo %PATH%
C:\Program
Files\ImageMagick-6.6.2-Q16;C:\Perl\site\bin;C:\Perl\bin;C:\Program
Files\Common Files\Microsoft Shared\Windows
Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\hp\bin\Python;c:\Program
Files\Common Files\Roxio Shared\DLLShared\;C:\Program File
s\Subversion\bin;C:\Program
Files\Java\jdk1.6.0_17\bin;c:\www\php-5;c:\www\apache-2.2\bin;C:\www\mysql\bin;C:\Program
Files\Smart
Projects\IsoBuster;C:\gcc\bin;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
Files\Windows Live\Shared;C:\Progra
m Files\QuickTime\QTSystem\;C:\Program Files\CMake 2.8\bin
Best regards,
DJIBEL
Subject: | QtSmoke.pm |
package Alien::QtSmoke;
use strict;
use warnings;
use File::Spec;
our $VERSION = '4.5.5';
my $prefix;
sub prefix {
return $prefix if $prefix;
my $ext = '.pm';
$prefix = join '/', split '::', __PACKAGE__;
$prefix = File::Spec->rel2abs( $INC{ $prefix . $ext } );
$prefix =~ s/$ext$//;
return $prefix;
}
sub lib {
my $class = shift;
File::Spec->catdir( $class->prefix, 'lib' );
}
sub include {
my $class = shift;
File::Spec->catdir( $class->prefix, 'include' );
}
sub version {
return $VERSION;
}
1;
__END__
=head1 NAME
Alien::QtSmoke
=head1 SYNOPSIS
use Alien::QtSmoke;
my $prefix = Alien::QtSmoke->prefix;
my $include = Alien::QtSmoke->include;
my $lib = Alien::QtSmoke->lib;
my $ver = Alien::QtSmoke->ver;
=head1 DESCRIPTION
This module takes care of detecting configuration settings of the QtSmoke
library.
=cut
Subject: | Makefile.PL |
#!/usr/bin/perl
use strict;
use warnings;
use lib 'lib';
use Alien::QtSmoke;
use Cwd;
use File::Fetch;
use File::Path;
use File::Spec;
use ExtUtils::MakeMaker;
my $OS = $^O;
my $CWD = Cwd::cwd();
main();
sub main {
# Get kdebindings files
my $src = fetch_kdebindings();
# Extract compressed file
extract_kdebindings($src);
chdir $CWD;
# Build kdebindings
build_kdebindings();
# ==========> move return if build ok <====================
return;
chdir $CWD;
# Write Makefile
WriteMakefile(
NAME => 'Alien::QtSmoke',
VERSION_FROM => 'lib/Alien/QtSmoke.pm',
AUTHOR => 'Chris Burel <chrisburel[at]gmail[dot]com>',
ABSTRACT => 'Builds the QtSmoke library'
);
return;
}
sub fetch_kdebindings {
my $version = Alien::QtSmoke->version();
my $downloadDir = File::Spec->catdir( $CWD, 'src' );
my @mirrors = (
'http://chernabog.cc.vt.edu/pub/projects', 'http://ftp.gtlib.cc.gatech.edu/pub',
'ftp://carroll.aset.psu.edu/pub', 'http://kde.mirrors.tds.net/pub',
'http://ibiblio.org/pub/mirrors', 'ftp://ftp.ussg.iu.edu/pub',
'http://mirror.cc.columbia.edu/pub/software', 'http://mirrors.isc.org/pub',
'ftp://chernabog.cc.vt.edu/pub/projects', 'ftp://ibiblio.org/pub/mirrors',
'http://ftp.ussg.iu.edu', 'ftp://kde.mirrors.tds.net/pub',
'ftp://ftp.gtlib.cc.gatech.edu/pub',
);
foreach my $url (@mirrors) {
$url .= "/kde/stable/$version/src/kdebindings-$version.tar.bz2";
print "Attempting to download kdebindings source package\n";
print "from $url\n\n";
my $ff = File::Fetch->new( uri => $url ) or next;
my $loc = $ff->fetch( to => $downloadDir ) or next;
next if ( !$loc || $ff->error() );
print "Successfully downloaded kdebindings source.\n\n";
return $loc;
}
die 'Unable to fetch kdebinding source.';
}
sub extract_kdebindings {
my $file = shift;
print "Extraction of $file\n";
if ( !-e $file ) { die "not file to extracts\n"; }
my $src_dir = File::Spec->catdir( $CWD, 'src' );
if ( $OS ne 'MSWin32' ) {
chdir $src_dir;
my $command = "tar -xf $src_dir";
system $command == 0 or die("Unable to extract sources: $command ($!)");
return;
}
# Windows system
require Archive::Extract;
if ( $file !~ /(?:\.(?:tar(?:\.(?:gz|bz2))?|gz(?:ip)?|Z|(?:un)?zip)$)/ ) {
die "Perl can not extract sources $file\n";
}
my $obj_archive_extract = Archive::Extract->new( archive => $file );
my $ok = $obj_archive_extract->extract( to => $src_dir ) or die $obj_archive_extract->error;
print "Successfully extracted kdebindings source.\n\n";
return 1;
}
sub build_kdebindings {
my $version = Alien::QtSmoke->version();
my $prefix = Alien::QtSmoke->prefix();
my $srcDir = File::Spec->catdir( $CWD, 'src', "kdebindings-$version" );
my $buildDir = File::Spec->catdir( $srcDir, 'build' );
my $qtSmokeBuildDir = File::Spec->catdir( $buildDir, 'smoke', 'qt' );
File::Path::mkpath($buildDir);
chdir $buildDir;
print "Build kdebindings in $buildDir\n\n";
# Just build QtSmoke
my $cmakeArgs
= '-DCMAKE_INSTALL_PREFIX='
. $prefix . ' '
. '-DENABLE_SMOKE=on '
. '-DENABLE_QTRUBY=off '
. '-DENABLE_QTWEBKIT_SMOKE=off '
. '-DENABLE_QTSCRIPT_SMOKE=off '
. '-DENABLE_QTUITOOLS_SMOKE=off '
. '-DENABLE_QTTEST_SMOKE=off '
. '-DENABLE_PHONON_SMOKE=off '
. '-DENABLE_QSCI_SMOKE=off '
. '-DENABLE_QWT_SMOKE=off '
. '-DENABLE_KDE_SMOKE=off '
. '-DENABLE_KDEVPLATFORM_SMOKE=off '
. '-DENABLE_KHTML_SMOKE=off '
. '-DENABLE_KTEXTEDITOR_SMOKE=off '
. '-DENABLE_SOLID_SMOKE=off '
. '-DENABLE_PLASMA_SMOKE=off '
. '-DENABLE_QTWEBKIT_RUBY=off '
. '-DENABLE_QTUITOOLS_RUBY=off '
. '-DENABLE_QTSCRIPT=off '
. '-DENABLE_QTTEST=off '
. '-DENABLE_PHONON_RUBY=off '
. '-DENABLE_QSCINTILLA_RUBY=off '
. '-DENABLE_QWT_RUBY=off '
. '-DENABLE_SOPRANO_RUBY=off '
. '-DENABLE_KDEVPLATFORM_RUBY=off '
. '-DENABLE_KORUNDUM_RUBY=off '
. '-DENABLE_KHTML_RUBY=off '
. '-DENABLE_KTEXTEDITOR_RUBY=off '
. '-DENABLE_SOLID_RUBY=off '
. '-DENABLE_KROSSRUBY=off '
. '-DENABLE_PLASMA_RUBY=off '
. '-DENABLE_QIMAGEBLITZ_SMOKE=off';
my $command = "cmake .. $cmakeArgs -Wno-dev";
print "Run : $command\n\n";
system $command; # == 0 or die("Running cmake failed: $!\ncommand: $command\n\n");
# ==========> move return if cmake ok <====================
return;
chdir $qtSmokeBuildDir;
$command = 'make';
system $command == 0 or die("Compiling QtSmoke failed while running $command: $!\n");
$command = 'make install';
system $command == 0 or die("Compiling QtSmoke failed while running $command: $!\n");
return;
}