Ticket #30373 (closed defect: fixed)
archive installation fails on case-insensitive filesystems
| Reported by: | ryan@… | Owned by: | macports-tickets@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | MacPorts 2.0.1 |
| Component: | base | Version: | 2.0.0 |
| Keywords: | Cc: | landonf@…, post@…, marc.schlaich@…, dports@…, jmr@…, wsiegrist@…, mww@…, ryandesign@…, arno+macports@… | |
| Port: |
Description (last modified by ryandesign@…) (diff)
I'm trying out unprivileged port installation onto an NFS volume. Some of the ports work fine, and others fail during activation with an error similar to:
Error: Target org.macports.activate returned: could not read "/tmp/mpextractRaNdMsTr/my/nfs/vol/share/some/file": no such file or directory
The random string after mpextract changes every time I invoke port. I was able to install (with activation) expat, gperf, and zlib. openssl reports:
Error: Target org.macports.activate returned: could not read "/tmp/mpextractbwThfU1Z/my/nfs/vol/share/man/man3/bn_print.3ssl.gz": no such file or directory
The error referenced a log file which reported:
:error:activate Target org.macports.activate returned: could not read "/tmp/mpex tractbwThfU1Z/my/nfs/dir/share/man/man3/bn_print.3ssl.gz": no such file or directory :debug:activate Backtrace: could not read "/tmp/mpextractbwThfU1Z/my/nfs/dir/share/man/man3/bn_print.3ssl.gz": no such file or directory
When the port command was running in one shell, I ran in another:
# find /tmp/mp* -name bn_print.3ssl.gz -ls 49783049 8 lrwxrwxrwx 1 scf wheel 19 Jul 25 14:37 /tmp/mpextractZPRfhjbH/my/nfs/dir/share/man/man3/bn_print.3ssl.gz -> bn_internal.3ssl.gz
I repeated the search for bn_internal and, while the activation was underway in one shell, on some invocations it was there and on some it was not.
# find /tmp/mp* -name bn_internal.3ssl.gz -ls # find /tmp/mp* -name bn_internal.3ssl.gz -ls 49786216 16 -r--r--r-- 1 scf wheel 4626 Jul 25 13:52 /tmp/mpextractZWZZGmqK/my/nfs/dir/share/man/man3/bn_internal.3ssl.gz # find /tmp/mp* -name bn_internal.3ssl.gz -ls # find /tmp/mp* -name bn_internal.3ssl.gz -ls # find /tmp/mp* -name bn_internal.3ssl.gz -ls
ncurses had similar trouble.
Change History
comment:1 in reply to: ↑ description Changed 2 years ago by ryandesign@…
- Status changed from new to closed
- Component changed from ports to base
- Resolution set to wontfix
- Description modified (diff)
comment:2 Changed 23 months ago by landonf@…
- Status changed from closed to reopened
- Resolution wontfix deleted
I have a user report of this occurring without NFS. The user does have multiple volumes, but their home directory is on the boot volume.
comment:3 Changed 23 months ago by jsg8pitt@…
Yup, for instance, I'm getting:
Error: Target org.macports.activate returned: could not read "/tmp/mpextractvHQPLGee/opt/local/share/terminfo/e/eterm": no such file or directory Log for ncurses is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_ncurses/ncurses/main.log Error: Status 1 encountered during processing. To report a bug, see <http://guide.macports.org/#project.tickets>
comment:4 Changed 23 months ago by jmr@…
That's an entirely different problem with ncurses, and is fixed now.
comment:5 follow-up: ↓ 12 Changed 23 months ago by jmr@…
Or maybe it's not entirely different; it could be that the volumes containing $prefix and /tmp have different case-sensitivity.
comment:6 Changed 23 months ago by landonf@…
jmr:
Either way, it's fixed now? The report I got was also related to ncurses.
comment:8 Changed 23 months ago by post@…
I have the same problem. Running:
sudo port install openssl +universal
Gives me the following error:
---> Computing dependencies for openssl ---> Activating openssl @1.0.0d_0+universal Error: Target org.macports.activate returned: could not read "/tmp/mpextract463hbiea/opt/local/share/man/man3/bn_print.3ssl.gz": no such file or directory Log for openssl is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_openssl/openssl/main.log Error: Status 1 encountered during processing.
This is annoying since it prevents upgrading my other outdated packages (sudo port upgrade outdated).
comment:9 Changed 23 months ago by jmann99999@…
I am having the same problem when installing the ImageMagick port on a clean install of install Snow Leopard (with xcode and x11 installed):
Once it gets to installing Open SSL it fails:
Computing dependencies for ImageMagick ---> Dependencies to be installed: ghostscript xorg-libXext xorg-libX11 xorg-libxcb python27 openssl python_select readline sqlite3 python27 xorg-libpthread-stubs xorg-xcb-proto libxml2 libxml2 xorg-util-macros xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-libXt xorg-libsm xorg-libice lcms liblzma p7zip urw-fonts ---> Activating openssl @1.0.0d_0 Error: Target org.macports.activate returned: could not read "/tmp/mpextractxHe5reuh/opt/local/share/man/man3/bn_print.3ssl.gz": no such file or directory Error: Failed to install openssl Log for openssl is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_openssl/openssl/main.log Error: The following dependencies were not installed: ghostscript xorg-libXext xorg-libX11 xorg-libxcb python27 openssl python_select readline sqlite3 python27 xorg-libpthread-stubs xorg-xcb-proto libxml2 libxml2 xorg-util-macros xorg-xcmiscproto xorg-xextproto xorg-xf86bigfontproto xorg-xtrans xorg-libXt xorg-libsm xorg-libice lcms liblzma p7zip urw-fonts Error: Status 1 encountered during processing.
comment:12 in reply to: ↑ 5 ; follow-up: ↓ 13 Changed 23 months ago by ryan@…
Replying to jmr@…:
Or maybe it's not entirely different; it could be that the volumes containing $prefix and /tmp have different case-sensitivity.
In my case, the filesystems for $prefix and /tmp are both case-sensitive.
comment:13 in reply to: ↑ 12 Changed 23 months ago by marc.schlaich@…
comment:14 Changed 23 months ago by tamyrvoll@…
I had the same problem with a case-insensitive boot drive and a case-sensitive drive for Macport.
After reformatting the second drive as case-insensitive as well, the problem disappeared.
comment:15 Changed 23 months ago by dports@…
- Cc dports@… added
I'm seeing the same with openssl and bn_print.3ssl.gz, and I have only one (case-insensitive) filesystem.
comment:16 Changed 23 months ago by marc.schlaich@…
Activating openssl @1.0.0d_0 is successful with 1.9.2! Seems a problem with the base system of MacPorts.
comment:17 Changed 23 months ago by cal@…
From some debugging on #macports is seems this might be related to the package being downloaded from packages.macports.org. Try port -s install $your_port.
comment:18 Changed 23 months ago by dports@…
- Cc jmr@…, wsiegrist@… added
- Summary changed from Activating ports, /tmp/mpextract to archive installation fails on case-insensitive filesystems
OK, it looks like what's going on here is that the buildbot is running on a case-sensitive filesystem (right?), so it's producing an openssl archive that contains both BN_print.3ssl.gz and bn_print.3ssl.gz, and lists both in the +CONTENTS. When it gets untarred on a case-insensitive filesystem, only one of those files exists. But they're both listed in +CONTENTS, so when it comes time to activate the second one it won't exist.
This can probably also be considered a bug in the openssl port (which manpage does it install on a case-insensitive FS, anyway? Looks like bn_print.3ssl...), but even so the archive installation shouldn't fail this way on a case-insensitive FS. I'm sure openssl and ncurses aren't the only ports with this issue. At the least, a more informative error message would help.
comment:19 Changed 23 months ago by dports@…
- Cc mww@… added
After some more people on IRC hit this one while trying to install openssl, I committed a hack to the openssl portfile to disable archive fetching for now (r81559)
comment:22 Changed 23 months ago by jmr@…
- Status changed from reopened to closed
- Resolution set to fixed
- Milestone set to MacPorts 2.0.1
comment:23 Changed 23 months ago by ryan@…
- Status changed from closed to reopened
- Resolution fixed deleted
After a selfupdate, I'm still seeing the same problem. I'm building from source, installing from a case-sensitive filesystem to a case-sensitive filesystem (as in original report).
comment:24 Changed 23 months ago by jmr@…
- Status changed from reopened to closed
- Resolution set to fixed
Unfortunately this ticket appears to have become muddled and is now about two different things. One was definitely fixed in 2.0.1, so we'll retcon this ticket to have been about that and leave it closed. Please open a new ticket for the problem you are now seeing (though note that having the macports prefix on an NFS volume is still unsupported.)


Replying to ryan@…:
NFS volume? Completely unsupported. Try again installing onto a local disk.