Opened 10 years ago

Closed 10 years ago

#43281 closed defect (fixed)

jpilot @1.8.1: extract fails

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: kristian.peters@…
Priority: Normal Milestone:
Component: ports Version: 2.2.99
Keywords: Cc:
Port: jpilot

Description

--->  Extracting jpilot-1.8.1.tar.gz
DEBUG: setting option extract.args to '/Users/rschmidt/macports/distfiles/jpilot/jpilot-1.8.1.tar.gz'
DEBUG: Environment: 
CC_PRINT_OPTIONS='YES'
CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_Users_rschmidt_macports_dports_palm_jpilot/jpilot/work/.CC_PRINT_OPTIONS'
CPATH='/opt/local/include'
LIBRARY_PATH='/opt/local/lib'
MACOSX_DEPLOYMENT_TARGET='10.9'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_palm_jpilot/jpilot/work" && /usr/bin/gzip -dc '/Users/rschmidt/macports/distfiles/jpilot/jpilot-1.8.1.tar.gz' | /usr/bin/tar -xf -'
DEBUG: Executing command line:  cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_palm_jpilot/jpilot/work" && /usr/bin/gzip -dc '/Users/rschmidt/macports/distfiles/jpilot/jpilot-1.8.1.tar.gz' | /usr/bin/tar -xf - 
jpilot-1.8.1/empty/MañanaDB.pdb: Can't create 'jpilot-1.8.1/empty/MañanaDB.pdb'
tar: Error exit delayed from previous errors.

Change History (6)

comment:1 Changed 10 years ago by kristian.peters@…

Please fix your locale settings. This is not a defect of the port, but rather one of your filesystem or locale settings. It extracts fine on my system. I tried the tar that comes with 10.9 and the gnutar that is distributed by macports with LANG="C".

comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

I see that it extracts fine on the buildslaves. However, I don't know what setting on my system I should change. MacPorts does not inherit environment variables from the shell, and I'm not aware of any filesystem locale settings (or any filesystem settings of any kind, really); my disk is a normal Mac OS Extended (Journaled) volume.

comment:3 Changed 10 years ago by kristian.peters@…

Older versions of Mac OS X use UTF-8 for encoding filenames in the filesystem. Newer version (don't know the exact version when they changed it) use UTF-16. If you upgraded from a really old Mac OS X the filesystem could be still UTF-8. You should check your locale settings. Setting LC_ALL="C" before running macports should do the trick. (export LC_ALL="C"). Maybe you should use bash as shell as well. It could be a problem with your tar as well. I'm using the tar supplied with 10.9 in /usr/bin/tar. Otherwise, I'm stumped.

comment:4 in reply to:  3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to kristian.peters@…:

Older versions of Mac OS X use UTF-8 for encoding filenames in the filesystem. Newer version (don't know the exact version when they changed it) use UTF-16. If you upgraded from a really old Mac OS X the filesystem could be still UTF-8.

I haven't heard of that before. Do you have a citation for that? In any case, my filesystem was created in May 2012 when Apple shipped this Mac to me. I have also tested on a second machine with Mavericks whose drive was initialized in August 2012 and it experiences the same error. These two machines use the normal case-insensitive filesystems, while the buildslaves use case-sensitive filesystems, but so far this doesn't seem like a case-sensitivity issue to me.

You should check your locale settings. Setting LC_ALL="C" before running macports should do the trick. (export LC_ALL="C").

Which locale settings are you referring to? Setting LC_ALL=C before running a MacPorts command doesn't change anything, because MacPorts deliberately clears the environment variables before it runs, to ensure consistency across systems regardless what environment variables the user may have set.

Maybe you should use bash as shell as well.

I do use bash.

It could be a problem with your tar as well. I'm using the tar supplied with 10.9 in /usr/bin/tar. Otherwise, I'm stumped.

I am also using OS X 10.9's tar.

Extracting within MacPorts fails, but extracting at the command line succeeds:

$ tar xzf jpilot-1.8.1.tar.gz

However the extracted file has the wrong name:

$ ls jpilot-1.8.1/empty/Ma*ana*
jpilot-1.8.1/empty/Ma%F1anaDB.pdb

Using LC_ALL=C doesn't change this.

I would say that the tarball has been created improperly: the non-ASCII character "ñ" has been encoded as ISO8859-1, whereas UTF-8 encoding would be desired. This probably needs to be reported to the developers of jpilot so that they can package it correctly for the next version.

comment:5 Changed 10 years ago by kristian.peters@…

Thank you for your comment. I'll try to contact the jpilot-developers and report back soon.

comment:6 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Seems to be fixed with 1.8.2.

Note: See TracTickets for help on using tickets.