X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:mime-version:in-reply-to:references:date
	:message-id:subject:from:to:content-type; q=dns; s=default; b=tH
	25Ggin3f6b8hYfZW23FUVTpHGlFHrzzMSoFlRH0dJmyxA8PzG/RhnPavKBrefTcE
	69ca+nkkqRTWl24kMHUc783gfACFVNcqB6J6q7Hzq4xYBK0pmEQvOQmVFiOfUIXJ
	+2TW5D7q9GfHAYRq04XYFJR9/c3mtAzN0I5sRaUno=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:mime-version:in-reply-to:references:date
	:message-id:subject:from:to:content-type; s=default; bh=7KLWW/3o
	RI/EO7s2urkq7SSRm8I=; b=Y3YycflT80JdgnxWMPa/XGC8j0LCcLrPF3h090ol
	H6hVJBPARQBIYwY0uLPZWs61DgJ9JreFbDsdSJTL3scI5M17ZtUpgho9Ky2b29jQ
	ScNYgCtxgxGSHhglGXAK5iyEwqPHP9NpPRycB6WzLKX3Qc/Wg0dAGp51vSgQ39hG
	/RU=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-0.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2
X-HELO: mail-lb0-f172.google.com
MIME-Version: 1.0
X-Received: by 10.112.186.35 with SMTP id fh3mr9304815lbc.31.1409911409546; Fri, 05 Sep 2014 03:03:29 -0700 (PDT)
In-Reply-To: <CAM9pMnNG0W5O6HAr_=cuxyZzup-DDOOS6PvtWCuvHc3qkuSxyg@mail.gmail.com>
References: <CAM9pMnNG0W5O6HAr_=cuxyZzup-DDOOS6PvtWCuvHc3qkuSxyg AT mail DOT gmail DOT com>
Date: Fri, 5 Sep 2014 12:03:29 +0200
Message-ID: <CAM9pMnMr0R1nKOYFwR7LPJrhwJ3eVhJn0zqoD=aMzALYnrPq9A@mail.gmail.com>
Subject: Re: gem command broken on Cygwin 64 with Ruby 2.0.0p481
From: Robert Klemme <shortcutter AT googlemail DOT com>
To: cygwin <cygwin AT cygwin DOT com>
Content-Type: text/plain; charset=UTF-8
X-IsSubscribed: yes

On Fri, Sep 5, 2014 at 9:54 AM, Robert Klemme
<shortcutter AT googlemail DOT com> wrote:
> Hi folks,
>
> did someone of you experience this as well?
>
> $ uname -a
> CYGWIN_NT-6.1 arnie 1.7.32(0.274/5/3) 2014-08-13 23:06 x86_64 Cygwin
> $ ruby --version
> ruby 2.0.0p481 (2014-05-08) [x86_64-cygwin]
> $ gem --version
> 2.4.1
> $ gem list -l
>
> *** LOCAL GEMS ***
>
> io-console (0.4.2)
> json (1.8.1)
> minitest (4.7.5)
> psych (2.0.5)
> rake (10.3.2)
> rdoc (4.1.1)
> $ gem update
> Updating installed gems
> ERROR:  While executing gem ... (ArgumentError)
>     invalid byte sequence in UTF-8
> $ locale
> LANG=en_US.UTF-8
> LC_CTYPE="en_US.UTF-8"
> LC_NUMERIC="en_US.UTF-8"
> LC_TIME="en_US.UTF-8"
> LC_COLLATE="en_US.UTF-8"
> LC_MONETARY="en_US.UTF-8"
> LC_MESSAGES="en_US.UTF-8"
> LC_ALL=
> $ LANG=C gem update
> Updating installed gems
> ERROR:  While executing gem ... (ArgumentError)
>     invalid byte sequence in US-ASCII
>
> Apparently when reading a file the environment's encoding information
> is applied. I'm just not sure whether this is an issue with gem
> command or a Cygwin adjustment to that.
>
> Bonus points for a solution. :-)

Some feedback on the ruby-talk mailing list prompted me to experiment
a bit more. Apparently I found a solution which I post here for your
reference.

Setting the encoding to "BINARY" in the environment works:

$ LANG=C.BINARY gem update
Updating installed gems
Updating minitest
Fetching: minitest-5.4.1.gem (100%)
Successfully installed minitest-5.4.1
Parsing documentation for minitest-5.4.1
Installing ri documentation for minitest-5.4.1
Installing darkfish documentation for minitest-5.4.1
Done installing documentation for minitest after 3 seconds
Parsing documentation for minitest-5.4.1
Done installing documentation for minitest after 0 seconds
Gems updated: minitest

You can even get fancy and retain the language:

$ LANG="${LANG%%.*}.BINARY" gem update

Kind regards

robert

-- 
[guy, jim].each {|him| remember.him do |as, often| as.you_can - without end}
http://blog.rubybestpractices.com/

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple