fastsupply / growl

Automatically exported from code.google.com/p/growl
0 stars 0 forks source link

tar: Pathname in pax header can't be converted to current locale.: Inappropriate file type or format #217

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Download Growl-1.2.2-src.tbz
2. tar xfj Growl-1.2.2-src.tbz

What is the expected output?
  No warnings

What do you see instead?
  tar: Pathname in pax header can't be converted to current locale.: Inappropriate file type or format
  tar: Error exit delayed from previous errors.

What version of the product are you using? On what operating system?
Max OS X 10.6.7

Please provide any additional information below.
This error causes the Mac's Archive Utility (which is used when opening 
unarchiving from the UI/Finder) to fail and remove the archive. It makes it 
seem like the archive is malformed.

Original issue reported on code.google.com by nicero...@gmail.com on 5 Jun 2011 at 2:44

GoogleCodeExporter commented 9 years ago
Which pathname?

Original comment by chrisf.g...@gmail.com on 5 Jun 2011 at 2:51

GoogleCodeExporter commented 9 years ago
x Growl-1.2.2-src/Extras/GrowlMail/Info.plist
tar: Pathname in pax header can't be converted to current locale.: 
Inappropriate file type or format

Original comment by nicero...@gmail.com on 5 Jun 2011 at 3:05

GoogleCodeExporter commented 9 years ago
What is the exact size in bytes of the archive file?

What is the SHA-1 hash of the archive file?

What URL did you download the file from?

Original comment by p...@growl.info on 5 Jun 2011 at 3:11

GoogleCodeExporter commented 9 years ago
Which browser did you use to download it?

Do you have the same problem if you use curl -O or wget to download the file?

Original comment by chrisf.g...@gmail.com on 5 Jun 2011 at 3:12

GoogleCodeExporter commented 9 years ago
$ wget http://growl.googlecode.com/files/Growl-1.2.2-src.tbz
$ tar xfj Growl-1.2.2-src.tbz 
tar: Pathname in pax header can't be converted to current locale.: 
Inappropriate file type or format
tar: Error exit delayed from previous errors.

Original comment by nicero...@gmail.com on 5 Jun 2011 at 3:30

GoogleCodeExporter commented 9 years ago

Original comment by p...@growl.info on 5 Jun 2011 at 3:48

GoogleCodeExporter commented 9 years ago
$ curl -O "http://growl.googlecode.com/files/Growl-1.2.2-src.tbz"
$ tar xfj Growl-1.2.2-src.tbz

these work fine for me on 10.6.7, i get no errors at all.

sha-a hash is:
0341766bbdeb47eba4f83ab2881fe6a26aa2089d  Growl-1.2.2-src.tbz

Original comment by rarich...@gmail.com on 5 Jun 2011 at 10:43

GoogleCodeExporter commented 9 years ago
The issue is environmental. Specifically, LC_ALL. My default is

$ locale
LANG="en_US"
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL="C"

Changing LC_ALL, it works without errors.

$ export LC_ALL=$LANG
$ tar xfj Growl-1.2.2-src.tbz 
$ 

Thanks for verifying it on another machine.

Original comment by nicero...@gmail.com on 5 Jun 2011 at 12:24

GoogleCodeExporter commented 9 years ago
Do you have the locale explicitly set somewhere? Also, what are your system 
language and format settings in System Preferences?

Asking so we can give specific advice to other users with this problem.

Original comment by p...@growl.info on 5 Jun 2011 at 6:12

GoogleCodeExporter commented 9 years ago
System Preferences Language is English, Region is U.S., Input is U.S., Currency 
is U.S.. But that wasn't what was affecting this. I had LC_ALL=C in my login 
~/.profile (left-over from migrating the scripts years ago from Linux in which 
i needed that for some older utilities).

You should be able to reproduce it using:

$ curl -s "http://growl.googlecode.com/files/Growl-1.2.2-src.tbz" | LC_ALL=C 
tar xjO >/dev/null

the key being

LC_ALL=C tar ...

which is temporarily setting LC_ALL to "C" to override locale settings during 
the execution of the tar command.

Once i removed the setting for LC_ALL from my ~/.profile, tar works properly. 
The "correct" OS X, default setting is "us_EN.utf-8". In my opinion, it's 
probably not something you may ever see again and this issue might be enough 
documentation about the problem.

Original comment by nicero...@gmail.com on 5 Jun 2011 at 7:55

GoogleCodeExporter commented 9 years ago
I think you mean “en_US.UTF-8”.

So, the solution for anyone else who has this problem is to make sure you're 
not setting LC_ALL (or possibly some other LC_* variables) in .profile or 
environment.plist. If you need to set it there for some reason, you can set it 
ad-hoc for tar with this command:

    LC_ALL=en_US.UTF-8 tar xjf Growl-1.2.2-src.tbz

It might also be worth filing a bug at https://bugreport.apple.com/ , because 
there is no reason tar should not be able to convert an all-ASCII filename to 
the C locale.

Original comment by p...@growl.info on 5 Jun 2011 at 8:03

GoogleCodeExporter commented 9 years ago
It's not case-sensitive but i think you're right that'll be what most people 
see.

That's probably the ideal workaround in case anyone experiences this.

I filed ER 9557330 at https://bugreport.apple.com/

Thanks

Original comment by nicero...@gmail.com on 5 Jun 2011 at 10:31