Perl Module not executing on Windows 2000

U

Uncle Sam

Hi,
This is regarding a perl module being called through a Perl Script.
The problem is recenlty the OS platform where the script was running
was changed from WINNT to Windows 2000 and the perl version 8.5.1 was
installed after that the script is executing without executing the Perl
Module. I have tried to extract the Perl Environment settings( Enclosed
Below) I just wanted to know what can be the points of investigation to
debug the problem as the script along with Perl module is executing
fine in older enivironment. Is it some system settings to be modified
or something els to be done. Please help me out :

=============== Perl Env Settings ======================
Summary of my perl5 (revision 5 version 8 subversion 1) configuration:
Platform: osname=MSWin32, osvers=4.0,
archname=MSWin32-x86-multi-thread uname='' config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef usethreads=undef
use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32
-D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO
-DPERL_MSVCRT_READFIX',
optimize='-MD -Zi -DNDEBUG -O1', cppflags='-DWIN32'
ccversion='', gccversion='', gccosandvers='' intsize=4,
longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64',
lseeksi
ze=8 alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf
-libpath:"D:
\Perl\lib\CORE" -machine:x86' libpth=C:\PROGRA~1\MICROS~3\VC98\lib
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32
..lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib
uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib
odbccp32.lib msvcrt.lib
perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib netapi32.lib uuid.lib
wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes,
libperl=perl58.lib gnulibc_version='undef'

Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-opt:ref,icf -libpath:"D:\Perl\lib\CORE" -machine:x86'
libpth=C:\PROGRA~1\MICROS~3\VC98\lib libs= oldnames.lib
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib
wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib
perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib netapi32.lib uuid.lib
wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes,
libperl=perl58.lib
gnulibc_version='undef'

Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-opt:ref,icf -libpath:"D:\Perl\lib\CORE" -machine:x86'


Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
Locally applied patches: ActivePerl Build 807 Built under
MSWin32 Compiled at Nov 3 2003 18:19:11
@INC: D:/Perl/lib D:/Perl/site/lib .
================================================================
 
P

Peter Wyzl

: Hi,
: This is regarding a perl module being called through a Perl Script.
: The problem is recenlty the OS platform where the script was running
: was changed from WINNT to Windows 2000 and the perl version 8.5.1 was
: installed after that the script is executing without executing the Perl
: Module. I have tried to extract the Perl Environment settings( Enclosed
: Below) I just wanted to know what can be the points of investigation to
: debug the problem as the script along with Perl module is executing
: fine in older enivironment. Is it some system settings to be modified
: or something els to be done. Please help me out :

You mean Perl 5.8.1. Perl 8 is a long ways off yet...

Could it be that the module is not a core module and you have not installed
it in the Win2k environment?

Since you don't provide any idea what the error is or waht the module is,
this is just a guess...

P
 
U

Uncle Sam

Hi Peter,

This is regarding a Perl Module namely : AdminMisc.pm used in our
application. In on of the Perl Script we make use of the AdminMisc.pm
to connect to a Domain Controller and gets some data from there.

Problem is :recenlty the OS platform where the script was running was
changed from WINNT to Windows 2000 and the perl version 8.5.1 was
installed after that the script is executing without executing the Perl
Module(AdminMisc.pm ). I have tried to extract the Perl Environment
settings( Enclosed Below) I just wanted to know what can be the points
of investigation to debug the problem as the script along with Perl
module is executing fine in older enivironment. Is it some system
settings to be modified or something else to be done. Any kind of an
update to this issue will be of great help. Lookin forward to your
advise.
======================== Perl Env Settings
================================
Summary of my perl5 (revision 5 version 8 subversion 1) configuration:
Platform: osname=MSWin32, osvers=4.0,
archname=MSWin32-x86-multi-thread uname='' config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef usethreads=undef
use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32
-D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO
-DPERL_MSVCRT_READFIX',
optimize='-MD -Zi -DNDEBUG -O1', cppflags='-DWIN32'
ccversion='', gccversion='', gccosandvers='' intsize=4,
longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64',
lseeksi
ze=8 alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf
-libpath:"D:
\Perl\lib\CORE" -machine:x86' libpth=C:\PROGRA~1\MICROS~3\VC98\lib
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32
..lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib
uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib
odbccp32.lib msvcrt.lib
perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib netapi32.lib uuid.lib
wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes,
libperl=perl58.lib gnulibc_version='undef'

Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-opt:ref,icf -libpath:"D:\Perl\lib\CORE" -machine:x86'
libpth=C:\PROGRA~1\MICROS~3\VC98\lib libs= oldnames.lib
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib
wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib
perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib netapi32.lib uuid.lib
wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes,
libperl=perl58.lib
gnulibc_version='undef'

Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-opt:ref,icf -libpath:"D:\Perl\lib\CORE" -machine:x86'


Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
Locally applied patches: ActivePerl Build 807 Built under
MSWin32 Compiled at Nov 3 2003 18:19:11
@INC: D:/Perl/lib D:/Perl/site/lib .
=========================================================================================================

=================================== AdminMisc.pm
Code=======================================================

package Win32::AdminMisc;

#
#AdminMisc.pm
# (c) 1996-1999 By Dave Roth <[email protected]>
# Courtesy of Roth Consulting
# http://www.roth.net/consult

require Exporter;
require DynaLoader;

$PACKAGE = $Package = "Win32::AdminMisc";
$VERSION = 19990405;

die "The $Package module works only on Windows NT" if
(!Win32::IsWinNT() );

@ISA= qw( Exporter DynaLoader );
# Items to export into callers namespace by default. Note: do not
export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
@EXPORT = qw(
LOGON32_LOGON_INTERACTIVE
LOGON32_LOGON_BATCH
LOGON32_LOGON_SERVICE
LOGON32_LOGON_NETWORK

FILTER_TEMP_DUPLICATE_ACCOUNT
FILTER_NORMAL_ACCOUNT
FILTER_INTERDOMAIN_TRUST_ACCOUNT
FILTER_WORKSTATION_TRUST_ACCOUNT
FILTER_SERVER_TRUST_ACCOUNT

UF_TEMP_DUPLICATE_ACCOUNT
UF_NORMAL_ACCOUNT
UF_INTERDOMAIN_TRUST_ACCOUNT
UF_WORKSTATION_TRUST_ACCOUNT
UF_SERVER_TRUST_ACCOUNT
UF_MACHINE_ACCOUNT_MASK
UF_ACCOUNT_TYPE_MASK
UF_DONT_EXPIRE_PASSWD
UF_SETTABLE_BITS
UF_SCRIPT
UF_ACCOUNTDISABLE
UF_HOMEDIR_REQUIRED
UF_LOCKOUT
UF_PASSWD_NOTREQD
UF_PASSWD_CANT_CHANGE

USE_FORCE
USE_LOTS_OF_FORCE
USE_NOFORCE

USER_PRIV_MASK
USER_PRIV_GUEST
USER_PRIV_USER
USER_PRIV_ADMIN

DRIVE_REMOVABLE
DRIVE_FIXED
DRIVE_REMOTE
DRIVE_CDROM
DRIVE_RAMDISK


EWX_LOGOFF
EWX_FORCE
EWX_POWEROFF
EWX_REBOOT
EWX_SHUTDOWN

STARTF_USESHOWWINDOW
STARTF_USEPOSITION
STARTF_USESIZE
STARTF_USECOUNTCHARS
STARTF_USEFILLATTRIBUTE
STARTF_FORCEONFEEDBACK
STARTF_FORCEOFFFEEDBACK
STARTF_USESTDHANDLES

CREATE_DEFAULT_ERROR_MODE
CREATE_NEW_CONSOLE
CREATE_NEW_PROCESS_GROUP
CREATE_SEPARATE_WOW_VDM
CREATE_SUSPENDED
CREATE_UNICODE_ENVIRONMENT
DEBUG_PROCESS
DEBUG_ONLY_THIS_PROCESS
DETACHED_PROCESS;

HIGH_PRIORITY_CLASS
IDLE_PRIORITY_CLASS
NORMAL_PRIORITY_CLASS
REALTIME_PRIORITY_CLASS

SW_HIDE
SW_MAXIMIZE
SW_MINIMIZE
SW_RESTORE
SW_SHOW
SW_SHOWDEFAULT
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
SW_SHOWNA
SW_SHOWNOACTIVATE
SW_SHOWNORMAL

STD_INPUT_HANDLE
STD_OUTPUT_HANDLE
STD_ERROR_HANDLE

FOREGROUND_RED
FOREGROUND_BLUE
FOREGROUND_GREEN
FOREGROUND_INTENSITY
BACKGROUND_RED
BACKGROUND_BLUE
BACKGROUND_GREEN
BACKGROUND_INTENSITY

MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
JOB_ADD_CURRENT_DATE
JOB_RUN_PERIODICALLY
JOB_EXEC_ERROR
JOB_RUNS_TODAY
JOB_NONINTERACTIVE

ENV_SYSTEM
ENV_USER

GROUP_TYPE_ALL
GROUP_TYPE_LOCAL
GROUP_TYPE_GLOBAL

FS_CASE_IS_PRESERVED
FS_CASE_SENSITIVE
FS_UNICODE_STORED_ON_DISK
FS_PERSISTENT_ACLS
FS_FILE_COMPRESSION
FS_VOL_IS_COMPRESSED

AF_OP_PRINT
AF_OP_COMM
AF_OP_SERVER
AF_OP_ACCOUNTS

);


sub AUTOLOAD
{
# This AUTOLOAD is used to 'autoload' constants from the constant()
# XS function. If a constant is not found then control is passed
# to the AUTOLOAD in AutoLoader.

my( $Constant ) = $AUTOLOAD;
my( $Result, $Value );
$Constant =~ s/.*:://;

$Result = GetConstantValue( $Constant, $Value );

if( 0 == $Result )
{
# The extension could not resolve the constant...
$AutoLoader::AUTOLOAD = $AUTOLOAD;
goto &AutoLoader::AUTOLOAD;
return;
}
elsif( 1 == $Result )
{
# $Result == 1 if the constant is valid but not defined
# that is, the extension knows that the constant exists but for
# some wild reason it was not compiled with it.
$pack = 0;
($pack,$file,$line) = caller;
print "Your vendor has not defined $Package macro $constname,
used in $file at line $line.";
}
elsif( 2 == $Result )
{
# If $Result == 2 then we have a string value
$Value = "'$Value'";
}
# If $Result == 3 then we have a numeric value

eval "sub $AUTOLOAD { return( $Value ); }";
goto &$AUTOLOAD;
}


bootstrap $Package;

# Preloaded methods go here.

# Autoload methods go after __END__, and are processed by the autosplit
program.

1;
__END__

========================================================================================================
 
T

thundergnat

Uncle said:
Hi Peter,

This is regarding a Perl Module namely : AdminMisc.pm used in our
application. In on of the Perl Script we make use of the AdminMisc.pm
to connect to a Domain Controller and gets some data from there.

Problem is :recenlty the OS platform where the script was running was
changed from WINNT to Windows 2000 and the perl version 8.5.1 was
installed after that the script is executing without executing the Perl
Module(AdminMisc.pm ). I have tried to extract the Perl Environment
settings( Enclosed Below) I just wanted to know what can be the points
of investigation to debug the problem as the script along with Perl
module is executing fine in older enivironment. Is it some system
settings to be modified or something else to be done. Any kind of an
update to this issue will be of great help. Lookin forward to your
advise.


I may be wrong, but I suspect that this page may be of help.

(Google is your friend.)

http://www.roth.net/perl/adminmisc/#ParseException
 
S

Sisyphus

Uncle Sam said:
Hi Peter,

This is regarding a Perl Module namely : AdminMisc.pm used in our
application. In on of the Perl Script we make use of the AdminMisc.pm
to connect to a Domain Controller and gets some data from there.

The most important info you can give us is the one-or-two line error message
that occurs when you run your script. (There's a good chance that's *all* we
need to see.) Without that there's too much guesswork involved.

I can guess that you're current Win32::AdminMisc was built for a version of
perl that's earlier than 5.8.0 - but without the error message, that's just
a stab in the dark.

Cheers,
Rob
 
U

Uncle Sam

Hi,

No error comes up when the perl script using this package executes only
thing is it exits from there . Here are some facts :

Perl Version : 5.8.1.807
Perl Code using the package :
use Win32::AdminMisc;
sub get_pdc
{
print "SUB : get_pdc";
($pdc = Win32::AdminMisc::GetPDC($domain)) or &logoff("Error : No
PDC for domain $domain found!\n");
}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,154
Members
46,701
Latest member
XavierQ83

Latest Threads

Top