Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Building 5.8.1-RC2 with BCC5.5

by BrowserUk (Patriarch)
on Jul 18, 2003 at 08:10 UTC ( [id://275516]=perlquestion: print w/replies, xml ) Need Help??

BrowserUk has asked for the wisdom of the Perl Monks concerning the following question:

Has anyone successfully built 5.8.1-RC2 using Borland? Is it me or has the win32/makefile regressed?


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller

Replies are listed 'Best First'.
Re: Building 5.8.1-RC2 with BCC5.5
by PodMaster (Abbot) on Jul 18, 2003 at 08:28 UTC

      Thanks for the reply. Unfortunately I don't understand what (or perhaps how) to smoke perl, or how that would solve the problem? Doesn't that require that I build perl? Which is what I am having a problem with.

      I tried to follow the first link in your update and got a page that says:

      Aren't you supposed to be somewhere else?

      To which I replied "Probably, but where?" but I didn't get an answer:)

      The second link appears to be a patch for the build process. Should I apply this to my copy of the sources? Does that mean that everyone attempting this should do the same?

      Sorry PodMaster. I realise that this is likely to come across as though I am having a go at you. I'm not. I'm just a little frustrated by the whole process.

      I guess my point here is that I would willingly "smoke perl" if it would help (me or others), if I knew what that meant? And if I knew were I could find the instructions to get started. Maybe its just me that has a problem with finding this stuff, but there are still a whole host of things to do with getting involved in the development process that I see talked about, but the knowledge required to get involved seems to be imparted by osmosis.

      As an example:There is/was a bugathon recently that I would have gladly taken part in, but the only information I could find (via a link in perlnews if memory serves), told me nothing about how to take part unless I could arrange to be at a place that I couldn't get to.

      This seems fairly typical of my experiences. Everyone agrees that there is a lot that needs to be done and that if more people got involved, things could be improved, but every time I have tried, I get met by a blank wall devoid of guidance as to how to get started.

      I've been following the p5p news groups for a while now as a passive observer. I would like to get involved, but the whole things seems to run on the basis of if you have a previous reputation there, then what you say may receive some level of import. Otherwise forget it, there is no way to contribute because anything you might suggest is dismissed. The only way 'in' seems to be to spend a year or two developing patches to things that you know will never be accepted and fighting flame wars against the vested interests until your name is known enough for someone 'in power' to decide to take you seriously. I may have a lot of time on my hands at the moment, but life is short. Too short to waste it pursuing this type of process.


      Examine what is said, not who speaks.
      "Efficiency is intelligent laziness." -David Dunham
      "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller

        LOL. Grr. LOL. You can always ask here. Test::Smoke (I believe i've mentioned it before).

        • smoke perl
          • http://qa.perl.org/
            • The "smokers" does smoke tests of the bleading edge Perl on various platforms to help the developers spot new bugs as fast as possibly.

              Get involved by subscribing to the daily-build list by sending mail to daily-build-subscribe@perl.org (Web archive and nntp server). After subscribing you would probably like to get the Smoke toolkit, see the README for information on that.

        That readme's a little dated, alls you need is Test::Smoke. If you smoke perl, you can detect when things go wrong immediately ;)

        As for the linked patches, yup, apply those -- but ultimatly they still fail. Too bad nobody's consistently smoking on borland (dang, my "c" key is broke, alt+99 grrr, and e is dying, GRRR;)

        MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
        I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
        ** The third rule of perl club is a statement of fact: pod is sexy.

Re: Building 5.8.1-RC2 (Mostly solved) with BCC5.5
by BrowserUk (Patriarch) on Jul 18, 2003 at 21:51 UTC

    With much greatly appreciated assistance from PodMaster, I've (finally) managed to get this to work.

    Here is the step-by-step process for building Perl 5.8.1-RC2 from the cpan source for Win32 using Borland BCC 5.5 (free compiler) and dmake (I forget where I got this from but it was also free?).

    Note: the procedure outlined here disables LARGE_FILES ( > 4 GB) support and PerlIO Support to work around problems caused by the differences between Borland and MS VC++ libraries.

    1. Edit win32/makefile.mk

      1. Edit lines 24/25 to say where you want your new version of perl to be installed.
      2. Comment out line 37 # INST_VER    *= \5.9.0
      3. Comment out line 48 #INST_ARCH    *= \$(ARCHNAME)
      4. Comment out line 76 #USE_PERLIO    *= define
      5. Comment out line 82 # USE_LARGE_FILES *= define
      6. Comment out line 102 # CCTYPE        *= MSVC60
      7. Uncomment line 104 CCTYPE        *= BORLAND
    2. Edit win32/config_H.bc

      Comment out line 3316 /* #define    USE_LARGE_FILES        /**/

    3. Issue the command dmake from the win32 directory.

      Completes with no errors but several warnings are issued. This seems to be the status quo.

    4. Issue the command dmake test from the win32 directory.

      Quite a few tests fail. Some are explainable by a conflict on my system with a comand t.exe which seems to interfere with a few of the tests. Some are explained by my firewall preventing socket tests from working.

      Three failures of the threaded stress tests resulted in Seg faults (Trap Ds) which I cannot yet explain. The mysterious "1 SUBTEST UNEXPECTEDLY SUCCEEDED" remains a mystery:)

      The testing summary is

      Failed Test Stat Wstat Total Fail Failed List o +f Failed ---------------------------------------------------------------------- +--------- ../ext/Socket/socketpair.t 255 65280 ?? ?? % ?? ../ext/threads/t/stress_cv.t 64 45 70.31% 20-64 ../ext/threads/t/stress_re.t 4 1024 64 90 140.62% 20-64 ../ext/threads/t/stress_string.t 64 45 70.31% 20-64 ../ext/threads/t/thread.t 25 1 4.00% 25 ../lib/Net/Ping/t/190_alarm.t 2 512 6 1 16.67% 6 ../lib/Net/Ping/t/450_service.t 26 4 15.38% 8-10 2 +2 ../lib/Pod/t/eol.t 2 512 3 2 66.67% 1-2 ../lib/Test/Simple/t/fail-more.t 2 1 50.00% 2 io/dup.t 12 2 16.67% 6-7 op/taint.t 206 2 0.97% 1 31 win32/system.t 1008 10 0.99% 999-10 +08 (1 subtest UNEXPECTEDLY SUCCEEDED), 86 tests and 643 subtests skipped +. Failed 12/808 test scripts, 98.51% okay. 158/76058 subtests failed, 99 +.79% okay. dmake.exe: Error code 32, while making 'test'

      The 98% and 99% OK figures are encouraging, but not totally convincing.

    5. Issue the command dmake install from the win32 directory.

      This completes with 568 File(s) copied on my system.

    I'm still trying to track down and correct the errors that required large file support (less of an issue for me) and the PerlIO subsystem (which is more of an issue, but could be related). If I succeed, I'll update this post with my findings.


    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller

Re: Building 5.8.1-RC2 with BCC5.5
by Courage (Parson) on Jul 19, 2003 at 10:48 UTC
    Indeed, Borland compilers are supported but nowadays this support is much smaller than earlier.

    Also, Borland build uses win32/makefile.mk and not win32/Makefile . It is quite often someone adds modification in perl5porters list to win32/Makefile and forgets to update appropriately win32/makefile.mk, or even does not know about such file.

    There is a probability that you get failings that could be fixed by editing win32/makefile.mk

    About couple of years ago I've discovered failed test that was caused by a bug in Borland C's CRT, and tried to report that bug to Borland with no success.

    BTW do you try building with pure Borland-C-5.5, or you have such a compiler with C++Builder with VCL library?

    Also, what special benefits do you want to gain by building with Borland compiler?
    I can assure you that it's harder to build other modules with Borland than with MSVC++, namely because nowadays it is less supported.

    Courage, the Cowardly Dog

Re: Building 5.8.1-RC2 with BCC5.5
by jdklueber (Beadle) on Jul 18, 2003 at 16:36 UTC
    Is there a real need to compile perl yourself, or would ActiveState's perl build be sufficient?
    --
    Jason Klueber
    ookami@insightbb.com

    /(bb)|^b{2}/
    --Shakespeare

      Yes. There is a real need. Beleive me, I wouldn't be banging my head on this particular brick wall just for fun :)

      A few reasons: I am hoping that the fixes in this build will allow me to make progress on a couple of projects I had to suspend because the 5.8.0 threads support was flakey.

      I would like to be able to use Inline::C for a couple of things where I can't extract the requisiste performance from pure perl.

      I also have a couple of ideas for patches to the perl source for which I need to be able to build the latest version perl.

      I get antsy reading about all the great new features available in the latest builds but having to wait for AS to do their thing and release their build of it, which usually happens just before the cycle repeats itself:)


      Examine what is said, not who speaks.
      "Efficiency is intelligent laziness." -David Dunham
      "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://275516]
Approved by PodMaster
Front-paged by broquaint
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (7)
As of 2024-04-23 14:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found