Can't locate Geo/Gpx.pm in @INC apache

Though there are many queries flowing around asking the same question. But here the error is thrown by apache instead of Perl. I am trying to create an XML Response for the client on Mac OS X Mavericks and have written the perl script as follows:
#!/usr/bin/perl -wT                                                                                                                                                                 
use lib '/opt/local/lib/perl5/site_perl/5.16.1/Geo';
use strict;
use CGI;
use Geo::Gpx;
open (FH, "/tmp/temp/file.txt") or print ("Unable to Open File");
my $gpx = Geo::Gpx->new;
my $cgi = CGI->new;
print $cgi->header(-type=>"text/gpx",-status=>"200 OK");
my $lon;
my @arr = <FH>;
foreach(@arr){
my %waypoints;
my $var = $_;
my @lat = split(/\s+/,$var);
#@waypoints=split(/\s+/,$_);                                                                                                                                                    
$waypoints{$lat[0]}=$lat[1];
$waypoints{$lat[2]}=$lat[3];
$gpx->add_waypoint(\%waypoints);
my $xml = $gpx->xml;
print $xml;
open FILE, ">/tmp/temp/xmlfile.xml" or die $!;
print FILE $xml;
close (FILE);
close(FH);
For the apache to find the actual path of the Gpx.pm, I have used 'use lib' to show it the real path of the file. Although this script is working perfectly on command line, my apache server is throwing the following error:
[Tue Nov 26 18:34:51 2013] [error] [client 127.0.0.1] Can't locate Geo/Gpx.pm in @INC
(@INC contains: /opt/local/lib/perl5/site_perl/5.16.1/Geo /Library/Perl/5.16/darwin-thread-multi-2level
/Library/Perl/5.16 /Network/Library/Perl/5.16/darwin-thread-multi-2level /Network/Library/Perl/5.16
/Library/Perl/Updates/5.16.2 /System/Library/Perl/5.16/darwin-thread-multi-2level /System/Library/Perl/5.16
/System/Library/Perl/Extras/5.16/darwin-thread-multi-2level /System/Library/Perl/Extras/5.16 .) at /Users/Rachit/Sites/temp.pl line 7.
[Tue Nov 26 18:34:51 2013] [error] [client 127.0.0.1] BEGIN failed--compilation aborted at /Users/Rachit/Sites/temp.pl line 7.
I have used macports and have found searching through the Web that Mavericks has got perl 5.16 preinstalled. So apache may be using that and perl is using the macport installed libraries. On checking the paths mentioned by apache error_log file as I posted above, I have copied Gpx.pm in one of the libraries installed in Geo Folder but still not getting it resolved. On running 'which perl' The result
/opt/local/bin/perl
And 'which cpan' is giving
/opt/local/bin/cpan
Kindly fix this issue as I am not able to move forward because of this. And I am not so familiar with apache.
Thanks

Kurt--
You can use CPAN from the Terminal:
<pre class="command">sudo perl -MCPAN -e shell</pre>Then, once you set up CPAN, just run:
<pre class="command">install Bundle::LWP</pre>at the CPAN shell prompt. If you've already set up CPAN, you could try:
<pre class="command">perl -MCPAN -e 'install Bundle::LWP'</pre>though I've never done it that way.
For what it's worth, I've had trouble with CPAN not working until I install LWP, so I just go to the CPAN web site and download it from its page. Unpack it, move to its main directory, and then use:
<pre class="command">make
make test
sudo make install</pre>just like any other Perl module.
charlie

Similar Messages

  • [SOLVED] ABS - building autoconf - Can't locate unicore/PVA.pl

    Tried to build autoconf in ABS and got...
    [abs@slcyoshimitsu autoconf]$ makepkg
    ==> Making package: autoconf 2.69-1 (Tue Jul 10 12:28:09 MDT 2012)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving Sources...
    -> Found autoconf-2.69.tar.xz
    -> Found autoconf-2.69.tar.xz.sig
    ==> Validating source files with md5sums...
    autoconf-2.69.tar.xz ... Passed
    autoconf-2.69.tar.xz.sig ... Passed
    ==> Verifying source file signatures with gpg...
    autoconf-2.69.tar.xz ... FAILED (unknown public key A7A16B4A2527436A)
    ==> WARNING: Warnings have occurred while verifying the signatures.
    Please make sure you really trust them.
    ==> Extracting Sources...
    -> Extracting autoconf-2.69.tar.xz with bsdtar
    ==> Removing existing pkg/ directory...
    ==> Starting build()...
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    configure: autobuild project... GNU Autoconf
    configure: autobuild revision... 2.69
    configure: autobuild hostname... slcyoshimitsu
    configure: autobuild timestamp... 20120710T182810Z
    checking whether /bin/sh -n is known to work... yes
    checking for characters that cannot appear in file names... none
    checking whether directories can have trailing spaces... yes
    checking for expr... /usr/bin/expr
    checking for GNU M4 that supports accurate traces... /usr/bin/m4
    checking whether /usr/bin/m4 accepts --gnu... yes
    checking how m4 supports trace files... --debugfile
    checking for perl... /usr/bin/perl
    checking whether /usr/bin/perl Fcntl::flock is implemented... yes
    checking for emacs... emacs
    checking whether emacs is sufficiently recent... yes
    checking for emacs... emacs
    checking where .elc files should go... ${datarootdir}/emacs/site-lisp
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for a sed that does not truncate output... /bin/sed
    checking whether make is case sensitive... yes
    configure: creating ./config.status
    config.status: creating tests/Makefile
    config.status: creating tests/atlocal
    config.status: creating man/Makefile
    config.status: creating lib/emacs/Makefile
    config.status: creating Makefile
    config.status: creating doc/Makefile
    config.status: creating lib/Makefile
    config.status: creating lib/Autom4te/Makefile
    config.status: creating lib/autoscan/Makefile
    config.status: creating lib/m4sugar/Makefile
    config.status: creating lib/autoconf/Makefile
    config.status: creating lib/autotest/Makefile
    config.status: creating bin/Makefile
    config.status: executing tests/atconfig commands
    make all-recursive
    make[1]: Entering directory `/home/abs/core/autoconf/src/autoconf-2.69'
    Making all in bin
    make[2]: Entering directory `/home/abs/core/autoconf/src/autoconf-2.69/bin'
    rm -f autom4te autom4te.tmp
    srcdir=''; \
    test -f ./autom4te.in || srcdir=./; \
    sed -e 's|@SHELL[@]|/bin/sh|g' -e 's|@PERL[@]|/usr/bin/perl|g' -e 's|@PERL_FLOCK[@]|yes|g' -e 's|@bindir[@]|/usr/bin|g' -e 's|@pkgdatadir[@]|/usr/share/autoconf|g' -e 's|@prefix[@]|/usr|g' -e 's|@autoconf-name[@]|'`echo autoconf | sed 's,x,x,'`'|g' -e 's|@autoheader-name[@]|'`echo autoheader | sed 's,x,x,'`'|g' -e 's|@autom4te-name[@]|'`echo autom4te | sed 's,x,x,'`'|g' -e 's|@M4[@]|/usr/bin/m4|g' -e 's|@M4_DEBUGFILE[@]|--debugfile|g' -e 's|@M4_GNU[@]|--gnu|g' -e 's|@AWK[@]|gawk|g' -e 's|@RELEASE_YEAR[@]|'`sed 's/^\([0-9][0-9][0-9][0-9]\).*/\1/;q' ../ChangeLog`'|g' -e 's|@VERSION[@]|2.69|g' -e 's|@PACKAGE_NAME[@]|GNU Autoconf|g' -e 's|@configure_input[@]|Generated from autom4te.in; do not edit by hand.|g' ${srcdir}autom4te.in >autom4te.tmp
    chmod +x autom4te.tmp
    chmod a-w autom4te.tmp
    mv autom4te.tmp autom4te
    autom4te_perllibdir='..'/lib AUTOM4TE_CFG='../lib/autom4te.cfg' ../bin/autom4te -B '..'/lib -B '..'/lib --language M4sh --cache '' --melt ./autoconf.as -o autoconf.in
    Can't locate unicore/PVA.pl in @INC (@INC contains: ../lib /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/share/perl5/site_perl/utf8_heavy.pl line 97.
    BEGIN failed--compilation aborted at /usr/share/perl5/core_perl/constant.pm line 45.
    Compilation failed in require at /usr/lib/perl5/core_perl/Data/Dumper.pm line 275.
    BEGIN failed--compilation aborted at /usr/lib/perl5/core_perl/Data/Dumper.pm line 275.
    Compilation failed in require at ../lib/Autom4te/C4che.pm line 33.
    BEGIN failed--compilation aborted at ../lib/Autom4te/C4che.pm line 33.
    Compilation failed in require at ../bin/autom4te line 37.
    BEGIN failed--compilation aborted at ../bin/autom4te line 37.
    make[2]: *** [autoconf.in] Error 2
    make[2]: Leaving directory `/home/abs/core/autoconf/src/autoconf-2.69/bin'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/abs/core/autoconf/src/autoconf-2.69'
    make: *** [all] Error 2
    ==> ERROR: A failure occurred in build().
    Aborting...
    Not sure what it is that I botched-up so hard to get into this state.
    Last edited by Ishpeck (2012-07-13 15:57:38)

    I ended up doing this...
    cd /usr/share/
    rm -rf perl5
    pacman -S perl
    Everything works now.  Somehow, undesirable stuff ended up polluting my perl files.  All is right once again.

  • Help: Running iTunes U perl script: Can't locate Digest/SHA.pm

    We are using IIS 6.0 on Windows Server 2003.
    We have installed v5.008008 of Active Perl.
    We changed the sample iTunesU.pl script with our school data
    When we run the script from the command prompt we get the following error:
    Can't locate Digest/SHA.pm in @INC (@INC contains: E:/Perl/site/lib E:/Perl/lib
    .) at E:\Webapps\ajula\CGI\ITunesU.pl line 87.
    BEGIN failed--compilation aborted at E:\Webapps\ajula\CGI\ITunesU.pl line 87.
    How can fix this problem
    Thanks
    Moshe AJULA.EDU

    I followed the instructions in the sample files.
    On the server I ran perl -MCPAN -e shell
    It showed errors and problem for when installing Digest::SHA and Crypt::SSLeay
    Here is a copy of the restults.
    Can you help me figuring out what is wrong?
    Thanks
    -------------------------- Resutls of install --------------------
    In the cpan> prompt
    cpan shell -- CPAN exploration and modules installation (v1.9102)
    ReadLine support enabled
    cpan> install URI::Escape
    CPAN: Storable loaded ok (v2.16)
    Going to read E:\Perl\cpan\Metadata
    Database was generated on Mon, 26 Nov 2007 10:36:39 GMT
    URI::Escape is up to date (3.28).
    cpan> install Digest::SHA
    Running install for module 'Digest::SHA'
    Running make for M/MS/MSHELOR/Digest-SHA-5.45.tar.gz
    CPAN: checksum security checks disabled because Digest::SHA not installed.
    Please consider installing the Digest::SHA module.
    CPAN: Time::HiRes loaded ok (v1.9707)
    Scanning cache E:\Perl/cpan/build for sizes
    ............................................................................DONE
    CPAN: Compress::Zlib loaded ok (v1.4201)
    CPAN: Archive::Tar loaded ok (v1.3201)
    Digest-SHA-5.45/
    Digest-SHA-5.45/README
    Digest-SHA-5.45/src/
    Digest-SHA-5.45/src/hmac.h
    Digest-SHA-5.45/src/hmacxtra.c
    Digest-SHA-5.45/src/sha.h
    Digest-SHA-5.45/src/shaxtra.c
    Digest-SHA-5.45/src/sha64bit.h
    Digest-SHA-5.45/src/sha64bit.c
    Digest-SHA-5.45/src/hmac.c
    Digest-SHA-5.45/src/sha.c
    Digest-SHA-5.45/Makefile.PL
    Digest-SHA-5.45/examples/
    Digest-SHA-5.45/examples/dups
    Digest-SHA-5.45/META.yml
    Digest-SHA-5.45/Changes
    Digest-SHA-5.45/shasum
    Digest-SHA-5.45/typemap
    Digest-SHA-5.45/MANIFEST
    Digest-SHA-5.45/SHA.pm
    Digest-SHA-5.45/t/
    Digest-SHA-5.45/t/nistbyte.t
    Digest-SHA-5.45/t/nistbit.t
    Digest-SHA-5.45/t/rfc2202.t
    Digest-SHA-5.45/t/bitbuf.t
    Digest-SHA-5.45/t/hmacsha.t
    Digest-SHA-5.45/t/podcover.t
    Digest-SHA-5.45/t/methods.t
    Digest-SHA-5.45/t/sha224.t
    Digest-SHA-5.45/t/dumpload.t
    Digest-SHA-5.45/t/sha384.t
    Digest-SHA-5.45/t/sha1.t
    Digest-SHA-5.45/t/sha512.t
    Digest-SHA-5.45/t/gg.t
    Digest-SHA-5.45/t/allfcns.t
    Digest-SHA-5.45/t/gglong.t
    Digest-SHA-5.45/t/pod.t
    Digest-SHA-5.45/t/woodbury.t
    Digest-SHA-5.45/t/fips198.t
    Digest-SHA-5.45/t/ireland.t
    Digest-SHA-5.45/t/base64.t
    Digest-SHA-5.45/t/sha256.t
    Digest-SHA-5.45/SHA.xs
    CPAN: File::Temp loaded ok (v0.18)
    CPAN.pm: Going to build M/MS/MSHELOR/Digest-SHA-5.45.tar.gz
    Checking if your kit is complete...
    Looks good
    Writing Makefile for Digest::SHA
    Could not read 'E:\Perl\cpan\build\Digest-SHA-5.45-KfEI5d\META.yml'. Falling bac
    k to other methods to determine prerequisites
    'nmake' is not recognized as an internal or external command,
    operable program or batch file.
    MSHELOR/Digest-SHA-5.45.tar.gz
    nmake -- NOT OK
    Warning (usually harmless): 'YAML' not installed, will not store persistent stat
    e
    Running make test
    Can't test without successful make
    Running make install
    Make had returned bad status, install seems impossible
    Failed during this command:
    MSHELOR/Digest-SHA-5.45.tar.gz : make NO
    cpan> install LWP::UserAgent
    LWP::UserAgent is up to date (2.036).
    cpan> install Crypt::SSLeay
    Running install for module 'Crypt::SSLeay'
    Running make for D/DL/DLAND/Crypt-SSLeay-0.57.tar.gz
    CPAN: LWP::UserAgent loaded ok (v2.036)
    Fetching with LWP:
    http://ppm.activestate.com/CPAN/authors/id/D/DL/DLAND/Crypt-SSLeay-0.57.tar.gz
    CPAN: checksum security checks disabled because Digest::SHA not installed.
    Crypt-SSLeay-0.57
    Crypt-SSLeay-0.57/t
    Crypt-SSLeay-0.57/Changes
    Crypt-SSLeay-0.57/lib
    Crypt-SSLeay-0.57/certs
    Crypt-SSLeay-0.57/MANIFEST
    Crypt-SSLeay-0.57/TODO
    Crypt-SSLeay-0.57/typemap
    Crypt-SSLeay-0.57/MANIFEST.SKIP
    Crypt-SSLeay-0.57/eg
    Crypt-SSLeay-0.57/SSLeay.pm
    Crypt-SSLeay-0.57/SSLeay.xs
    Crypt-SSLeay-0.57/README
    Crypt-SSLeay-0.57/Makefile.PL
    Crypt-SSLeay-0.57/META.yml
    Crypt-SSLeay-0.57/eg/lwp-ssl-test
    Crypt-SSLeay-0.57/eg/net-ssl-test
    Crypt-SSLeay-0.57/certs/ca-bundle.crt
    Crypt-SSLeay-0.57/certs/notacakeynopass.pem
    Crypt-SSLeay-0.57/certs/notacacert.pem
    Crypt-SSLeay-0.57/lib/Crypt
    Crypt-SSLeay-0.57/lib/Net
    Crypt-SSLeay-0.57/lib/Net/SSL.pm
    Crypt-SSLeay-0.57/lib/Crypt/SSLeay
    Crypt-SSLeay-0.57/lib/Crypt/SSLeay/MainContext.pm
    Crypt-SSLeay-0.57/lib/Crypt/SSLeay/Conn.pm
    Crypt-SSLeay-0.57/lib/Crypt/SSLeay/X509.pm
    Crypt-SSLeay-0.57/lib/Crypt/SSLeay/Err.pm
    Crypt-SSLeay-0.57/lib/Crypt/SSLeay/CTX.pm
    Crypt-SSLeay-0.57/t/00-basic.t
    Crypt-SSLeay-0.57/t/02-live.t
    Crypt-SSLeay-0.57/t/01-connect.t
    CPAN.pm: Going to build D/DL/DLAND/Crypt-SSLeay-0.57.tar.gz
    ========================================================================
    No installed SSL libraries found in any of the following places.
    c:\openssl
    You will have to either specify a directory location at the following
    prompt, or rerun the Makefile.PL program and use the --lib switch
    to specify the path. If the path in question is considered standard
    on your platform, please consider filing a bug report in order to
    have it taken into account in a subsequent version of Crypt::SSLeay.
    Which SSL install path do you want to use? c:\openssl
    c:\openssl does not appear to be an SSL library installation, since
    the required header files were not found. The build cannot proceed.
    Warning: No success on command[E:\Perl\bin\perl.exe Makefile.PL]
    Warning (usually harmless): 'YAML' not installed, will not store persistent stat
    e
    DLAND/Crypt-SSLeay-0.57.tar.gz
    E:\Perl\bin\perl.exe Makefile.PL -- NOT OK
    Running make test
    Make had some problems, won't test
    Running make install
    Make had some problems, won't install
    Could not read 'E:\Perl\cpan\build\Crypt-SSLeay-0.57-5QWh9O\META.yml'. Falling b
    ack to other methods to determine prerequisites
    Failed during this command:
    DLAND/Crypt-SSLeay-0.57.tar.gz : writemakefile NO 'E:\Perl\bin\pe
    rl.exe Makefile.PL' returned status 512

  • Can't locate CompEMdbconsole.pm in @INC

    Hello,
    I was trying to setup grid control.But getting the below error.Please help me out
    Step Performed until
    1.Installed oracle binaries as oracle user with out errors.
    2.Created a database.
    3.Installed grid binaries as grid user with out errors.
    [grid@grid10g grid]$ emctl start dbconsole
    Can't locate CompEMdbconsole.pm in @INC (@INC contains: %s_javapOracleHome%/sysman/admin/scripts %s_javapOracleHome%/bin /disk1/grid/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /disk1/grid/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /disk1/grid/app/grid/product/11.2.0/grid/perl/lib /disk1/grid/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /disk1/grid/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /disk1/grid/app/grid/product/11.2.0/grid/perl/lib/site_perl /disk1/grid/app/grid/product/11.2.0/grid/perl/libwww-perl/lib /disk1/grid/app/grid/product/11.2.0/grid/perl/ext/POSIX /disk1/grid/app/grid/product/11.2.0/grid/perl/URI /disk1/grid/app/grid/product/11.2.0/grid/perl/HTML_Parser /disk1/grid/app/grid/product/11.2.0/grid/perl/HTML-Parser/lib /disk1/grid/app/grid/product/11.2.0/grid/sysman/admin/scripts /disk1/grid/app/grid/product/11.2.0/grid/bin /disk1/grid/app/grid/product/11.2.0/grid/sysman/admin/scripts/Net-DNS-0.48/lib/ /disk1/grid/app/grid/product/11.2.0/grid/sysman/admin/scripts/libnet-1.19/ .) at /disk1/grid/app/grid/product/11.2.0/grid/bin/EmctlCommon.pm line 597.
    Thanks for help in advance
    Anand

    912327 wrote:
    Sorry but i re installed Oracle 11g R2 on "Oracle Linuc 5"
    Now i m facing another error while i write this command "emctl start dbconsole"
    [oracle@localhost ~]$ emctl status dbconsole
    OC4J Configuration issue. /u01/app/oracle/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_localhost.oracle.com_orcl not found.
    my Oracle SID= orcl
    HostName= localhost.oracle.com
    All other things are working absolutely fine.Be thankful that EM is NOT required to manage or use Oracle RDBMS

  • Error while cloning adcfgclone.pl - Can't locate strict.pm in @INC (@INC ..

    Hi all,
    while running the adcfgclone.pl getting error..
    Can't locate strict.pm in @INC (@INC contains: /d03/appltop/apps/tech_st/10.1.3/perl/lib/5.8.3 /d03/appltop/apps/tech_st/10.1.3/perl/lib/site_perl/5.8.3 /d03/appltop/apps/apps_st/appl/au/12.0.0/perl /d03/appltop/apps/tech_st/10.1.3/Apache/Apache/mod_perl/lib/site_perl/5.8.3/i686-linux-thread-multi /project4/iAS1022/src/buildarea/asg_apache/pre_shiphome/perl/lib/5.00503/i686-linux /project4/iAS1022/src/buildarea/asg_apache/pre_shiphome/perl/lib/5.00503 /project4/iAS1022/src/buildarea/asg_apache/pre_shiphome/perl/lib/site_perl/5.005/i686-linux /project4/iAS1022/src/buildarea/asg_apache/pre_shiphome/perl/lib/site_perl/5.005 .) at adcfgclone.pl line 27.
    I have checked the metalink note1139403.1 also, but i am not understanding how to set the path...
    I am using Oracle Linu5.7 OS
    [root@mgbr12 ~]# perl -v
    This is perl, v5.8.8 built for i386-linux-thread-mult
    please help me to move forward..
    by
    Suresh

    11.2.0.2 ships with perl 5.10.0. So you need to change the values of context variables pointing to PERL5LIB and ADPERLPRG inside the context file.
    vi $CONTEXT_FILE
    Global replace 5.8.3 with 5.10.0
    Save
    cd $ORACLE_HOME/appsutil/template
    vi adxdbctx.tmp
    Global replace 5.8.3 with 5.10.0
    Run adcfgclone.pl, or adconfig or adpreclone.pl and it should work now.
    Hope this helps.
    Mansoor

  • Why is SAPNW allow_start_program() erroring: Can't locate allow_start.al?

    I get the same error with sapnwrfc-0.12 and 0.20.
    I have the Java SAP GUI 7.1Rev4 installed and working.
    The SAP 7.1 SDK is also installed and I can call many RFC's successfully.
    The platform is Perl 5.8.8 RHEL5.
    The error is:
    "Can't locate auto/SAPNW/Connection/allow_start.al in @INC (@INC contains:..."
    The problem is allow_start.al doesn't seem to exist anywhere and I'm doubting that it even should.
    Here's the code.
    #!/usr/bin/perl -w
    use strict;
    no warnings 'once';
    use Data::Dumper;
    use sapnwrfc;
    my $CLIENT     = '096';#$self->
    my %CONNECTION = ('ashost' => '',
              'sysnr'  => '00',
              'client' => '096',
              'user'   => '',
              'passwd' => '',
              'lcheck' => '1',
              'lang'   => 'EN',
              'trace'  => '0',
              'debug'  => '0',
    #print Dumper(%CONNECTION)."\n";
    my $conn = undef;
    eval { $conn = SAPNW::Rfc->rfc_connect(%CONNECTION) };
    if ($@) {
        print STDERR "RFC Connect Failed: $@\n";
    #print Dumper($conn);
    #These are transport programs for files (required by CHECKOUTVIEWX)
    $conn->allow_start_program('sapftp;saphttp;');
    #$conn->allow_start_program('/opt/SAPClients/SAPGUI7.10rev4/bin/sapftp;/opt/SAPClients/SAPGUI7.10rev4/bin/saphttp');
    $conn->disconnect;

    My objective is to download documents from the SAP DMS.
    Note that I'm using the RHEL5 & Perl platform, not XP & .NET.
    My understanding is that I need to use BAPI_DOCUMENT_CHECKOUTVIEWX and that that RFC won't work without the sapftp & saphttp transport programs.
    So that's why I'm trying to do:
    $conn->allow_start_program('sapgui;sapftp;saphttp;');
    If you've got a better way I'm all ears.
    Here's my beta code:
    sub get_Bapi_Document_Getobjectdocs {
    #PURPOSE:     Fetches the documents associated with a given work order
    #ASSUMPTIONS: Both the sapnwrfc shared object libraries are installed and the
    #             Perl interface to them (SAPNW::Rfc) are installed and working.
    #EFFECTS:    
    #INPUTS:     
    #RETURNS:     $cols:  Reference to List of column names (1D)
    #             $rows:  Reference to List of data rows (2D)
    #             $names: Reference to Hash of column names (1D)
      my ($opts) = @_;
      #Mandatory Options
      my $cols        = (exists $opts->{'-cols'})?$opts->{'-cols'}:return([],[],{});
      my $rows        = (exists $opts->{'-rows'})?$opts->{'-rows'}:return([],[],{});
      my $names       = (exists $opts->{'-names'})?$opts->{'-names'}:return([],[],{});
      #my $work_order_field = (exists $opts->{'-work_order_field'})?$opts->{'-work_ordert_field'}:'10001931';
      my $text_id     = (exists $opts->{'-text_id'})?$opts->{'-text_id'}:return($cols,$rows,$names);
      my $text_object = (exists $opts->{'-text_object'})?$opts->{'-text_object'}:return($cols,$rows,$names);
      my $text_name_components = (exists $opts->{'-text_name'})?$opts->{'-text_name'}:return($cols,$rows,$names);
      #Optional Options
      my $long_text_field        = (exists $opts->{'-long_text_field'})?$opts->{'-long_text_field'}:'work_instructions';
      my $long_text_exists_field = (exists $opts->{'-long_text_exists_field'})?$opts->{'-long_text_exists_field'}:undef;
      my $debug                  = $opts->{'debug'} || $opts->{'-debug'} || 0;
      #I've got to know where to put the long text in $rows otherwise this sub is pointless
      if(! exists $names->{$long_text_field}){return($cols,$rows,$names)}
       # use test server q0
      my $CLIENT     = '096';#$self->
      my %CONNECTION = (#'ashost' => '',
                        'sysnr'  => '00',
                        'client' => $CLIENT,
                        'user'   => '',
                        'passwd' => '',
                        'lcheck' => '1',
                        'lang'   => 'EN',
                        'trace'  => '0',
                        'debug'  => '0',
      #print Dumper(%CONNECTION)."\n";
      my $conn = undef;
      eval { $conn = SAPNW::Rfc->rfc_connect(%CONNECTION) };
      if ($@) {
        print STDERR "RFC Connect Failed: $@\n";
        return($cols,$rows,$names);
      #$conn->sap-info();
      #$conn->is_connected();
      #$conn->discover('BAPI_DOCUMENT_GETOBJECTDOCS');
      #unshift @INC, '/opt/SAPClients/SAPGUI/bin';
      #unshift @INC, '/opt/SAPClients/SAPGUI7.10rev4/bin';
      #unshift @INC, '/usr/sap/rfcsdk';
      #unshift @INC, '/usr/sap/rfcsdk/bin';
      #These are transport programs for files (required by CHECKOUTVIEWX)
      $conn->allow_start_program('sapgui;sapftp;saphttp;');
      #$conn->allow_start_program('/opt/SAPClients/SAPGUI7.10rev4/bin/sapftp;/opt/SAPClients/SAPGUI7.10rev4/bin/saphttp;');
      #$conn->allow_start_program('');
      #SAPNW::Rfc->allow_start_program('');
      #SAPNW::Rfc::allow_start_program('');
      my $rfc_getobjectdocs;
      eval { $rfc_getobjectdocs = $conn->function_lookup('BAPI_DOCUMENT_GETOBJECTDOCS') };
      if ($@) {
        print STDERR "RFC Function Lookup Failed: '$@'\n";
        return($cols,$rows,$names);
      #$debug && print Dumper($rfc_getobjectdocs);
      my $rfc_getdetail2;
      eval { $rfc_getdetail2 = $conn->function_lookup('BAPI_DOCUMENT_GETDETAIL2') };
      if ($@) {
        print STDERR "RFC Function Lookup Failed: '$@'\n";
        return($cols,$rows,$names);
      #$debug && print Dumper($rfc_getdetail2);
      my $rfc_checkoutviewx;
      eval { $rfc_checkoutviewx = $conn->function_lookup('BAPI_DOCUMENT_CHECKOUTVIEWX') };
      if ($@) {
        print STDERR "RFC Function Lookup Failed: '$@'\n";
        return($cols,$rows,$names);
      #$debug && print Dumper($rfc_getdetail2);
      for my $i (0..$#$rows){
          my $LATEST_VERSION = 'X';
          my $DATE = strftime( '%D', localtime );
          #my $DOCUMENT_PREFIX = '0000000000000000000';
          my $PORDER_PREFIX   = '0000';
          #my $MATERIAL_PREFIX = '00000000000';
          my $WORK_ORDER_OBJECT_PREFIX0 = 'H0001          000000000000';
          my $WORK_ORDER_OBJECT_PREFIX1 = 'H0001          000000000001';
          #my $MATERIAL_KEY              = 'MARA';
          my $WORK_ORDER_KEY            = 'PORDER';
          #Construct the work_order_object_key
          my $object_key = $PORDER_PREFIX . '10001931' . $WORK_ORDER_OBJECT_PREFIX0; 
          #Does need to be in the loop?
          my $fs;
          eval { $fs = $rfc_getobjectdocs->create_function_call };
          if ($@) {
               print STDERR "Create Function Call Failed: $@\n";
               #return($cols,$rows,$names);
          #$debug && print Dumper($fs);
          #$fs->CURRENTVERSIONSONLY($LATEST_VERSION);
          $fs->CURRENTVERSIONSONLY('');
          $fs->DATE($DATE);
          $fs->OBJECTKEY($object_key);
          $fs->OBJECTTYPE($WORK_ORDER_KEY);
          #$debug && print Dumper($fs);
          # invoke the Function Module and then play with the results
          $fs->invoke;
          #my $MESSAGES = $fs->RETURN;
          #$debug && print Dumper($MESSAGES);
          my $DOCUMENTS = $fs->DOCUMENTLIST;
          #$debug && print Dumper($DOCUMENTS);
          for my $j (0..$#$DOCUMENTS){
              my $type    = $DOCUMENTS->[$j]->{'DOCUMENTTYPE'};
              my $version = $DOCUMENTS->[$j]->{'DOCUMENTVERSION'};
              my $part    = $DOCUMENTS->[$j]->{'DOCUMENTPART'};
              my $number  = $DOCUMENTS->[$j]->{'DOCUMENTNUMBER'};
              #print "$type,$version,$part,$number\n";
           #Does need to be in the loop?
           my $fs;
           eval { $fs = $rfc_getdetail2->create_function_call };
           if ($@) {
             print STDERR "Create Function Call Failed: $@\n";
             #return($cols,$rows,$names);
           #$debug && print Dumper($fs);
              $fs->GETDOCDESCRIPTIONS('X');#Input
              #$fs->GETOBJECTLINKS();#Input
              #$fs->GETSTRUCTURE();#Input
              #$fs->STATUSLOG();#Input
              $fs->GETACTIVEFILES('X');#Input
              #$fs->GETCOMPONENTS();#Input
              #$fs->HOSTNAME();#Input
              $fs->GETDOCFILES('X');#Input
              #$fs->GETCLASSIFICATION();#Input
              #$fs->GETWHEREUSED();#Input
              $fs->DOCUMENTTYPE($type);#Input
              $fs->DOCUMENTVERSION($version);#Input
              #$fs->GETLONGTEXTS();#Input
              $fs->DOCUMENTPART($part);#Input
              $fs->DOCUMENTNUMBER($number);#Input
              #$debug && print Dumper($fs);
           # invoke the Function Module and then play with the results
           $fs->invoke;
           #my $MESSAGES = $fs->RETURN;
           #$debug && print Dumper($MESSAGES);
           #my $DOCUMENTDATA = $fs->DOCUMENTDATA;
           #$debug && print Dumper($DOCUMENTDATA);
              #$debug && print Dumper($fs->COMPONENTS());#Output Table
              #$debug && print Dumper($fs->CLASSALLOCATIONS());#Output Table
              #$debug && print Dumper($fs->DOCUMENTDESCRIPTIONS());#Output Table...what Nick Uses
              #$debug && print Dumper($fs->DOCUMENTSTRUCTURE());#Output Table
              #$debug && print Dumper($fs->CHARACTERISTICVALUES());#Output Table
              #$debug && print Dumper($fs->GETSTATUSLOG());#Output Table
              #$debug && print Dumper($fs->OBJECTLINKS());#Output Table
              #$debug && print Dumper($fs->DOCUMENTFILES());#Output Table...what Nick Uses
              #$debug && print Dumper($fs->LONGTEXTS());#Output Table
              #$debug && print Dumper($fs->WHEREUSEDLIST());#Output Table
              my $DOCUMENTFILES = $fs->DOCUMENTFILES;
           #$debug && print Dumper($DOCUMENTFILES);
              for my $k (0..$#$DOCUMENTFILES){
                  my $application = $DOCUMENTFILES->[$k]->{'WSAPPLICATION'};
                  if($application eq 'EXL'){
                #Does need to be in the loop?
                my $fs;
                eval { $fs = $rfc_checkoutviewx->create_function_call };
                if ($@) {
                  print STDERR "Create Function Call Failed: $@\n";
                  #return($cols,$rows,$names);
                #$debug && print Dumper($fs);
                   #print "$type,$version,$part,$number\n";
                   my $ARGUMENTS = [{'DOCUMENTTYPE'    => $type,
                               'DOCUMENTVERSION' => $version,
                               'DOCUMENTPART'    => $part,
                               'DOCUMENTNUMBER'  => $number,
                      $fs->DOCUMENTS($ARGUMENTS);
                      $fs->GETCOMPONENTS('X');#Input
                      #$fs->PF_HTTP_DEST();#Input
                      #$fs->HOSTNAME();#Input
                      #$fs->PF_FTP_DEST();#Input
                      $fs->ORIGINALPATH('/home/jwelter');#Input
                      $fs->WSAPPLICATION([{'WSAPPLICATION' => $application}]);
                      $debug && print Dumper($fs);
                      # invoke the Function Module and then play with the results
                   $fs->invoke;
                      #$debug && print Dumper($fs->DOCUMENTFILES_IN());#Output table
                      #$debug && print Dumper($fs->DOCUMENTFILES_OUT());#Output table
                      #$debug && print Dumper($fs->COMPONENTS());#Output table
                      #$debug && print Dumper($fs->WSAPPLICATION());#Output table
                      #Error Messages
                      $debug && print Dumper($fs->RETURN());#Output
               }#if($application eq 'EXL'){
              }#for my $k (0..$#$DOCUMENTFILES){
          }#for my $j (0..$#$DOCUMENTS){
      }#for my $i (0..$#$rows){
      $conn->disconnect;
    #  if($debug){
    #    #Column Names
    #    foreach(@{$cols}){print "$_\t"}
    #    print "\n";
    #    #Data
    #    foreach my $row ( @{$rows} ){
    #      foreach ( @{$row} ){
    #     if( defined $_ ){print "$_\t"}else{print "\t"}
    #      print "\n";
    #  }#if($debug){
      return ($cols,$rows,$names);
    }#sub get_Bapi_Document_Getobjectdocs {

  • Perl can't locate warnings.pm

    $ perl -e "use warnings;"
    Can't locate warnings.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/i686-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl .) at -e line 1.
    BEGIN failed--compilation aborted at -e line 1.
    $ locate warnings.pm
    /usr/lib/perl5/current/warnings.pm
    What's going wrong here? Why is /usr/lib/perl5/current not in @INC?

    It was me
    my package broke it. I don't know perl. Isn't it stupid that the installation of an app or lib can break it?

  • I have one apple ID for both my Iphone 4S and Ipad. My Ipad was stolen from me and when I checked the iCloud, it can only locate the Iphone 4S. How can I locate the Ipad device?

    I have one apple ID for both my Iphone 4S and Ipad. My Ipad was stolen from me and when I checked the iCloud, it can only locate the Iphone 4S. How can I locate the Ipad device?

    Welcome to the Apple Community.
    You can only locate your device when it is logged into iCloud and 'Find My Phone' is enabled, additionally the device will need to be switched on and connected to a wifi or cellular network.
    Unfortunately, you cannot activate iCloud or 'Find My Phone' remotely.

  • ITunes can't locate files, even though they never move.

    My iTunes is set to copy new files to a dedicated music folder on an internal storage drive and to keep this folder organized. I have never moved this folder or edited anything within this folder.
    Now, one day I start my iTunes and I'm greeted with thousands upon thousands of little exclamation marks telling me that iTunes can't locate the files. I made sure that the drive letter didn't change and that every file was still in there. There were too many songs missing to manually locate each song, so I highlighted my entire library and deleted it (while keeping the files, obviously). Several hours after re-adding my music library, everything was good and like it once was.
    Not even a day later, I re-open iTunes to find that all the exclamation marks were back and that it could not locate any of my files again. This time I decide to go through all the steps properly by clearing the folder where the xml files are located, uninstalling iTunes, moving my music to an external hard drive and making sure there was no trace of iTunes left.
    Ready to start again, I installed iTunes, set where I liked my files to be stored and set my other preferences (including "organize my iTunes folder" and "copy new files to iTunes Folder"). I then re-added my music and spent a day waiting for it to copy to the new iTunes folder. After this I deleted the folder that contained my originals and was left with a fresh install of iTunes and all my music was where I wanted it.
    This worked for almost a whole month before thousands of songs went "missing" again. I simply don't know what to do. I can't keeping re-adding my library again and again because a few thousand songs went missing. Each time I do it, it just takes longer and longer and i'm sick of it.
    Any help with my problem would be appreciated. Thanks in advance.

    Presumably the location of the iTunes media folder is still correctly set in preferences when this happens?
    One thing you can do to investigate this is to select a track that can't be found and go to Get Info>>Summary tab.
    This will show you where iTunes thinks it is and the name of the file. Now find the file in Windows Explorer and compare the location and file name are they the same?
    A thing that occurs to me is that you have other software on your PC that is able to move/rename files. Do you have anything like that?
    Windows Media player has a check box that allows the renaming of files in Options, it's worth looking for that.

  • Can not locate driver download page.

    Can not locate driver download page.
    Officejet Pro 8500 A909a
    MS Vista Ultimate 64 Bit.
    When using my Linux PC to try and locate drivers for another PC, the website just keeps sending me in circles and never displays the drivers to download.  Seems like in the past this has been a problem too.  This occures with latest version of Firefox-37.0.1 and the current version of Chromium-37.0.2062.120 Built on Debian 7.6, running on Debian 7.8 (281580) (64-bit).
    Navigate to hp.com
    Select: Support | Download Drivers
    Under 'Drivers and Downloads' tab
    - enter product id: officejet pro 8500 A909a
    - Select 'Go'
     Expand the '+' that lists one link and select it.
    None of the following links give a driver download!
    - Troubleshooting
    - How To
    - Product Info.
    - Users Guide
    - Video Tutorials
    - More Options
    Maybe one of the options should be 'Driver Downloads'.
    Just my $.02.
    This question was solved.
    View Solution.

    Hi,
    Many links in there. Please use the following direct driver (for Windows all):
       http://ftp.hp.com/pub/softlib/software12/COL31041/mp-110033-2/OJ_AIO_P8500_A909_Full_Win_WW_140_408-...
    (Note: Many printers for the whole 8500 series use same drivers).
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • I tried using the Voice Memos iPhone app and ended up with a red banner on top of the screen that flashes "recording 00.00" but I can't locate what I thought I was recording.  can you help me?

    I tried using the Voice Memos iPhone app and ended up with a red banner on top of the screen that flashes "recording 00.00" but I can't locate what I thought I was recording.  can you help me?
    jacknil

    I found an answer to this on another page (I was having the same problem) This worked for me:
    Double-click the Home button.
    Swipe left or right until you have located the app you wish to close.
    Swipe the app up to close it.
    more here: https://discussions.apple.com/thread/5596831

  • Terrance Devlin answered a question about iPhoto (4-2012) re:copying iPhoto Library to an ExHD, and losing all the albums. I can't locate the "Choose Library" when I open iPhoto with the opt button. Can anyone help?

    I tried to move my images (over 25,000) to an External Hard drive to open up some memory, hoping to make my computer run faster. It took three hours to move the images and I see them all in the mac's menus. However when I try to open them with iPhoto now, none appeared. and when I tried to import them back to the main HD they come in to iPhoto just fine, but not with the albums nor any of the massive organization i'd created in the original. this represents years of images, and I can't imagine that I'd have to recopy them into folders/albums again.
    Terrance Devlin answered a similar question back in April of last year. He said to make sure the ExHD is formatted to MAC OS Extended (Journaled) and to move the library to the ExHD and then open iPhoto with the option button and select "Choose Library" from the resulting menu.
    Command "I" tells me that the new drive is formatted correctly. I can't locate the "Choose Library" when I open iPhoto with the opt button.
    First, I wondered if the application needs to be on the same drive as the Library. I sure would like to know if I can find out how to restore all the folders I had them in. Terrance's advice helped the user that had asked the question.
    Here's the url for that archived discussion: https://discussions.apple.com/thread/3849933?start=0&tstart=0
    Can anyone help? I'm using iPhoto 5. My MAC is an OS X version 10.4.11.
    thanks, brokenlom

    Here are Apple's instructions:
    If you are using iPhoto ’06 or earlier, you will need to follow these steps to tell iPhoto where the Library is now located:
    Hold down the Option key on the keyboard and open iPhoto. Keep the Option key held down until you are prompted to create or choose an iPhoto Library.
    Click Choose Library.
    Locate and select the iPhoto Library in its new location.
    (from http://support.apple.com/kb/HT1229 )
    Below (in the link below) is what you should see when holding down the option key and opening iPhoto. Keep holding down the option key until this dialogue comes up. You want to select the Choose Library button.
    http://appleclinic.wordpress.com/2008/04/06/change-default-dir-iphoto/

  • I am trying to connect Garritan Personal Symphony to Logic Express and Garageband. A dialog box pops up and asks for plugin Garritan-P. Where do I find it and what do I do with it. I can't locate this plugin doing searches on any of the porgrams.

    I am trying to connect Garritan Personal Symphony to Logic Express and Garageband. A dialog box pops up and asks for plugin Garritan-P. Where do I find it and what do I do with it. I can't locate this plugin doing searches on any of the porgrams.

    I'm not sure which version of Garritan Personal Orchestra you have or when you are getting a window pop-up, but check this link for starters:
    http://afjohnston.blogspot.com/2009/11/using-garritan-personal-orchestra-gpo.htm l

  • My aperture library lives on an external hard drive that is corrupt and I can not locate the library. I do have it backed up with TM. How do I safely restore the library from TM to my laptop? I am using the newest version of aperture on my macbook pr

    My aperture library lives on an external hard drive that is corrupt and I can not locate the library. I do have it backed up with TM. How do I safely restore the library from TM to my laptop? I am using the newest version of aperture on my macbook pro.

    Hello Sandra,
    The article linked below details how to go about restoring items from Time Machine in Snow Leopard.
    Mac OS X 10.6: Recovering items using Time Machine and Spotlight
    http://support.apple.com/kb/PH6379
    Sincerely,
    Allen

  • How can I locate my lost iPod Touch if my location was off and user ID was changed?

    I lost 3 Apple devices during house break in. How can I locate my lost Apple devices if my location was turn off,
    without "Find My Phone" apps and user ID was changed. The 3 devices are iPod Touch, iPad 2 and iPhone 3gs.
    I had made a Police Report and was told that I can request to get information to track my devices upon WIFI or
    internet connection. I hope "APPLE" team will help me to track my devices with IP locations, GPS, built in compass,
    or quickly send directions, updated informations and mobile data to find out and coordinates them.
    Given point will also help the police to capture them.
    Awaiting your reply.
    Thank you. Rgd,
    Sean Khor
    <Personal Information Edited by Host>

    There is no Apple here, just users like you and me. Apple does not provide nor have that information, as far as I know, but if police needs that information, they have a legal way of contacting Apple. If I were you I would avoid trusting Internet forum, assessable by anyone with your personal information.

Maybe you are looking for