Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^2: Application Distribution (modules, cpan, etc)

by tsee (Curate)
on Feb 20, 2007 at 10:31 UTC ( #601061=note: print w/ replies, xml ) Need Help??


in reply to Re: Application Distribution (modules, cpan, etc)
in thread Application Distribution (modules, cpan, etc)

Come on, give me a break. Would you expect to be able to use a DBI which you compiled on linux/x64 to work on Windows/32bit? I don't think so.

Short of cross-compiling all module dependencies (forget I even said that), there is no way to get any C application to work on a foreign platform. XS modules fall into that category.

That said, you can build a .par archive of all pure-perl dependencies and that package will work on any platform.

If your application does not have non-core XS dependencies, you can even use pp's -P option to create a portable perl script with all non-core dependencies embedded. It should subsequently be runnable with a stock perl.

Additionally, if you build an ELF executable using pp on linux/32, it should work whereever 32bit ELF executables do. By the way: I tried making a binary from rsnapshot. It took about 30 seconds including the download. Of course, I already had PAR::Packer installed.

As for PAR not installing on your dev machine: Please write to the PAR mailing list about that. We're committed to make PAR work on almost any system.

Steffen


Comment on Re^2: Application Distribution (modules, cpan, etc)
Re^3: Application Distribution (modules, cpan, etc)
by jettero (Monsignor) on Feb 20, 2007 at 11:46 UTC

    cross-compiling all module dependencies (forget I even said that), there is no way to get any C application to work on a foreign platform. XS modules fall into that category.

    This is partially false. While I don't believe it's reasonable or worth the time to cross-compile perl modules, as I think you'd end up arguing with Module::Build and ExtUtils::MakeMaker more than anything else — it is possible to reliably cross-compile all sorts of things. I used to maintain a 3d bumpercars type game (with spaceships) that was never finished (of course) that pulled in SDL/GL and various other things and compiled for ELF and win32 from a single platform.

    Should you choose to do so, you'll find tons of documentation and support for cross compiling under many platforms.

    -Paul

Re^3: Application Distribution (modules, cpan, etc)
by DrHyde (Prior) on Feb 23, 2007 at 10:22 UTC
    Come on, give me a break. Would you expect to be able to use a DBI which you compiled on linux/x64 to work on Windows/32bit? I don't think so.
    Which was, in fact, my point. PAR doesn't help. Additionally, it isn't obvious how to use PAR to do things like install an example configuration file in /etc.

    autoconf and tar, on the other hand, do help.

    And the problem with PAR not installing - this is a bog-standard Debian box, with compilers and whatnot. I can't be bothered with subscribing to a mailing list just to report a bug on what is probably the most common platform, especially when it's a bug in software that isn't even particularly useful to me.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (16)
As of 2015-07-06 13:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (74 votes), past polls