Re: [racket-dev] Places -- on by default in v5.1.1.2. (git master)

2011-04-21 Thread Eli Barzilay
Two days ago, Kevin Tew wrote:
 
 This means that parallel zo and doc builds will use places instead
 of processes.
 
 Report bugs as usual :)

Here's a major bug: the memory consumption is *horrible*.  Winooski,
the main build machine, has 4 cores and 4gb ram.  Things used to be
pretty bad with 4 build processes, each taking around 500mb or a
little more -- but this change turned it from bad to nightmarish.
(The machine gets overwhelmed by the load while memory consumption
goes up mercilessly, gets to the point of thrashing badly and leading
the kernell to go off on a random killing spree.)

Please disable it.

The first build died in a way that was probably similar to that.  The
second one happened while I was working, so I got to see the horror
from a closer range, and killed it myself.  (A project that took about
10 minutes to accomplish.)  Before it died, the rough numbers were:
about 3.8gb of virtual memory, and a resident size of around 2.1gb.
My guess is that, like you said, the memory footprint is essentially
the same, but with 4 processes the kernel can sort things out and
starve one process while the others make progress, and with one
there's not much that it can do.  (But that's just a guess.)

As for the reason I ask to disable it: IMO, a 4gb memory is not
something that should be considered common, and = 4 cores too.  So
this makes a good recipe for a bad first-experience with the
langauge.  (If I see some random language that kills my machine when I
try to compile it, I'd probably not only dump it, but complain loudly
whenever I see it mentioned.)

Alternatively, if there's a way to check the machine's physical
memory, then make it use something like 1 core per 2gb ram.  This
applies for the multiple-processes variant too, though the number
might be a little lower.

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Places -- on by default in v5.1.1.2. (git master)

2011-04-21 Thread Matthew Flatt
At Thu, 21 Apr 2011 05:33:47 -0400, Eli Barzilay wrote:
 Two days ago, Kevin Tew wrote:
  
  This means that parallel zo and doc builds will use places instead
  of processes.
  
  Report bugs as usual :)
 
 Here's a major bug: the memory consumption is *horrible*.

Ok, we'll disable for now and check on the change in memory use.

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] [plt] Push #22500: master branch updated

2011-04-21 Thread Eli Barzilay
An hour and a half ago, Kevin Tew wrote:
 An alternative patch that keeps places enabled but uses processes
 for build.

Yes -- this is what I meant by disabling it.  (Assuming that this
disables the parallel build with either places or processes.)


 diff --git a/collects/setup/parallel-do.rkt b/collects/setup/parallel-do.rkt
 index 00823fe..2716c2a 100644
 --- a/collects/setup/parallel-do.rkt
 +++ b/collects/setup/parallel-do.rkt
 @@ -168,7 +168,8 @@
(find-system-path 'orig-dir))
 
   (define (parallel-do-event-loop module-path funcname initialmsg 
 jobqueue nprocs [stopat #f])
 -  (define use-places (place-enabled?))
 +;  (define use-places (place-enabled?))
 +  (define use-places #f)
 (define (spawn id)
   (define wrkr (if use-places (new PlaceWorker%) (new Worker%)))
   (wrkr/spawn wrkr id module-path funcname initialmsg)

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


[racket-dev] my '312' this semester, how we compare to others

2011-04-21 Thread Matthias Felleisen

[ In case you don't know: since the late 90s, I have been teaching a course 
dubbed software dev every so often. Students choose their favorite language, I 
choose the project, they program, I program in Racket and in DrRacket (and 
strictly). Over the semester the students code-walk their projects in class and 
the 'finals' are two-hour code walks with 'stress tests' of their servers 
working with my clients and vice versa. This gives me some idea of what 
languages contribute to the standard of programming and what's out there. ]

* OBSERVATIONS from this year's '312', starting with some background: 

(1) this is the first year the course was open to MS students and limited 
enrollment only. So I ended up with 10 MS students and 6 undergraduates. 
(2) I saw much less variety than usual. 
(3) two undergraduates started with Racket but due to team rotations they ended 
up with Java partners. 
(4) all MS students fell back into their Java/Eclipse monoculture after having 
seen Racket/DrRacket in the Bootcamp course for MS students. 
(5) one pair chose Python 
(6) one pair chose C++, and lo and behold, this is the first time in 14 years 
that the C++ pair survived the course. 

On local basis (ten lines here, ten lines there), the C++ and Python code looks 
as good as Racket code. 

Java looks worst. Period. 

I stuck to Racket's OO world, and I will say that I mostly enjoyed this. 

Racket didn't provide me with much of an advantage anymore. I did benefit from 
mixins (twice), custodians (once), proper contracts (huge win) and my first 
large-scale use of rackunit (another large win). If I had remembered logging in 
Racket, I would have saved myself 40 lines of code and 2 hours of debugging. 
Higher-order functions and macros played very minor roles. This is possibly due 
to my choice of project. (Look for Ingenious board game; distributed; 
variations on the rules) 

Bottom line here: My code implements more features, is easier to read, has many 
fewer bugs, I am more productive than anybody in there. But it's my personal 
skill set (with Racket) not the language features that give me most of the 
advantage. 

;; --- 

Let's get to what I learned about how others live and where we fail: 

* PROBLEMS WITH DRRACKET: compared to the Eclipse-Java monoculture, 
DrRacket suffers from three major problems as far as I am concerned as a 
program designer: 

-1- Eclipse performs 'check syntax' in an on-line fashion. If you are reading a 
piece of code, and you wish to jump to the definition of some method you're 
calling, click and you jump. 

-2- Eclipse autocompletes all the time and in a highly convenient manner. 

-3- Eclipse displays tooltips on ids with relevant docs. It makes it trivial to 
learn the APIs and to recall what your own methods do (assuming your types and 
your purpose statements contain the proper information). 

DrRacket/Racket is superior to Eclipse in two regards: 

+1+ Contracts are properly integrated into our tool chain. They are comments 
and or strings in the rest of the world. 

+2+ My discipline of using define/provide-test-suite enabled me to keep 
interfaces narrow and tests accurate and called properly. 

* PROBLEMS WITH RACKET: our performance suffers from two problems. 

-A- I demanded that students deliver their functionality via Unix shell 
scripts, and so I did so too. My tcsh scripts check the argument number and 
pass the arguments on to Racket. Firing up one of my clients or servers takes 
several seconds. All other language implementations appear to bring up their 
servers or clients instantaneously. 

-B- When it comes to raw computational performance (ignore loading Racket, 
start from REPL and run a single game -- 10 seconds), my implementation is 
faster than Python (but barely) and one of the Java implementations. But one 
Java implementation is 10x faster. My hunch is that our OO system is 
significantly slower than Java's because we lack types to reduce dispatch 
overhead. Then again I might be wrong. -- Another possibility is that my 
extremely heavy use of our wonderful (!) contracts may impose a large overhead. 
I use mostly -i and -m. 

;; --- 

So this is the view from the frontline. I am equally delighted and frustrated 
this year -- Matthias


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Pre-Release Checklist for v5.1.1

2011-04-21 Thread Jon Rafkind

 * Jon Rafkind rafk...@cs.utah.edu
   Release tests for (one of the) linux releases:
   - Test that the `racket' and `racket-textual' source releases
 compile fine
   - Test that the binary installers for both work, try each one in
 both normal and unix-style installation modes. (just ubuntu)
   [Note: get the release candidates from the URL in this email. Use
the 'static table' link to see a list of all tar files available]


The binary installers had problems with libffi.so.5. Source
distributions are still compiling. I used

plt-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh
mz-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh

My notes:
textual - failed in normal mode after install
   $ ./racket
   ./racket: error while loading shared libraries: libffi.so.5: cannot
open shared object file: No such file or directory

  failed in unix mode during install
  Unpacking into
/tmp/work/x/binary/textual-unix/racket-textual-tmp-install... done.
  racket-textual-tmp-install/bin/racket: error while loading shared
libraries: libffi.so.5: cannot open shared object file: No such file or
directory

  racket - failed in normal mode after install
$ ./racket
./racket: error while loading shared libraries: libffi.so.5: cannot
open shared object file: No such file or directory

  failed in unix mode during install
   Unpacking into /tmp/work/x/binary/racket-unix/racket-tmp-install...
done.
   racket-tmp-install/bin/racket: error while loading shared libraries:
libffi.so.5: cannot open shared object file: No such file or directory
   Error: installation failed
 (Removing installation files in
/tmp/work/x/binary/racket-unix/racket-tmp-install)

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] my '312' this semester, how we compare to others

2011-04-21 Thread Neil Van Dyke

Matthias Felleisen wrote at 04/21/2011 01:07 PM:

-A- I demanded that students deliver their functionality via Unix shell 
scripts, and so I did so too. My tcsh scripts check the argument number and 
pass the arguments on to Racket. Firing up one of my clients or servers takes 
several seconds. All other language implementations appear to bring up their 
servers or clients instantaneously.
  


I only see slow performance like that from non-GUI Racket when the 
Racket code is not yet compiled, and perhaps when the files that need to 
be read (or ELF loaded) by the OS are not in OS caches.


The racket REPL executable startup *did* seem to get a lot slower a 
while ago -- a few seconds -- compared to the old mzscheme REPL.  But 
5.1 was less than 1 second to REPL prompt when I tried it just now.


Three shell script tips that shouldn't matter much, but might speed you 
up a little: (1) Consider using /bin/sh or /bin/bash instead of 
tcsh, since the old rule is Bourne for scripting, C-shell for 
interactive; (2)  In the #! line, use command line options to disable 
shell features that load various system and user rc files, since these 
are slow to read and interpret, and can be huge like completion tables, 
plus in a production app other people's shell rc files can introduce 
instability; (3) After your script does the minimal stuff it has to do 
in shell rather than Racket, use an exec to fire off racket, so that 
everyone can forget sooner that shell ever happened.


--
http://www.neilvandyke.org/
_
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Pre-Release Checklist for v5.1.1

2011-04-21 Thread Jon Rafkind
Source distributions compiled ok. The racket distribution no longer
produces a 'drscheme' executable even though it does produce 'mzscheme'.

Is that a mistake?

On 04/21/2011 11:50 AM, Jon Rafkind wrote:
 * Jon Rafkind rafk...@cs.utah.edu
   Release tests for (one of the) linux releases:
   - Test that the `racket' and `racket-textual' source releases
 compile fine
   - Test that the binary installers for both work, try each one in
 both normal and unix-style installation modes. (just ubuntu)
   [Note: get the release candidates from the URL in this email. Use
the 'static table' link to see a list of all tar files available]

 The binary installers had problems with libffi.so.5. Source
 distributions are still compiling. I used

 plt-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh
 mz-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh

 My notes:
 textual - failed in normal mode after install
$ ./racket
./racket: error while loading shared libraries: libffi.so.5: cannot
 open shared object file: No such file or directory

   failed in unix mode during install
   Unpacking into
 /tmp/work/x/binary/textual-unix/racket-textual-tmp-install... done.
   racket-textual-tmp-install/bin/racket: error while loading shared
 libraries: libffi.so.5: cannot open shared object file: No such file or
 directory

   racket - failed in normal mode after install
 $ ./racket
 ./racket: error while loading shared libraries: libffi.so.5: cannot
 open shared object file: No such file or directory

   failed in unix mode during install
Unpacking into /tmp/work/x/binary/racket-unix/racket-tmp-install...
 done.
racket-tmp-install/bin/racket: error while loading shared libraries:
 libffi.so.5: cannot open shared object file: No such file or directory
Error: installation failed
  (Removing installation files in
 /tmp/work/x/binary/racket-unix/racket-tmp-install)

 _
   For list-related administrative tasks:
   http://lists.racket-lang.org/listinfo/dev

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Pre-Release Checklist for v5.1.1

2011-04-21 Thread Jay McCarthy
Not a mistake. 'mzscheme' is kept for script-compatibility but
'drscheme' is dropped as part of the name change transition.

Jay

2011/4/21 Jon Rafkind rafk...@cs.utah.edu:
 Source distributions compiled ok. The racket distribution no longer
 produces a 'drscheme' executable even though it does produce 'mzscheme'.

 Is that a mistake?

 On 04/21/2011 11:50 AM, Jon Rafkind wrote:
 * Jon Rafkind rafk...@cs.utah.edu
   Release tests for (one of the) linux releases:
   - Test that the `racket' and `racket-textual' source releases
     compile fine
   - Test that the binary installers for both work, try each one in
     both normal and unix-style installation modes. (just ubuntu)
   [Note: get the release candidates from the URL in this email. Use
    the 'static table' link to see a list of all tar files available]

 The binary installers had problems with libffi.so.5. Source
 distributions are still compiling. I used

 plt-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh
 mz-5.1.0.900-bin-i386-linux-ubuntu-jaunty.sh

 My notes:
 textual - failed in normal mode after install
    $ ./racket
    ./racket: error while loading shared libraries: libffi.so.5: cannot
 open shared object file: No such file or directory

   failed in unix mode during install
   Unpacking into
 /tmp/work/x/binary/textual-unix/racket-textual-tmp-install... done.
   racket-textual-tmp-install/bin/racket: error while loading shared
 libraries: libffi.so.5: cannot open shared object file: No such file or
 directory

   racket - failed in normal mode after install
     $ ./racket
     ./racket: error while loading shared libraries: libffi.so.5: cannot
 open shared object file: No such file or directory

   failed in unix mode during install
    Unpacking into /tmp/work/x/binary/racket-unix/racket-tmp-install...
 done.
    racket-tmp-install/bin/racket: error while loading shared libraries:
 libffi.so.5: cannot open shared object file: No such file or directory
    Error: installation failed
      (Removing installation files in
 /tmp/work/x/binary/racket-unix/racket-tmp-install)

 _
   For list-related administrative tasks:
   http://lists.racket-lang.org/listinfo/dev

 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev




-- 
Jay McCarthy j...@cs.byu.edu
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

The glory of God is Intelligence - DC 93

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Re: [racket-dev] my '312' this semester, how we compare to others

2011-04-21 Thread Matthias Felleisen

I had a request for line counts: 

 -- my own project used ~5,000loc, which includes comments and blank lines 
-- of these, ~3,200 lines are 'real' code and some ~1,800 lines of 
rackunit code 

 -- the Java projects run at about 2x to 3x the line count (the best project 
comes in at close to 12Kloc)

 -- the C++ project is close to 4Kloc, w/o any tests 

 -- the Python project came out to 2,8000 lines, including tests 

Some caveats apply of course: 

 ++ Java is extremely verbose and cumbersome, even with parametric 
polymorphism. 

 ++ Only one project had a larger test ratio than my own. But the project was 
in Java and see preceding bullet. 
 
 ++ Only the C++ project has a GUI that is comparable to my own. 

 ++ Not one server lived up to the same quality level as mine. (I sent them a 
free-formatted string of 1,000,000 lines and that broke everyone's code).

 ++ Two of seven clients faulted all the time. One faulted on an intermittent 
basis. 

And there are other caveats. I am sure I could write more compact Java code 
than any of the students, though I doubt I'd get close to what I have. 

I will reflect some more and report on the language comparison a bit more. 

-- Matthias





_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] my '312' this semester, how we compare to others

2011-04-21 Thread Matthias Felleisen

Two points worth noting: 

1. Robby pointed out that I forgot to compile my code when I ran the script. 
That was a critical omission on my side and it eliminates point -A- from my 
list of negative observations. 

2. I forgot to mention the most amazing aspect of my final test run with the 
students. For their final, we ran their server and my clients. In addition to 
regular clients, I had nasty ones and bad ones. I wrote one nasty one 
especially for the C++ project. This client would send the following kind of 
XML to the server to initiate the dialog: 

  register name=
  ... 1,000,000 newlines ...
  some regular chars
  ... 1,000,000 more newlines ...
   /

As you can see, it's regular XML but a lot of work. The amazing point: 

 -- the C++ project is the ONLY one (other than my own server) that 'survives' 
this message. 
(It fails to truncate the name and thus generates too much network 
traffic in the end. 
On occasion it may fail for this reason. To be precise, it times out.) 

 -- ALL other projects (Java, Python) failed on this one. The Java and Python 
libraries are 
so clumsy that the programmers naturally make mistakes (five different 
mistakes in 
six temas). 

For full disclosure, the C++ hacker is a systems PhD student (uncommon for this 
course) and is a Google Chrome part-time developer. 

-- Matthias


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Pre-Release Checklist for v5.1.1

2011-04-21 Thread Doug Williams
All of the plot tests and plot extensions in the science collection work as
expected.

On Wed, Apr 20, 2011 at 9:41 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:

 Checklist items for the v5.1.1 release
  (using the v5.1.0.900 release candidate build)

 Search for your name to find relevant items, reply when you finish an
 item (please indicate which item/s is/are done).  Also, if you have any
 commits that should have been picked, make sure that the changes are in.

 Important: new builds are created without announcement, usually whenever
 I pick a few commits.  If you need to commit changes, please make sure
 you tell me to pick it into the release branch.

 -- Release candidates are at
 --   http://pre.racket-lang.org/release/installers

 Please use these installers (or source bundles) -- don't test from
 your own git clone (don't test v5.1.1.1 by mistake!).  To get
 the tests directory in such a directory, you can do this:
  cd ...racket-root...
  git archive --remote=git://git.racket-lang.org/plt.git release \
  -- collects/tests | tar x

 --

 * Matthew Flatt mfl...@cs.utah.edu
  - Racket Tests
  - Languages Tests
  - GRacket Tests (Also check that `gracket -z' and `gracket-text' still
works in Windows and Mac OS X)
  - mzc Tests
  - mzc --exe tests
  - .plt-packing Tests
  - Games Tests
  - Unit Tests
  - Syntax Color Tests
  - R6RS Tests
  - JPR's test suite.
  - Create an executable from a BSL program.
  Updates:
  - Racket Updates: update HISTORY
  - GRacket Updates: update README, HISTORY
  (updates should show v5.1.1 as the most current version)
  - Update man pages in racket/man/man1: racket.1, gracket.1, raco.1
  Email me to pick the changes when they're done, or tell me if there
  are no such changes.

 * Robby Findler ro...@eecs.northwestern.edu
  - DrRacket Tests
  - Framework Tests
  - Contracts Tests
  - Games Tests
  - Teachpacks Tests: image tests
  - PLaneT Tests
  Updates:
  - DrRacket Updates: update HISTORY
  (updates should show v5.1.1 as the most current version)
  - Ensure that previous version of DrRacket's preference files still
starts up with new DrRacket
  - Update man pages in racket/man/man1: drracket.1
  Email me to pick the changes when they're done, or tell me if there
  are no such changes.

 * John Clements cleme...@brinckerhoff.org
  - Stepper Tests
  Updates:
  - Stepper Updates: update HISTORY
  (updates should show v5.1.1 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

 * Matthias Felleisen matth...@ccs.neu.edu
  - Teachpacks Tests: check that new teachpacks are addable
  - Teachpack Docs: check teachpack docs in the bundles
  Updates:
  - Teachpack Updates: update HISTORY
  (updates should show v5.1.1 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

 * Casey Klein clkl...@eecs.northwestern.edu
  - Redex Tests
  Updates:
  - Redex Updates: update HISTORY
  (updates should show v5.1.1 as the most current version; email me
  to pick the changes when they're done, or tell me if there are no such
  changes.)

 * Ryan Culpepper ry...@ccs.neu.edu
  - Macro Debugger Tests
  - Syntax Classifier Tests
  - RackUnit GUI Tests
  - Data Tests

 * Jay McCarthy jay.mccar...@gmail.com
  - Web Server Tests
  - XML Tests
  - HTML Tests
  - PLAI Tests
  - Racklog tests
  - Datalog tests

 * Paul Steckler st...@stecksoft.com
  - MysterX Tests
  - MzCOM Tests

 * Kathy Gray kathryn.g...@cl.cam.ac.uk
  - Test Engine Tests

 * Noel Welsh noelwe...@gmail.com
  - Rackunit Tests
  - SRFI Tests
  - Ensure that all claimed srfi's are in the installer and they all
load into racket or drracket (as appropriate)

 * Sam Tobin-Hochstadt sa...@ccs.neu.edu
  - Match Tests
  - Typed Racket Tests

 * Stevie Strickland sstri...@ccs.neu.edu
  - Unit Contract Tests
  - Contract Region Tests

 * Eli Barzilay e...@barzilay.org
  - Swindle Tests
  - Plot Tests
  - Verify that the unix installer works in both modes
  - Racket Tree: compare new distribution tree to previous one
  Version Updates: if a major change has happened, update the version
  number in:
  - racket/collects/mzscheme/info.rkt
  - racket/collects/mred/info.rkt

 * Doug Williams m.douglas.willi...@gmail.com
  - Plot Tests

 * Stephen Bloch sbl...@adelphi.edu
  - Picturing Programs Tests

 * Greg Cooper g...@cs.brown.edu
  - FrTime Tests

 * Carl Eastlund c...@ccs.neu.edu
  - Dracula Tests (confirm that Dracula runs from PLaneT)

 * Jon Rafkind rafk...@cs.utah.edu
  Release tests for (one of the) linux releases:
  - Test that the `racket' and `racket-textual' source releases
compile fine
  - Test that the binary installers for both work, try each one in
both normal and unix-style installation modes. (just ubuntu)
  [Note: get the release candidates from the URL in this email. Use
   the 'static table' 

Re: [racket-dev] Pre-Release Checklist for v5.1.1

2011-04-21 Thread Robby Findler
On Wed, Apr 20, 2011 at 10:41 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:
 * Robby Findler ro...@eecs.northwestern.edu
  - DrRacket Tests

all passed except tests/drracket/test-engine-test.rkt and I'll be
looking into that one.

  - Framework Tests
  - Contracts Tests
  - Games Tests
  - Teachpacks Tests: image tests
  - PLaneT Tests

done


  Updates:
  - DrRacket Updates: update HISTORY
  (updates should show v5.1.1 as the most current version)

done, commit: 8655c4a

  - Ensure that previous version of DrRacket's preference files still
    starts up with new DrRacket

done

  - Update man pages in racket/man/man1: drracket.1

no changes to drracket, but I removed the drscheme.1 man page.

Robby

_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

[racket-dev] racket 5.1 build failure on debian/kfreebsd

2011-04-21 Thread David Bremner

Hi All;

I'm trying to build 5.1 on debian/kfreebsd, and I'm having problems with
src/racket/src/port.c

The main problems stem from MZ_FLUSH_* not being defined. This in turn
seems to be because MZ_FDS is not defined at line 259.  At that point I
got stuck, I couldn't see what controlled this definition.

The full build log is 

https://buildd.debian.org/status/fetch.php?pkg=racketarch=kfreebsd-amd64ver=5.1%2Bdfsg1-1stamp=1303128559

The relevant seeming part is as follows:

gcc -I./.. 
-I/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/../include
 -g  -Wall -c 
/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/port.c
 -o port.o
/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/port.c:
 In function 'scheme_file_buffer':
/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/port.c:4649:12:
 error: 'MZ_FLUSH_NEVER' undeclared (first use in this function)
/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/port.c:4649:12:
 note: each undeclared identifier is reported only once for each function it 
appears in
/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/port.c:4651:12:
 error: 'MZ_FLUSH_BY_LINE' undeclared (first use in this function)
/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/port.c:4653:12:
 error: 'MZ_FLUSH_ALWAYS' undeclared (first use in this function)
/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/port.c:
 In function 'file_buffer_mode':
/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/port.c:4902:15:
 error: 'MZ_FLUSH_NEVER' undeclared (first use in this function)
/build/buildd-racket_5.1+dfsg1-1-kfreebsd-amd64-wZ0aXZ/racket-5.1+dfsg1/src/racket/src/port.c:4904:20:
 error: 'MZ_FLUSH_BY_LINE' undeclared (first use in this function)



_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


[racket-dev] Build failure on OS X

2011-04-21 Thread Eric Dobson
I tried to build the git HEAD today and ran into problems. During the make 
process, it fails to create the framework with the following error message:

gcc -o Racket.framework/Versions/5.1.1.3/Racket  -m32 -pthread -framework 
CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  -liconv 
-L/opt/local/lib -lffi   
Undefined symbols:
  _iconv_close, referenced from:
  _do_convert in libracket.a(string.o)
  _do_convert in libracket.a(string.o)
  _do_convert in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _close_converter in libracket.a(string.o)
  _iconv_open, referenced from:
  _do_convert in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _scheme_open_converter in libracket.a(string.o)
  _iconv, referenced from:
  _do_convert in libracket.a(string.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

Does anyone know what might cause this?

Thanks,
 Eric


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Build failure on OS X

2011-04-21 Thread Matthew Flatt
It looke like you have `-L/opt/local/lib' in your LDFLAGS
configuration. Do you also have `-I/opt/local/include' in CPPFLAGS?

You machine is probably like mine, where you have two installations of
libiconv, and this error happens when the C headers of one installation
get mixed with the lib of the other.

At Thu, 21 Apr 2011 21:42:54 -0400, Eric Dobson wrote:
 I tried to build the git HEAD today and ran into problems. During the make 
 process, it fails to create the framework with the following error message:
 
 gcc -o Racket.framework/Versions/5.1.1.3/Racket  -m32 -pthread -framework 
 CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  -liconv 
 -L/opt/local/lib -lffi   
 Undefined symbols:
   _iconv_close, referenced from:
   _do_convert in libracket.a(string.o)
   _do_convert in libracket.a(string.o)
   _do_convert in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _close_converter in libracket.a(string.o)
   _iconv_open, referenced from:
   _do_convert in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _scheme_open_converter in libracket.a(string.o)
   _iconv, referenced from:
   _do_convert in libracket.a(string.o)
 ld: symbol(s) not found
 collect2: ld returned 1 exit status
 
 Does anyone know what might cause this?
 
 Thanks,
  Eric
 
 
 _
   For list-related administrative tasks:
   http://lists.racket-lang.org/listinfo/dev
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Build failure on OS X

2011-04-21 Thread Eric Dobson
I don't have any *FLAGS variables set in my environment when I run configure or 
make. But I do have libiconv installed through macports. It was out of date, 
and I upgraded it, but now I am getting a different message:

gcc -o Racket.framework/Versions/5.1.1.3/Racket  -m32 -pthread -framework 
CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  -liconv 
-L/opt/local/lib -lffi   
ld: warning: in /opt/local/lib/libiconv.dylib, file was built for unsupported 
file format which is not the architecture being linked (i386)
Undefined symbols:
  _iconv_close, referenced from:
  _do_convert in libracket.a(string.o)
  _do_convert in libracket.a(string.o)
  _do_convert in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _close_converter in libracket.a(string.o)
  _iconv_open, referenced from:
  _do_convert in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _scheme_open_converter in libracket.a(string.o)
  _iconv, referenced from:
  _do_convert in libracket.a(string.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

(Note the warning about a different architecture.)

I assume that If I tell it to use the system version of iconv, things will work 
out. But how do I tell it to ignore the bad version?

-Eric



On Apr 21, 2011, at 9:48 PM, Matthew Flatt wrote:

 It looke like you have `-L/opt/local/lib' in your LDFLAGS
 configuration. Do you also have `-I/opt/local/include' in CPPFLAGS?
 
 You machine is probably like mine, where you have two installations of
 libiconv, and this error happens when the C headers of one installation
 get mixed with the lib of the other.
 
 At Thu, 21 Apr 2011 21:42:54 -0400, Eric Dobson wrote:
 I tried to build the git HEAD today and ran into problems. During the make 
 process, it fails to create the framework with the following error message:
 
 gcc -o Racket.framework/Versions/5.1.1.3/Racket  -m32 -pthread -framework 
 CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  
 -liconv 
 -L/opt/local/lib -lffi   
 Undefined symbols:
  _iconv_close, referenced from:
  _do_convert in libracket.a(string.o)
  _do_convert in libracket.a(string.o)
  _do_convert in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _close_converter in libracket.a(string.o)
  _iconv_open, referenced from:
  _do_convert in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _scheme_open_converter in libracket.a(string.o)
  _iconv, referenced from:
  _do_convert in libracket.a(string.o)
 ld: symbol(s) not found
 collect2: ld returned 1 exit status
 
 Does anyone know what might cause this?
 
 Thanks,
 Eric
 
 
 _
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Build failure on OS X

2011-04-21 Thread Matthew Flatt
The recent change to `configure' makes it use `pkg-config' to add -L
and -I flags for libffi. But those should flags be added consistently;
that is, you should end up with a build that uses `libiconv' from
macports.

Did you run `configure' in a fresh build directory? If not, maybe you
have files leftover from a previous build that had different flags from
`configure'?

If not, can you show the compile line for string.c?

At Thu, 21 Apr 2011 22:01:31 -0400, Eric Dobson wrote:
 I don't have any *FLAGS variables set in my environment when I run configure 
 or 
 make. But I do have libiconv installed through macports. It was out of date, 
 and I upgraded it, but now I am getting a different message:
 
 gcc -o Racket.framework/Versions/5.1.1.3/Racket  -m32 -pthread -framework 
 CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  -liconv 
 -L/opt/local/lib -lffi   
 ld: warning: in /opt/local/lib/libiconv.dylib, file was built for unsupported 
 file format which is not the architecture being linked (i386)
 Undefined symbols:
   _iconv_close, referenced from:
   _do_convert in libracket.a(string.o)
   _do_convert in libracket.a(string.o)
   _do_convert in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _close_converter in libracket.a(string.o)
   _iconv_open, referenced from:
   _do_convert in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _scheme_open_converter in libracket.a(string.o)
   _iconv, referenced from:
   _do_convert in libracket.a(string.o)
 ld: symbol(s) not found
 collect2: ld returned 1 exit status
 
 (Note the warning about a different architecture.)
 
 I assume that If I tell it to use the system version of iconv, things will 
 work 
 out. But how do I tell it to ignore the bad version?
 
 -Eric
 
 
 
 On Apr 21, 2011, at 9:48 PM, Matthew Flatt wrote:
 
  It looke like you have `-L/opt/local/lib' in your LDFLAGS
  configuration. Do you also have `-I/opt/local/include' in CPPFLAGS?
  
  You machine is probably like mine, where you have two installations of
  libiconv, and this error happens when the C headers of one installation
  get mixed with the lib of the other.
  
  At Thu, 21 Apr 2011 21:42:54 -0400, Eric Dobson wrote:
  I tried to build the git HEAD today and ran into problems. During the make 
  process, it fails to create the framework with the following error message:
  
  gcc -o Racket.framework/Versions/5.1.1.3/Racket  -m32 -pthread -framework 
  CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  
 -liconv 
  -L/opt/local/lib -lffi   
  Undefined symbols:
   _iconv_close, referenced from:
   _do_convert in libracket.a(string.o)
   _do_convert in libracket.a(string.o)
   _do_convert in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _close_converter in libracket.a(string.o)
   _iconv_open, referenced from:
   _do_convert in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _string_to_from_locale in libracket.a(string.o)
   _scheme_open_converter in libracket.a(string.o)
   _iconv, referenced from:
   _do_convert in libracket.a(string.o)
  ld: symbol(s) not found
  collect2: ld returned 1 exit status
  
  Does anyone know what might cause this?
  
  Thanks,
  Eric
  
  
  _
   For list-related administrative tasks:
   http://lists.racket-lang.org/listinfo/dev
_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev


Re: [racket-dev] Build failure on OS X

2011-04-21 Thread Eric Dobson
It looks like it was a problem with libffi, which was also out of date in my 
macports. I upgraded it before your email, and the build got past that point 
where it was failing. Hopefully it won't have any more problems. 

Thanks for the help.

-Eric


On Apr 21, 2011, at 10:17 PM, Matthew Flatt wrote:

 The recent change to `configure' makes it use `pkg-config' to add -L
 and -I flags for libffi. But those should flags be added consistently;
 that is, you should end up with a build that uses `libiconv' from
 macports.
 
 Did you run `configure' in a fresh build directory? If not, maybe you
 have files leftover from a previous build that had different flags from
 `configure'?
 
 If not, can you show the compile line for string.c?
 
 At Thu, 21 Apr 2011 22:01:31 -0400, Eric Dobson wrote:
 I don't have any *FLAGS variables set in my environment when I run configure 
 or 
 make. But I do have libiconv installed through macports. It was out of date, 
 and I upgraded it, but now I am getting a different message:
 
 gcc -o Racket.framework/Versions/5.1.1.3/Racket  -m32 -pthread -framework 
 CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  
 -liconv 
 -L/opt/local/lib -lffi   
 ld: warning: in /opt/local/lib/libiconv.dylib, file was built for 
 unsupported 
 file format which is not the architecture being linked (i386)
 Undefined symbols:
  _iconv_close, referenced from:
  _do_convert in libracket.a(string.o)
  _do_convert in libracket.a(string.o)
  _do_convert in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _close_converter in libracket.a(string.o)
  _iconv_open, referenced from:
  _do_convert in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _string_to_from_locale in libracket.a(string.o)
  _scheme_open_converter in libracket.a(string.o)
  _iconv, referenced from:
  _do_convert in libracket.a(string.o)
 ld: symbol(s) not found
 collect2: ld returned 1 exit status
 
 (Note the warning about a different architecture.)
 
 I assume that If I tell it to use the system version of iconv, things will 
 work 
 out. But how do I tell it to ignore the bad version?
 
 -Eric
 
 
 
 On Apr 21, 2011, at 9:48 PM, Matthew Flatt wrote:
 
 It looke like you have `-L/opt/local/lib' in your LDFLAGS
 configuration. Do you also have `-I/opt/local/include' in CPPFLAGS?
 
 You machine is probably like mine, where you have two installations of
 libiconv, and this error happens when the C headers of one installation
 get mixed with the lib of the other.
 
 At Thu, 21 Apr 2011 21:42:54 -0400, Eric Dobson wrote:
 I tried to build the git HEAD today and ran into problems. During the make 
 process, it fails to create the framework with the following error message:
 
 gcc -o Racket.framework/Versions/5.1.1.3/Racket  -m32 -pthread -framework 
 CoreFoundation -dynamiclib -all_load  libracket.a libmzgc.a -ldl -lm  
 -liconv 
 -L/opt/local/lib -lffi   
 Undefined symbols:
 _iconv_close, referenced from:
 _do_convert in libracket.a(string.o)
 _do_convert in libracket.a(string.o)
 _do_convert in libracket.a(string.o)
 _string_to_from_locale in libracket.a(string.o)
 _string_to_from_locale in libracket.a(string.o)
 _string_to_from_locale in libracket.a(string.o)
 _close_converter in libracket.a(string.o)
 _iconv_open, referenced from:
 _do_convert in libracket.a(string.o)
 _string_to_from_locale in libracket.a(string.o)
 _string_to_from_locale in libracket.a(string.o)
 _scheme_open_converter in libracket.a(string.o)
 _iconv, referenced from:
 _do_convert in libracket.a(string.o)
 ld: symbol(s) not found
 collect2: ld returned 1 exit status
 
 Does anyone know what might cause this?
 
 Thanks,
 Eric
 
 
 _
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/dev


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev