Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: Unix.dll not Found in PerlApp

by ww (Archbishop)
on Sep 14, 2015 at 19:06 UTC ( #1141961=note: print w/replies, xml ) Need Help??

in reply to Unix.dll not Found in PerlApp

Don't use PerlApp; therefore, don't know if this is relevant, but since your messages include a reference to the --add command

warn: auto\File\Spec\Unix\Unix.dll not found
refby: perlapp --add
from the AS doc re PerlApp9.3 here's some possibly relevant information:

--add modules
    List additional modules to include in the application. PerlApp also attempts to include 
    modules that the listed modules depend on. Multiple modules can be separated by whitespace 
    or a semicolon. This option can be repeated. For example: 

        perlapp --add IO::Socket --add XML::Parser::Expat

    ...would include IO::Socket and XML::Parser in your application.

    The --add option supports the following wildcard notations: --add Module::* includes Module::Foo, 
    but neither Module itself nor Module::Foo::Bar. --add Module::** includes Module::Foo and 
    Module::Foo::Bar, but not Module. --add Module:: works the same as --add Module;Module::**, 
    including all of Module, Module::Foo and Module::Foo::Bar. Note that you may have to quote 
    the * character to prevent wildcard expansion by your command shell.

    PerlApp uses built-in heuristics to determine any additional modules that may be required at 
    runtime. When building an executable, missing modules are displayed as errors. In a few cases, 
    however, the heuristics are used to downgrade errors to warnings. PerlApp issues warnings 
    for the following:

      + Windows executables built without Unix, Mac, VMS and OS/2 modules 

A bit more information about your script and source might win you better help from those more knowledgable of PerlApp than I.

++$anecdote ne $data

Replies are listed 'Best First'.
Re^2: Unix.dll not Found in PerlApp
by Cmdr Colstel (Novice) on Sep 14, 2015 at 19:37 UTC
    Hi, thanks for your reply.

    When I get the warning it looks like it is looking for Unix.dll in the auto folder. If I am not mistaken, that's something generated by PerlApp's (XSLoader ?) during runtime. I have the from my Perl installation and somehow, it probably uses the to generate a Unix.dll. All other dlls have been created by PerlApp except this one. Do I have to make it (Unix.dll) ? It is probably failing in creating it automatically and that is why I cannot find it. My question is therefore how do I make it or where do I download it? These were my settings for PerlApp:

    perlapp --trim Mac::Glue::; extractors::; auto::SetDualVar::; Locale::Maketext::Lexicon::; Test::Manifest::; VMS::DCLsym::; Win32::TieRegistry::; Data::Lazy::; SetDualVar::; Win32::FileOp::; Win32::Locale::; Log::Contextual::WarnLogger::; Encode::HanExtra::; I18N::Langinfo::; Ext::MM_Unix::; File::Spec::;version::; auto::ExtUtils::Unix::; ExtUtils::MM_Unix --add version::; File::Spec::Functions; File::Spec; File::Spec::Win32; File::Spec::Unix --icon C:\Users\Cmdr_Colstel\Downloads\1440576270_appicns_iTunes.ico --lib L:\Perl64\bin --norunlib --nologo --verbose --force --exe Key_Fl +ipper.exe --perl L:\Perl64\bin\perl.exe

    I was forced to add the module File::Spec::Unix because File::Spec::Win32 references it and PerlApp fails to create an executable without it. But even upon adding the module, PerlApp fails to create the Unix.dll in the auto folder. Any help is appreciated. Thanks.

      It looks like you're using a lot of options - especially --trim (presumably to reduce the size of the executable that is created). Have you tried to reducing the the number of PerlApp options that you use to see if you can successfully create a working executable? Just was wondering if you might have conflicting options or an option that is preventing PerlApp from including the needed modules.

      Otherwise, I'd agree with the suggestion about using ActiveState's user forums to ask for help for using ActiveState's product.

        Yeah, I do have a lot of added modules. Didn't intend for it, but as I ran PerlApp to create the executable, it kept saying it couldn't find this or that module. So as I added the modules manually and it found them and the errors disappeared. However, it still gets stuck on Unix.dll. If I find out how to get\create it, that should be the missing piece.

        The program is supposed to wrap all modules/dlls, along with my script, in a package so it doesn't need an installed version of Perl on the executing Windows machine.

        I will consult with ActiveState as you suggested. Just thought someone might have run across the same situation here. Thanks.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1141961]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (9)
As of 2022-01-24 16:17 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (64 votes). Check out past polls.