Opened 13 months ago
Last modified 7 weeks ago
#72346 assigned defect
hivex @1.3.24: ./minimal: Operation not supported
| Reported by: | barracuda156 | Owned by: | mohd-akram (Mohamed Akram) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.10.5 |
| Keywords: | Cc: | ||
| Port: | hivex |
Description
Making all in images make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_ppcports_devel_hivex/hivex/work/hivex-1.3.24/images' /usr/bin/gcc-4.2 -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../include -I../gnulib/lib -I. -I/opt/local/include -Wall -pipe -Os -arch ppc -MT mklarge-mklarge.o -MD -MP -MF .deps/mklarge-mklarge.Tpo -c -o mklarge-mklarge.o `test -f 'mklarge.c' || echo './'`mklarge.c mv -f .deps/mklarge-mklarge.Tpo .deps/mklarge-mklarge.Po /bin/sh ../libtool --tag=CC --mode=link /usr/bin/gcc-4.2 -std=gnu99 -Wall -pipe -Os -arch ppc -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -o mklarge mklarge-mklarge.o ../lib/libhivex.la libtool: link: /usr/bin/gcc-4.2 -std=gnu99 -Wall -pipe -Os -arch ppc -Wl,-headerpad_max_install_names -arch ppc -o .libs/mklarge mklarge-mklarge.o -L/opt/local/lib ../lib/.libs/libhivex.dylib /opt/local/lib/libiconv.dylib -lintl -pthread cmp -s ./minimal ./minimal || \ cp ./minimal ./minimal ./mklarge ./minimal ./large ./minimal: Operation not supported make[2]: *** [large] Error 1 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_ppcports_devel_hivex/hivex/work/hivex-1.3.24/images' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_ppcports_devel_hivex/hivex/work/hivex-1.3.24' make: *** [all] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_ppcports_devel_hivex/hivex/work/hivex-1.3.24' Command failed: cd "/opt/local/var/macports/build/_opt_local_ppcports_devel_hivex/hivex/work/hivex-1.3.24" && /usr/bin/make -j6 -w all INSTALLDIRS=vendor Exit code: 2 Error: Failed to build hivex: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_ppcports_devel_hivex/hivex/main.log for details. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port hivex failed
Change History (3)
comment:1 follow-up: 2 Changed 7 weeks ago by barracuda156
comment:2 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)
| Cc: | mohd-akram removed |
|---|---|
| Owner: | set to mohd-akram |
| Status: | new → assigned |
| Summary: | hivex build error: ./minimal: Operation not supported → hivex @1.3.24: ./minimal: Operation not supported |
Replying to barracuda156:
Still broken:
Possibly only on your older systems; I see successful builds on Snow Leopard and later on the buildbot.
It's a curious error. I'm not sure if it's coming from the cmp command or the ./mklarge command.
The cmp command looks pointless: It checks if minimal has the same contents as itself, and if it doesn't, it copies itself onto itself. Since a file should be equal to itself, the cp part should not run. However, if the cp command were to run, I wouldn't be surprised if it caused an error. On Snow Leopard, it causes this error:
cp: foo and foo are identical (not copied).
which is different from the error you reported. minimal is not built; it's part of the source distribution, so it shouldn't be changing during the build. So let's assume the error is not coming from cmp.
The code in Makefile.am is:
large: mklarge$(EXEEXT) cmp -s $(srcdir)/minimal $(builddir)/minimal || \ cp $(srcdir)/minimal $(builddir)/minimal ./mklarge$(EXEEXT) $(builddir)/minimal $(builddir)/large
This makes slightly more sense, and it just looks silly in our case because we build in the source dir instead of in a separate build directory. Building in a separate build directory is good in general, but I suspect changing that here won't eliminate the error for you.
You filed an upstream bug report about this. They think the error is coming from mklarge. There's a suggestion there about how you can debug this further.
mklarge.c hasn't been modified since 2010, suggesting it might be battle-tested and not expected to have bugs. But I built hivex on macOS 12 and tried running mklarge with no arguments and it segfaulted, so maybe it is not hardened against unexpected situations.
comment:3 Changed 7 weeks ago by mohd-akram (Mohamed Akram)
You'll have to debug this on your machine by running ./mklarge ./minimal ./large. Maybe by running it via dtruss you can find the system call returning ENOTSUP.

Still broken: