Perlapp fail when compiling for Mac OS X on Windows 7

Posted by josh@creativityusa.com on 2015-10-23 11:11
Forums: PDK discussion | OS: Windows 7

I have made many Mac builds from my Windows machine over the years, but now it is failing. I've tried all sorts of --trim and use commands but with no luck. Can anybody help me figure out what is going on?

The script compiles fine for Windows, no problems. The failure is below. THANKS!

Updating files in target-site area...DBD::SQLite::db do failed: constraint failed
column path is not unique at /ActivePerl/PPM/Ins
tallArea.pm line 562.
<3> Rollback File conflict for 'C:/Users/jgarrett/AppData/Local/ActiveState/PDK/PerlApp/target-perl/1402/macosx-universa
l-32/site/lib/ExtUtils/Command.pm'.
The package ExtUtils-Command has already installed a file that package ExtUtils-MakeMaker
wants to install. at /ActivePerl/PPM/Install
Area.pm line 573.
failed
File conflict for 'C:/Users/jgarrett/AppData/Local/ActiveState/PDK/PerlApp/target-perl/1402/macosx-universal-32/site/lib
/ExtUtils/Command.pm'.
The package ExtUtils-Command has already installed a file that package ExtUtils-MakeMaker
wants to install. at /ActivePerl/PPM/Install
Area.pm line 573.

grahams
ActiveState Staff
Wed, 2015-10-28 15:13

You have two modules that have conflicting definitions. Both of them want to install the same file.

PerlApp uses PPM to seed the foreign cache. These two modules will conflict in any PPM managed installation. If you are using PPM directly, you can use the --force option of the ppm command to stomp this.

However, the only command you have to manually intervene while PerlApp calls PPM is
--target-install
http://docs.activestate.com/pdk/9.4/PerlApp.html#perlapp_options
and --force means something different to perlapp than it does to ppm.

You might be able to pre-seed the cache area correctly by installing ExtUtils-MakeMaker and ExtUtils-Command separately. If they still conflict, you'll need to wrap this on OS X, where you can stomp on the file conflict.

josh@creativity... | Wed, 2015-10-28 15:45

Thanks for the response. I'm trying to compile a script I've compiled many times before, and I'm having issues now on another script I've also done many times. It seems something changed which has nothing to do with my scripts. When I make them on Mac OSX there is no issue. I don't manage the Mac OSX installation on my Windows machine, I just let Perlapp do its thing, which is now failing. Also, I use CPAN to install modules on the WIndows side, not PPM. Seems like there must be something I can do...??? Please help, it really defeats the purpose of the tool if I can't use it!

PS
josh@creativity... | Wed, 2015-10-28 15:49

Also, I now get different conflict messages for different modules on the same script:

Updating files in target-site area...failed
File conflict for 'C:/Users/jgarrett/AppData/Local/ActiveState/PDK/PerlApp/target-perl/1402/macosx-universal-32/site/lib/Test/Tester/Capture.pm'.
The package Test-Tester has already installed a file that package Test-Simple
wants to install. at /ActivePerl/PPM/InstallArea.pm line 573.