chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [ANN]: Port Chicken to AIX


From: Mario Domenech Goulart
Subject: Re: [Chicken-hackers] [ANN]: Port Chicken to AIX
Date: Tue, 13 Aug 2013 13:19:02 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Hi Erik,

Thanks a lot for testing all those things.  See further comments below.

On Tue, 13 Aug 2013 00:33:44 -0600 Erik Falor <address@hidden> wrote:

> On Mon, Aug 12, 2013 at 10:42:22PM -0600, Erik Falor wrote:
>> On Mon, Aug 12, 2013 at 11:52:17PM +0000, Mario Domenech Goulart wrote:
>> > Wow, very nice!  Thanks for doing that.
>> > 
>> > The 4.8.2 development snapshot has been released already, so
>> > unfortunately we can't add your patch to it.  OTOH, once it hits the
>> > master branch it'll be available in the next development snapshots and
>> > releases.
>> 
>> That's fine.  I was under the impression that 4.8.2 was going to be a
>> precursor to an imminent stable release.
>> 
>> > If you need a tarball to ease the CHICKEN deployment on AIX systems, you
>> > can easily generate tarballs (assuming you have a working chicken
>> > installed):
>> > 
>> >   $ make PLATFORM=aix spotless boot-chicken
>> >   $ make PLATFORM=aix CHICKEN=./chicken-boot spotless all
>> >   $ csi -s scripts/makedist.scm PLATFORM=aix CHICKEN=./chicken-boot
>> > 
>> > Some questions:
>> > 
>> > * does "make ... check" work on AIX?
>> 
>> I'll let you know in the morning (that will be the Mountain Daylight
>> Time morning, UTC-7:00).
>
> `make PLATFORM=aix check` works until the "private repository test"
> (so close!).  I think the problem may be that I have installed Chicken
> under my $HOME directory instead of under /.  But I'm hardly an expert
> on this `make check` business.  I've pasted the output of the test for
> interested parties to peruse:
>
> http://paste.call-cc.org/paste?id=54f95a2b65866c215c9b21c3b27a3d98e7bce9dc

I remember seeing a similar problem:
http://lists.nongnu.org/archive/html/chicken-hackers/2012-09/msg00067.html

Maybe it's a similar issue.

> On a related note, is there a way to skip right to a certain test
> without first running all of the intervening tests?

Not that I know.  I usually just comment the tests I don't want to run
in tests/runtests.sh.

>> > * is the change in tcp.scm necessary?
>> 
>> Yes - the AIX sys/socket.h header file doesn't like being passed an
>> unsigned int in the third argument.  I took a cue from the call to
>> getpeername() a few lines above the one I changed.  Though as I look
>> at it now I missed some parens around the '&len' term...

(Just repeating what I wrote in the other message.)

Ok.  I'm just afraid it can cause breakage on other systems.  For
example:
http://stackoverflow.com/questions/3531474/socklen-t-undeclared-when-compiling-c-code

>> > * could you try to build pastiche?  It is a nice test, since it is quite
>> >   heavy on dependencies, but doesn't need external libraries.  It's
>> >   still able to test the FFI because it depends on sql-de-lite, which
>> >   bundles sqlite in case you don't have it installed.
>> 
>> I'll let you know how this goes tomorrow.
>
> I got as far as the html-tags egg when things went south.  At first I
> ran out memory while building it.  After adjusting my ulimits, I was
> treated to screenfuls of this error message from the IBM assembler:
>
> /tmp//ccKuR9Os.s: line 527245: 1252-171 The displacement must be greater than 
> or equal to
>         -32768 and less than or equal to 32767.
>
> This error comes about due to the size of an argument to an
> instruction in POWER processors; some jumping or branching
> instructions are only able to move the instruction pointer +/- 16 bits
> from its present location.  When a file becomes very large and the
> code vast enough, this limit is exceeded.
>
> I ran into this problem when building chicken-core: by adding -Os to
> C_COMPILER_OPTIMIZATION_OPTIONS, the compiler was able to shrink its
> output down enough to sneak under this limit.  When I googled this
> error message the best advice I found was to manually split your C
> files up into smaller units, or use the XL C compiler provided by IBM.

-Os should be the default build flag.

> I must say that I am a bit curious how a 15k html-tags.scm file can
> become a 5.5M html-tags.c.

html-tags is like a zip bomb. :-) It's a macro that generates a bunch of
procedures -- one for each HTML tag with keyword parameters for each tag
attribute.  That's why the code ends up being so big.  It should be
moved to the obsolete category as soon as awful deprecates the use of
strings and uses SXML only.

> If there are any optimization flags I can use on csc that may result
> in a smaller output file, I'd be glad to hear about them.  But short
> of being able to emit multiple .c files, I'm not sure if this limit
> can entirely be avoided.

I honestly don't know what we can do in that situation.

> I'll check around to see if I can find an installation of XL C, but
> I'm pretty sure we're a GCC shop all around.

Ok.  Thanks.

Best wishes.
Mario
-- 
http://parenteses.org/mario



reply via email to

[Prev in Thread] Current Thread [Next in Thread]