[MacRuby-devel] ControlTower 1.0

Nick Ludlam nick at recoil.org
Tue Sep 21 11:57:10 PDT 2010


Ah, it was my MacPorts ruby install taking precedence over system ruby. If I remove /opt/local/bin from my $PATH, it builds just fine. It was the fact that I was getting gcc errors that threw me.

For completeness, the error I got was:

$ rake build
(in /Users/nick/Work/git/ControlTower)
/usr/bin/gcc-4.2 -O3 -arch x86_64 -fno-common -pipe  -Wall -fobjc-gc CTParser.m -c -o CTParser.o
/usr/bin/gcc-4.2 -O3 -arch x86_64 -fno-common -pipe  -Wall http11_parser.c -c -o http11_parser.o
/usr/bin/gcc-4.2 -dynamic -bundle CTParser.o http11_parser.o -o CTParser.bundle
Undefined symbols:
  "__objc_empty_cache", referenced from:
      _OBJC_METACLASS_$_CTParser in CTParser.o
      _OBJC_CLASS_$_CTParser in CTParser.o
  "___CFConstantStringClassReference", referenced from:
      cfstring=HTTP_CONTENT_LENGTH in CTParser.o
      cfstring=CONTENT_LENGTH in CTParser.o
      cfstring=HTTP_CONTENT_TYPE in CTParser.o
      cfstring=CONTENT_TYPE in CTParser.o
      cfstring=GATEWAY_INTERFACE in CTParser.o
      cfstring=CGI/1.2 in CTParser.o
      cfstring=HTTP_HOST in CTParser.o
      cfstring=: in CTParser.o
      cfstring=80 in CTParser.o
      cfstring=SERVER_NAME in CTParser.o
      cfstring=SERVER_PORT in CTParser.o
      cfstring=SERVER_PROTOCOL in CTParser.o
      cfstring=HTTP/1.1 in CTParser.o
      cfstring=SERVER_SOFTWARE in CTParser.o
      cfstring=Control Tower v1.0 in CTParser.o
      cfstring=SCRIPT_NAME in CTParser.o
      cfstring= in CTParser.o
      cfstring=rack.url_scheme in CTParser.o
      cfstring=http in CTParser.o
      cfstring=QUERY_STRING in CTParser.o
      cfstring=rack.input in CTParser.o
      cfstring=HTTP element HTTP_VERSION is longer than the length character allowed length. in CTParser.o
      cfstring=ParserFieldLengthError in CTParser.o
      cfstring=HTTP_VERSION in CTParser.o
      cfstring=HTTP element QUERY_STRING is longer than the length character allowed length. in CTParser.o
      cfstring=HTTP element PATH_INFO is longer than the length character allowed length. in CTParser.o
      cfstring=PATH_INFO in CTParser.o
      cfstring=HTTP element FRAGMENT is longer than the length character allowed length. in CTParser.o
      cfstring=FRAGMENT in CTParser.o
      cfstring=HTTP element REQUEST_URI is longer than the length character allowed length. in CTParser.o
      cfstring=REQUEST_URI in CTParser.o
      cfstring=HTTP element REQUEST_METHOD is longer than the length character allowed length. in CTParser.o
      cfstring=REQUEST_METHOD in CTParser.o
      cfstring=HTTP element FIELD_NAME is longer than the flen character allowed length. in CTParser.o
      cfstring=HTTP element FIELD_VALUE is longer than the vlen character allowed length. in CTParser.o
      cfstring=HTTP_REFERER in CTParser.o
      cfstring=HTTP_CACHE_CONTROL in CTParser.o
      cfstring=HTTP_COOKIE in CTParser.o
      cfstring=HTTP_CONNECTION in CTParser.o
      cfstring=HTTP_ in CTParser.o
      cfstring=Invalid HTTP format, parsing failed. in CTParser.o
      cfstring=CTParserError in CTParser.o
      cfstring=HTTP element HEADER is longer than the [headerLength unsignedLongValue] character allowed length. in CTParser.o
  "_OBJC_CLASS_$_NSMutableData", referenced from:
      objc-class-ref-to-NSMutableData in CTParser.o
  "_objc_msgSendSuper2", referenced from:
      -[CTParser init] in CTParser.o
      -[CTParser finalize] in CTParser.o
  "_OBJC_CLASS_$_NSString", referenced from:
      objc-class-ref-to-NSString in CTParser.o
  "_OBJC_CLASS_$_NSObject", referenced from:
      _OBJC_CLASS_$_CTParser in CTParser.o
  "__objc_empty_vtable", referenced from:
      _OBJC_METACLASS_$_CTParser in CTParser.o
      _OBJC_CLASS_$_CTParser in CTParser.o
  "_objc_msgSend", referenced from:
      -[CTParser nread] in CTParser.o
      -[CTParser parseData:forEnvironment:] in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _header_done in CTParser.o
      _parse_HTTP_VERSION in CTParser.o
      _parse_HTTP_VERSION in CTParser.o
      _parse_HTTP_VERSION in CTParser.o
      _parse_QUERY_STRING in CTParser.o
      _parse_QUERY_STRING in CTParser.o
      _parse_QUERY_STRING in CTParser.o
      _parse_PATH_INFO in CTParser.o
      _parse_PATH_INFO in CTParser.o
      _parse_PATH_INFO in CTParser.o
      _parse_FRAGMENT in CTParser.o
      _parse_FRAGMENT in CTParser.o
      _parse_FRAGMENT in CTParser.o
      _parse_REQUEST_URI in CTParser.o
      _parse_REQUEST_URI in CTParser.o
      _parse_REQUEST_URI in CTParser.o
      _parse_REQUEST_METHOD in CTParser.o
      _parse_REQUEST_METHOD in CTParser.o
      _parse_REQUEST_METHOD in CTParser.o
      _parse_HTTP_FIELD in CTParser.o
      _parse_HTTP_FIELD in CTParser.o
      _parse_HTTP_FIELD in CTParser.o
      _parse_HTTP_FIELD in CTParser.o
      _parse_HTTP_FIELD in CTParser.o
      _parse_HTTP_FIELD in CTParser.o
      -[CTParser parseData:forEnvironment:startingAt:] in CTParser.o
      -[CTParser parseData:forEnvironment:startingAt:] in CTParser.o
      -[CTParser parseData:forEnvironment:startingAt:] in CTParser.o
      -[CTParser parseData:forEnvironment:startingAt:] in CTParser.o
      -[CTParser parseData:forEnvironment:startingAt:] in CTParser.o
      -[CTParser parseData:forEnvironment:startingAt:] in CTParser.o
     (maybe you meant: l_objc_msgSend_fixup_objectForKey_, l_objc_msgSend_fixup_alloc , l_objc_msgSend_fixup_length )
  "_OBJC_CLASS_$_NSException", referenced from:
      objc-class-ref-to-NSException in CTParser.o
  "_OBJC_METACLASS_$_NSObject", referenced from:
      _OBJC_METACLASS_$_CTParser in CTParser.o
      _OBJC_METACLASS_$_CTParser in CTParser.o
  "_OBJC_CLASS_$_NSData", referenced from:
      objc-class-ref-to-NSData in CTParser.o
  "_OBJC_CLASS_$_NSNumber", referenced from:
      objc-class-ref-to-NSNumber in CTParser.o
  "_objc_msgSend_fixup", referenced from:
      l_objc_msgSend_fixup_alloc in CTParser.o
      l_objc_msgSend_fixup_objectForKey_ in CTParser.o
      l_objc_msgSend_fixup_length in CTParser.o
     (maybe you meant: l_objc_msgSend_fixup_objectForKey_, l_objc_msgSend_fixup_alloc , l_objc_msgSend_fixup_length )
ld: symbol(s) not found
collect2: ld returned 1 exit status
rake aborted!
Command failed with status (1): [/usr/bin/gcc-4.2 -dynamic -bundle CTParser.o http11_parser.o -o CTParser.bundle...]
/opt/local/lib/ruby1.9/1.9.1/rake.rb:993:in `block in sh'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:1008:in `call'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:1008:in `sh'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:1092:in `sh'
/Users/nick/Work/git/ControlTower/Rakefile:52:in `block (2 levels) in <top (required)>'
/Users/nick/Work/git/ControlTower/Rakefile:49:in `chdir'
/Users/nick/Work/git/ControlTower/Rakefile:49:in `block in <top (required)>'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:634:in `call'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:634:in `block in execute'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:629:in `each'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:629:in `execute'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:595:in `block in invoke_with_call_chain'
/opt/local/lib/ruby1.9/1.9.1/monitor.rb:201:in `mon_synchronize'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:581:in `invoke'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:2041:in `invoke_task'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:2019:in `block (2 levels) in top_level'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:2019:in `each'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:2019:in `block in top_level'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:2058:in `standard_exception_handling'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:2013:in `top_level'
/opt/local/lib/ruby1.9/1.9.1/rake.rb:1992:in `run'
/opt/local/bin/rake:31:in `<main>'


On 21 Sep 2010, at 19:41, Joshua Ballanco wrote:

> No, The Zlib error is the very reason I left it as 'rake' instead of 'macrake'. What errors are you seeing with 'rake'? It should work…
> 
> - Josh
> 
> 
> On Sep 21, 2010, at 6:46 AM, Nick Ludlam wrote:
> 
>> Fantastic work, Laurent and Joshua! I'm updating the version I bundle in my app right now. One thing I've noticed from getting the 1.0 tag from the github repo:
>> 
>> Shouldn't the build instructions in the README reference 'macrake' rather than 'rake' ?  If I use plain rake, I get build errors.
>> 
>> Having said that, I also don't get the correctly named gem created in pkg/, and I see this:
>> 
>> $ sudo macgem install pkg/control_tower-1.0.gem 
>> ERROR:  While executing gem ... (Zlib::GzipFile::CRCError)
>>   invalid compressed data -- crc error
>> 
>> 
>> Nick
>> 
>> On 21 Sep 2010, at 00:17, Laurent Sansonetti wrote:
>> 
>>> ... it's out!
>>> 
>>> http://www.macruby.org/blog/2010/09/20/announcing-control-tower.html
>>> 
>>> Give it a try and let us know if you have any problems :)
>>> 
>>> Laurent
>>> _______________________________________________
>>> MacRuby-devel mailing list
>>> MacRuby-devel at lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>> 
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel



More information about the MacRuby-devel mailing list