Konovalov, Vadim Vladimirovich (Vadim)** CTR ** (vkono...@alcatel-lucent.com) |
| 1) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: Problem in Cross-compile |
|
|
| I am really sorry about having this stalled. I'll return to the problem soon, sorry. Vadim. |
|
|
|
|
|
|
|
> >> > I have been trying to cross compile Perl for an > ARM-Linux for few days > >> > without result: > >> > I have an ssh working connection between my Intel-Linux > host and my > >> > Arm-Linux device. I'm calling Configure as the following: > >> > >> > I'm sure I'm doing something wrong or I'm missing some > steps. Help!! > > > > Having recently tried this, I've found that the only way to get > > something remotely credible is to build natively on your > ARM system or > > in a QEMU emulator that looks like your ARM system. > > > > I'd love to see patches to improve the state of Perl's > > cross-buildability, but it's going to take some real work. > > Vadim Konovalov started to work on this, but we have no news and his > work has stalled. It's available in the branch "vadim/cross" of the > perl git repository (http://perl5.git.perl.org/perl.git).
I am really sorry about having this stalled. I'll return to the problem soon, sorry. Vadim.
|
|
|
| 2) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: merging make_ext and make_ext_cross |
|
|
| that's fine! yes, that's right. 2 points however: - make_ext_cross needs additional attention... |
|
|
|
|
|
|
|
> Steffen Mueller actually has all of ext/util/make_ext > re-written in Perl, > but (I believe) doesn't have ext/util_make_ext_cross > integrated with it, > nor has anyone dealt with the make clean; make distclean > problem described. > (make distclean; on its own works fine) > > Also, Yves thought it easier to convert ext/util/make_ext to > Perl first, then > figure out how to merge it with the Win32 code, rather than > trying to compare > a shell script with Perl code. > > > So best to work out how to avoid duplicating work.
that's fine! > > As far as he and I can see, make_ext_cross is identical to > make_ext, except> that it invokes Makefile.PL with -MCross. So I assume that > the right way> forward is to add an option to the new make_ext.pl to use > -MCross, and then> change the 4 lines in Cross/Makefile-cross-SH that currently invoke> make_ext_cross, to instead invoke make_ext.pl with the 'use > -MCross' option> enabled.yes, that's right. 2 points however: - make_ext_cross needs additional attention anyway - so feel free to ignore it for now, I'll bring it up-to-date when continuing with cross-compilation, hopefully very soon - File ./Cross/Makefile-cross-SH is deleted ( http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-12/msg00721.html) ... and the last link makes me think that I need to bring my mind up-to-date... rsync is Soooooooo yesterday :) > > So is it best if we patch blead to change ext/util/make_ext to> ext/util/make_ext.pl, and then let you patch that (and test > it) to incorporate> the -MCross option, and eliminate ext/util/make_ext_cross ?> > (then sort out disclean, and work out how to merge the Win32 code)absolutely! Best regards, Vadim=
|
|
|
| 3) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: merging make_ext and make_ext_cross |
|
|
| Yes, win32/buildext.pl uses win32/FindExt.pm, and those could be used instead of ext/util/make_ext... |
|
|
|
|
|
|
|
> From: demerphq [email protected: dem...@gmail.com] > To repeat what i just said in chat (for posterities sake, although > dunno why this posterity guy needs everything repeated): > > win32/buildext.pl > > appears to be the win32 equivalent of make_ext. At least it has > patches that i made to make it possible to build only the 're' > extension (which doesnt really work in the linux version).
Yes, win32/buildext.pl uses win32/FindExt.pm, and those could be used instead of ext/util/make_ext on all platforms (after some reorganizations) - I very much hope so! Best regards, Vadim.
|
|
|
| 4) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: merging make_ext and make_ext_cross |
|
|
| I like the idea! I will send such a patch within a day, if no-one minds. Best regards, Vadim.=... |
|
|
|
|
|
|
|
> From: Nicholas Clark [email protected: n...@flirble.org] On Behalf Of
....
> So the trick is to save the Makefile as Makefile.old and use that for > distclean. > > > > This, of course, all works fine if make_ext is a shell > script, as it doesn't > rely on anything we built to run make distclean. But if we > simply change > make_ext to rely on miniperl, we have a problem if we run make clean; > make distclean, as it has already gone. > > > Not certain what to do, but it strikes me that as make_ext > runs it could > write out the shell* instructions to run distclean into a > shell "script" at > top level, and we could change realclean (and distclean) to > use that, rather > than recurse into ext/ via make_ext.
I like the idea! I will send such a patch within a day, if no-one minds. (of course, Nicholas, if you're all in this and willing to implement - I will not dare to interfere :) ) Best regards, Vadim.=
|
|
|
| 5) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: merging make_ext and make_ext_cross |
|
|
| that was my intention, but I haven't, because I was intended to continue with this after... |
|
|
|
|
|
|
|
(sorry for delay - was long off-line; I'm tuned from now on :) )
> Did you mention that you had a patch somewhere to merge > ext/util/make_ext > and ext/util/make_ext_cross ?
that was my intention, but I haven't, because I was intended to continue with this after Makefile.SH will be a bit more cross-compilation aware ...
> We're intending to convert ext/util/make_ext from shell to > Perl, and it > seems a good way to merge the functionality of the two into one.
That is my dream :)
But see also my other reply in this thread.
Best regards, Vadim.
|
|
|
| 6) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: Out of date CPAN modules in 5.8.9 |
|
|
| How this list is created? I don't see neither HTML::Tagset nor XML::NamespaceSupport in 5.8.9-RC1... |
|
|
|
|
|
|
|
> From: Michael G Schwern [email protected: sc...@pobox.com]
> This is normally Randal's job, but I was verifying the > versions in perldelta > and figured I'd run it. > > Package namespace installed latest > Attribute::Handlers 0.78_03 0.81 > B::Debug 1.05 1.11 > HTML::Tagset 3.10 3.20 > Pod::Perldoc 3.14 3.15 > Test::Harness 2.64 3.14 > Test::Harness::Straps 0.26_01 0.30 > Test::Simple 0.80 0.86 > XML::NamespaceSupport 1.08 1.09 > English 1.03 1.04 > Fatal 1.06 1.994 > Pod::Man 1.37 2.21 > Text::Balanced 1.98 2.000000 > 17 installed modules have no parseable version number
How this list is created? I don't see neither HTML::Tagset nor XML::NamespaceSupport in 5.8.9-RC1 BR, Vadim.
|
|
|
| 7) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: 5.8.9 RC1 |
|
|
| Thanks, that works Also got error about missing <asm/page.h> because gentoo's linux-headers package... |
|
|
|
|
|
|
|
> > > From: Nicholas Clark [email protected: n...@flirble.org] > > > > Does the released 5.8.8 fail in the same way? > > > > Sorry, with perl-5.8.8 I'm lost. > > > > ./Configure -des > > ..... > > ... > > Now you must run 'make'. > > > > If you compile perl5 on a different machine or from a > different object > > directory, copy the Policy.sh file from this object directory to the > > new one before you run Configure -- this will help you with most of > > the policy defaults. > > > > coli perl-5.8.8 # make > > make: *** No rule to make target `<command-line>', needed by > > `miniperlmain.o'. Stop. > > Just hand-edit the 'makefile' (and 'x2p/makefile') to delete > the lines > containing '<command-line>' and '<builtin>' (which might be > '<built-in>', > I don't exactly recall). They are output by "newer" versions > of gcc and > not recognized by 5.8.8's build system. They are harmless. > Just delete > them and you can continue with the test.
Thanks, that works Also got error about missing <asm/page.h> because gentoo's linux-headers package do not contain it - but this is known thing: SysV.xs:7:25: error: asm/page.h: No such file or directory make[1]: *** [SysV.o] Error 1 Returning to slightly misleading comment on "lib/Net/hostent.t" - Yes, behaviour on 5.8.8 is exactly the same as in 5.8.9-RC1: w/o "localhost" entry on /etc/hosts coli perl-5.8.8 # ./perl lib/Net/hostent.t 1..7 ok 1 - use Net::hostent; not ok 2 - gethost('localhost') # Failed test 'gethost('localhost')' # in lib/Net/hostent.t at line 36. # Can't continue without working gethost: # Looks like you planned 7 tests but only ran 2. # Looks like you failed 1 test of 2 run. w/ "localhost" entry on /etc/hosts coli perl-5.8.8 # ./perl lib/Net/hostent.t 1..7 ok 1 - use Net::hostent; ok 2 - gethost('localhost') ok 3 - addr from gethost ok 4 - gethostbyaddr('127.0.0.1') ok 5 - addr from gethostbyaddr # name = localhost, aliases = ok 6 ok 7 # localhost coli perl-5.8.8 # BR, Vadim.
|
|
|
| 8) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: 5.8.9 RC1 |
|
|
| Sorry, with perl-5.8.8 I'm lost. ./Configure -des Now you must run 'make'. If you compile perl5 on... |
|
|
|
|
|
|
|
> From: Nicholas Clark [email protected: n...@flirble.org] > On Tue, Nov 11, 2008 at 11:01:42AM +0100, Konovalov, Vadim > (Vadim)** CTR ** wrote: > > > Currently it's at > > > > > > http://www.ccl4.org/~nick/P/perl-5.8.9-RC1.tar.bz2 > > > > > > Please don't publicise that URL outside p5p - instead > > > > > > > > > ftp://ftp.cpan.org/pub/CPAN/authors/id/N/NW/NWCLARK/perl-5.8.9 > > > -RC1.tar.bz2 > > > > > > once it's had time to propagate to CPAN's mirrors. > > > > very small problem. > > > > I happen not to have "localhost" entry in /etc/hosts and > therefore got > > failing test: > > Thanks for the feedback. > > Does the released 5.8.8 fail in the same way?
Sorry, with perl-5.8.8 I'm lost. ./Configure -des ..... ... Now you must run 'make'. If you compile perl5 on a different machine or from a different object directory, copy the Policy.sh file from this object directory to the new one before you run Configure -- this will help you with most of the policy defaults. coli perl-5.8.8 # make make: *** No rule to make target `<command-line>', needed by `miniperlmain.o'. Stop. At the same time I built Perl on this PC. coli perl-5.8.8 # uname -a Linux coli 2.6.22.18-co-0.7.3 #1 PREEMPT Sat May 24 22:27:30 UTC 2008 i686 Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz GenuineIntel GNU/Linux Sorry, I can't figure it out. Vadim.
|
|
|
| 9) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: 5.8.9 RC1 |
|
|
| very small problem. I happen not to have "localhost" entry in /etc/hosts and therefore got failing... |
|
|
|
|
|
|
|
> Currently it's at > > http://www.ccl4.org/~nick/P/perl-5.8.9-RC1.tar.bz2 > > Please don't publicise that URL outside p5p - instead > > > ftp://ftp.cpan.org/pub/CPAN/authors/id/N/NW/NWCLARK/perl-5.8.9 > -RC1.tar.bz2 > > once it's had time to propagate to CPAN's mirrors.
very small problem. I happen not to have "localhost" entry in /etc/hosts and therefore got failing test: Failed 1 test out of 1108, 99.91% okay. ../lib/Net/hostent.t ### Since not all tests were successful, you may want to run some of ### them individually and examine any diagnostic messages they produce. ### See the INSTALL document's section on "make test". ### You have a good chance to get more information by running ### ./perl harness ### in the 't' directory since most (>=80%) of the tests succeeded. ### You may have to set your dynamic library search path, ### LD_LIBRARY_PATH, to point to the build directory: ### setenv LD_LIBRARY_PATH `pwd`:$LD_LIBRARY_PATH; cd t; ./perl harness ### LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd t; ./perl harness ### export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; cd t; ./perl harness ### for csh-style shells, like tcsh; or for traditional/modern ### Bourne-style shells, like bash, ksh, and zsh, respectively. u=3.50 s=3.07 cu=193.45 cs=84.60 scripts=1108 tests=133369 make[2]: *** [_test_tty] Error 1 make[2]: Leaving directory `/home/vad/Personal/perl-dev/perl-5.8.9-RC1' make[1]: *** [_test] Error 2 make[1]: Leaving directory `/home/vad/Personal/perl-dev/perl-5.8.9-RC1' make: *** [test] Error 2 running it separatedly gives me a wrong guess on my problem: coli perl-5.8.9-RC1 # ./perl ./lib/Net/hostent.t 1..7 ok 1 - use Net::hostent; not ok 2 - gethost('localhost') # Failed test 'gethost('localhost')' # at ./lib/Net/hostent.t line 36. # Can't continue without working gethost: # Looks like you planned 7 tests but only ran 2. # Looks like you failed 1 test of 2 run. # Looks like your test died just after 2. I do have working gethost, although do not have "localhost" entry. When I added "localhost" all became ok: coli perl-5.8.9-RC1 # ./perl ./lib/Net/hostent.t 1..7 ok 1 - use Net::hostent; ok 2 - gethost('localhost') ok 3 - addr from gethost ok 4 - gethostbyaddr('127.0.0.1') ok 5 - addr from gethostbyaddr # name = localhost, aliases = ok 6 ok 7 # localhost Best regards, Vadim.
|
|
|
| 10) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: add UPSTREAM flag to Maintainers.pl?? |
|
|
| once for --static and once for --dynamic? (a guess) When all will be settled, ext/util/make_ext and... |
|
|
|
|
|
|
|
> From: demerphq [email protected: dem...@gmail.com] > Sent: Monday, November 10, 2008 11:18 AM > > On Sun, Nov 09, 2008 at 11:51:19PM +0100, Rafael > Garcia-Suarez wrote:
> > In turn, I think that that re-arrangement becomes a lot easier if > > ext/util/make_ext is converted to Perl (not that hard) as > it makes extending > > it easer, and I think it's going to be useful to extend it > to cope with more > > things in ext/ > > Uhm, is it possible that this is actually already done? For Win32 > builds we use win32/buildext.pl which is executed like the following > (in an up to date build directory) > > [SNIP] > ..\miniperl.exe -I..\lib buildext.pl nmake -nologo perldll.def > ..\ext --dynamic > Making B > [SNIP] > Making threads/shared > nmake -nologo > if exist ext ..\miniperl.exe -I..\lib buildext.pl nmake > -nologo perldll.def ext --dynamic > Everything is up to date. 'nmake test' to run test suite. > > Not sure why it is executed twice.
once for --static and once for --dynamic? (a guess) > > > In particular, I think that it would be very useful for it > to have a way to> > fake things if there isn't a Makefile.PL, so that we don't > have to worry> > about hand-writing custom core Makefile.PLs for a lot of > dual life modules.> >> > In turn, the re-write seems to need the fork of > ext/util/make_ext and> > ext/util/make_ext/cross to be healed. (Or healed as part of > the re-write)> > but I'm not sure what that will take. There's an unapplied > patch from Vadim,> > which I know I've not looked at, so that might affect this.When all will be settled, ext/util/make_ext and ext/util/make_ext_cross will be single shell script (or Perl script? I like the idea of transforming it to Perl script) I'll redo my changes for cross-compilation when needed, so please do not take into consideration cross-compilation part, for now. > >> > These thoughts have been brewing in my head for a bit, but > I think that this> > is the first time that I've mentioned them here.> > ISTR that Vadim suggested genericizing win32/buildext.pl, but I could> misremember.yes, IMO buildext.pl could be used on all platforms - not only on Win32. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-09/msg00687.htmlThere were no replies to my email when I noticed this - and I thought it is either because idea was silently disliked, or it was silently approved, or combination of the two :) Best regards, Vadim.
|
|
|
| 11) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: [PATCH-34456] RE: [PATCH-34435] cross-compile for linux |
|
|
| okay then, thanks for letting me know. Of course applying my patch isn't urgent. Best regards,... |
|
|
|
|
|
|
|
> From: Rafael Garcia-Suarez [email protected: rgarcias...@gmail.com] > 2008/10/14 Konovalov, Vadim (Vadim)** CTR ** > <vkonovalov@alcatel-lucent.com>: > > I am not seen on the list, or my attempts are not good > enough to be accepted, or combination of the two, or > combination of the three. > > No, your attempts are appreciated. > The best I could do before we move to git for every branch is to > commit them to a new branch in git. > Will Perl 5 die because nobody has free time anymore ? We'll see, but > I hope things could go better with git, if people make a bit of > effort.
okay then, thanks for letting me know. Of course applying my patch isn't urgent. Best regards, Vadim.
|
|
|
| 12) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: [PATCH-34456] RE: [PATCH-34435] cross-compile for linux |
|
|
| I am not seen on the list, or my attempts are not good enough to be accepted, or combination of the... |
|
|
|
|
|
|
|
I am not seen on the list, or my attempts are not good enough to be accepted, or combination of the two, or combination of the three. My first part of the series (#34317) needs to be removed then, because no need to bring any complicateness to ./Makefile.SH without going further. TTFN! Butters: [angrily] The world isn't fair. I do everything people ask me to. I stand in the lunch line for them, I buy tampons at the store for them, I go on Maury Povich with balls on my chin for them. [turns around and sits on his bed, wistfully] And yet, nobody accepts me. I am an outcast. A shadow of a man who can find no companion... ship. No love from others. [the shadow on the wall turns into that of an old humpbacked man] Fine! [hops off the bed determined to do something about it] If I am to be an outcast, so be it! [walks towards the camera] I'm through doin' what others tell me to do, and I am sick of this world and the stin-, and the stinky people in it! [moves to his left] From now on I will dedicate my life to bringing chaos to the world that has rejected me! [an image of a nuclear blast going off as people run from it] I will become the greatest supervillain [people run as danger comes from the sky] the world has ever seen! [a tsunami takes over a harbor town as a woman and beby flee it] Where I go, destruction will follow! [exults at his new destiny, raising arms and face towards heaven as lightning strikes. A shot of the exterior with more lightning] [Butters goes about making a suit for himself. He begins with a sheet of aluminum foil and shapes it around a styrofoam head to make a helmet. He pulls out a shirt from the closet and makes it a cape using a sewing machine. Pretty soon, he's finished - he's dressed as something of a knight] Butters: Prepare, O little town! Uh prepare for the greatest supervillain you've ever seen! Professor Chaos! [grins devilishly]
> -----Original Message----- > From: Konovalov, Vadim (Vadim)** CTR ** > [email protected: vkono...@alcatel-lucent.com] > Sent: Wednesday, October 08, 2008 1:22 PM > To: Perl5 Porters > Subject: RE: [PATCH-34456] RE: [PATCH-34435] cross-compile for linux > > Hi porters > > I would be extremely grateful if my patch will be considered > in > (http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-1 > 0/msg00178.html), or applied those parts that are possible, > so I'll try harder with un-applied ones :) > > Best regards, > Vadim. > > > -----Original Message----- > > From: Konovalov, Vadim (Vadim)** CTR ** > > Sent: Monday, October 06, 2008 10:28 AM > > To: Perl5 Porters > > Subject: [PATCH-34456] RE: [PATCH-34435] cross-compile for linux > > > > Hi, > > > > attached is updated patch for cross-compilation, as a > > replacement of my previous un-noticed patch. > > > > All my previous comments apply: > > > > > attached is a patch which enables perl cross compile for > > linux, full > > > perl with extensions. > > > > > > Not finished yet, but now usable in its current shape. > > > > > > File ./Cross/Makefile-cross-SH is deleted (as seen in change > > > in ./MANIFEST). > > > > > > The file ./lib/ExtUtils/MM_Unix.pm is touched - I am not > > sure whether > > > version of MakeMaker should be changed. > > > IMO the changes in ./lib/ExtUtils/MM_Unix.pm are few and > > innocent - I > > > will be happy to provide my motivation to the maintainer of > > > the module. > > > > Please let me know if I should bother [email protected: make...@perl.org] > > mailing list for discussion about its ExtUtils::MakeMaker part. > > > > More to follow, as usual :) > > > > Best regards, > > Vadim. > > >
|
|
|
| 13) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: [PATCH-34456] RE: [PATCH-34435] cross-compile for linux |
|
|
| Hi porters I would be extremely grateful if my patch will be considered in... |
|
|
|
|
|
|
|
Hi porters I would be extremely grateful if my patch will be considered in ( http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-10/msg00178.html), or applied those parts that are possible, so I'll try harder with un-applied ones :) Best regards, Vadim.
> -----Original Message----- > From: Konovalov, Vadim (Vadim)** CTR ** > Sent: Monday, October 06, 2008 10:28 AM > To: Perl5 Porters > Subject: [PATCH-34456] RE: [PATCH-34435] cross-compile for linux > > Hi, > > attached is updated patch for cross-compilation, as a > replacement of my previous un-noticed patch. > > All my previous comments apply: > > > attached is a patch which enables perl cross compile for > linux, full > > perl with extensions. > > > > Not finished yet, but now usable in its current shape. > > > > File ./Cross/Makefile-cross-SH is deleted (as seen in change > > in ./MANIFEST). > > > > The file ./lib/ExtUtils/MM_Unix.pm is touched - I am not > sure whether > > version of MakeMaker should be changed. > > IMO the changes in ./lib/ExtUtils/MM_Unix.pm are few and > innocent - I > > will be happy to provide my motivation to the maintainer of > > the module. > > Please let me know if I should bother [email protected: make...@perl.org] > mailing list for discussion about its ExtUtils::MakeMaker part. > > More to follow, as usual :) > > Best regards, > Vadim. >
|
|
|
| 14) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: Tk maintainer? |
|
|
| way off-topic yet you continue on unrelated discussion. Please read rules about being good netizen. ... |
|
|
|
|
|
|
|
> 2008/2/9, H.Merijn Brand <h.m.brand@xs4all.nl>: > > On Fri, 8 Feb 2008 22:31:34 -0800, Ask Bjørn Hansen > <ask@perl.org> wrote: > > > > > Hi everyone, > > > > > > Someone wants to report a security issue in Tk. Who's > the maintainer > > > now? Who wants to have a look at it? > > > > Slaven Rezic <slaven@rezic.de> > > Good to know! > http://search.cpan.org/dist/Tk/ still has the old 027 > release, because of some > permission problem with Tie::Watch, Tk::CmdLine, Tk::DirTree, > Tk::LabFrame, ... > Can someone please give him these perms?
way off-topic yet you continue on unrelated discussion. Please read rules about being good netizen.
> > And I just had my fun with adding cygwin native-win32 support > as it used > to work some years ago. > Compiles fine, but the run-time events fail. > Maybe the posix style select() tcl events (TclUnix) are doing > not that well > with the windows style Tk. > I might have to try TclWin now. > -- > Reini Urban > http://phpwiki.org/ http://murbreak.at/ > http://spacemovie.mur.at/ http://helsinki.at/ >
|
|
|
| 15) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: Making perl5 crosscompile'able |
|
|
| To clarify, I need the device to feel better, not for cross-compiling you're hero of the dark... |
|
|
|
|
|
|
|
> > > > but if you're insisting for 100% working > cross-compiling - you're > > > > again out of luck until you're donating me n770 device and > > > waiting for > > > > a week for me to implement it. > > > > > > You don't need an specific device for crosscompiling, not even > > > an different arch ;-P > > > > *I* do need it :) > > Right, but I was talking about crosscompile in general, not for an
To clarify, I need the device to feel better, not for cross-compiling > specific device. What I've learned in a lot of embedded projects is> that many people do lots of heavily target specific ports of > individual> packages on individual versions instead of doing it generally. So many> resources are wasted. I prefer to do thigs as general as possible.you're hero of the dark magic, I guess. > > > Of course you can do all things yourself and implement robust> > cross-compiling for perl - then I personally will deeply > thank you and> > will hopefully use your approach for myself> > I'll try to put my code to oss-qm cvs asap.> > > As I said in my other email - this Cross.pm is autogenerated, see> > ./README.ce and ./Cross/build-arm-n770-sh for comments on how it is> > generated> > hmm, if I understood this right, it's just an wrapper which tweaks> the include pathes so that another Config.pm is loaded ? > So, what I really need is the proper Config.pm file. > > Meanwhile I've put in an autoconf-generated Config.pm file.Config.pm is generated by config_pm > > What I now need is a way for calling the Makefile.PL's with> the right Config.pm from an sysroot instead of the running > system. Is passing -I... enough ?not fully so. when cross-compile is go, Config.pm for HOST is not present and the one for TARGET placed in ./xlib/{cross-name}/Config.pm So ./miniperl -MConfig should fail. Vadim
|
|
|
| 16) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: Making perl5 crosscompile'able |
|
|
| *I* do need it :) Of course you can do all things yourself and implement robust cross-compiling for... |
|
|
|
|
|
|
|
> > but if you're insisting for 100% working cross-compiling - you're > > again out of luck until you're donating me n770 device and > waiting for > > a week for me to implement it. > > You don't need an specific device for crosscompiling, not even > an different arch ;-P
*I* do need it :) Of course you can do all things yourself and implement robust cross-compiling for perl - then I personally will deeply thank you and will hopefully use your approach for myself > > you're trying to find here same approach as of > cross-compiling of gcc?> > crosscompiling gcc works quite fine.It does - but how this improves crosscompiling of perl? > > -MCross will make Config.pm with cross-compilation settings to come > > into play> > hmm...> > [email protected: n...@zaphod] ~/a $ perl -MCross> > Can't locate Cross.pm in @INC (@INC contains: /etc/perl > /usr/lib/perl5/vendor_perl/5.8.8/i686-linux > /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl > /usr/lib/perl5/site_perl/5.8.8/i686-linux > /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl > /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 > /usr/local/lib/site_perl .).> BEGIN failed--compilation aborted.> > ...> > What did I do wrong ?As I said in my other email - this Cross.pm is autogenerated, see ./README.ce and ./Cross/build-arm-n770-sh for comments on how it is generated BR, Vadim.
|
|
|
| 17) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: Making perl5 crosscompile'able |
|
|
| Hi, Stefen, its what I'm saying - PAR has (almost) nothing to do with cross-compiling. if you have... |
|
|
|
|
|
|
|
Hi, Stefen,
> > creating windows PARs is very different task compared to > > cross-compiling. > > It's not - if you can cross compile an XS CPAN distro, you can package > that with PAR to get a .par archive for the target architecture: > > perl -MPAR::Dist -eblib_to_par > > Doesn't really matter much which perl it is. It's just a zip action.
its what I'm saying - PAR has (almost) nothing to do with cross-compiling.
if you have foreign binaries (cross-compiled or stolen or bought with money - irrelevant) then PAR can ZIP binaries into the .par file.
you may call it "PAR is close to crosscompiling" I can call it "PAR has nothing to do with crosscompiling" - this do not change the real things.
> As I said above, PAR comes with some multi-arch support. You > can use it > if you have a blib for a foreign architecture. Or you build a > .par with > --multiarch on one system, then extend it again with > --multiarch on another.
so PAR is able to recognize foreign binaries and handle them properly - this is good to know, thank you for this information.
> > What it comes down to: If you can cross-compile a perl and XS modules, > you most certainly went >90% of the way to get .par's for XS > modules of > another platform. My personal estimate is it's >80% if what > needs to be > done for producing PAR-loading binaries for another architecture.
I agree.
BR, Vadim.
|
|
|
| 18) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: Making perl5 crosscompile'able |
|
|
| you're welcomed to fix this by design cross-compilation is 100% automatic but with a 99% of... |
|
|
|
|
|
|
|
> > You've rejected the approach taken by the scripts in the > subdirectory Cross/ ? > > Unusable for me. Doesnt run 100% automatically and needs manual > tweaking. I need an absolutely 100% automatic process.
you're welcomed to fix this by design cross-compilation is 100% automatic but with a 99% of probability it will need tweaking your particular cross-compiling direction
> > As the extensions use (a variant of) the newly compiled > perl binary (for the > > non-cross compile cass) to run each Makefile.PL, I assume > that you will need > > a local copy of perl to run them. > > The main problem is: > How can I make sure, the Makefile is generated with the TARGET's > configuration - now the HOST's ?
the command: perl -MCross=platform_name Makefile.PL is designed to create Makefile to build extension for HOST
it will not actually work in real situation because things need fixing.
BR, Vadim.
|
|
|
| 19) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: Making perl5 crosscompile'able |
|
|
| I meant speculation around EU::MM and CBuilder and all above yep, its created during... |
|
|
|
|
|
|
|
> >> Also, modifications to ExtUtils::MakeMaker and ExtUtils::CBuilder. > >> There are issues in at least two areas: "what does a filename > >> look like (and how do we manipulate it)" and "how do we compile and > >> link code". Currently, the build systems assume that $^O > provides the > >> the answer to both questions. > >> ... > >what this info come from? > > What what info?
I meant speculation around EU::MM and CBuilder and all above > > >in order to cross-compile extensions for perl you need to> >> >./perl -MCross Makefile.PL> > Can't locate Cross.pm in @INC...yep, its created during cross-compiling > > >and then do 'make'> >this way it "works" for cross-compiling wince and linux-arm> > Please elaborate. Specifically, how does it work for win32 and cpan?cpan isn't supported (yet?) and its quite unfinished, although able to produce working binaries. useful info on crosscompiling for win32->wince is in README.ce of perl distribution, it explains approach used in linux-arm crosscomliling also. see also ./Cross/build-arm-n770-sh on how linux-arm cross-compiling could be done. > > >creating windows PARs is very different task compared to> >cross-compiling.> > Yes, but I currently cannot build cpan modules for win32 from a linux > box. Beyond that, it's really a small matter of making a zip file > (plus `cat` if you want to make it executable.)once again - PAR do not use C compiler (it uses Win32::Exe), so you do not need cross-compiler here, PAR do not CPAN-build anything, it gets existing binaries and packs them no compiling in PAR hence no use of cross-compiling for cross-PAR. > > >fix PAR first (it has very broken Tk support...> > Module::ScanDeps, but that discussion should probably go to the PAR > list.Yep! BR, Vadim.
|
|
|
| 20) Konovalov, Vadim Vladimirovich (Vadim)** CTR ** RE: Making perl5 crosscompile'able |
|
|
| what this info come from? in order to cross-compile extensions for perl you need to ./perl -MCross... |
|
|
|
|
|
|
|
> >As the extensions use (a variant of) the newly compiled perl binary > > (for the non-cross compile cass) to run each Makefile.PL, I assume > > that you will need a local copy of perl to run them. > > Also, modifications to ExtUtils::MakeMaker and ExtUtils::CBuilder. > There are issues in at least two areas: "what does a filename > look like > (and how do we manipulate it)" and "how do we compile and > link code". > Currently, the build systems assume that $^O provides the the > answer to > both questions. This is true for file handling, but not for > compiling > (but they're built on subclasses which dispatch on $^O, so untangling > them is more work than my time has allowed.) My thinking was that > EU::MM might just proxy EU::CB to reduce the workload (and IIRC, > Michael was in favor of that.)
what this info come from? in order to cross-compile extensions for perl you need to ./perl -MCross Makefile.PL and then do 'make' this way it "works" for cross-compiling wince and linux-arm > I would love to see perl cross-compile (particularly for building e.g.> windows PARs from linux.) creating windows PARs is very different task compared to cross-compiling. your're mixing apples and oranges. if your goal for cross-compiling is windows PARs, then you need go very different way: fix PAR first (it has very broken Tk support, yet I doubt very much it recognizes the cross-compiling concept), then create some kind of linking set, so basicaly you must just introduce different platforms support into PAR BR, Vadim.
|
|
|
|
 | |
|