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 Changed 7 weeks ago by barracuda156

Still broken:

libtool: link: ranlib .libs/libhivex.a
libtool: link: rm -fr .libs/libhivex.lax
libtool: link: ( cd ".libs" && rm -f "libhivex.la" && ln -s "../libhivex.la" "libhivex.la" )
make[3]: Leaving directory `/opt/local/var/macports/build/hivex-bbd5d6c9/work/hivex-1.3.24/lib'
make[2]: Leaving directory `/opt/local/var/macports/build/hivex-bbd5d6c9/work/hivex-1.3.24/lib'
Making all in images
make[2]: Entering directory `/opt/local/var/macports/build/hivex-bbd5d6c9/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 /opt/local/lib/libintl.dylib -pthread
cmp -s ./minimal ./minimal || \
	    cp ./minimal ./minimal
./mklarge ./minimal ./large
./minimal: Operation not supported
make[2]: *** [large] Error 1

comment:2 in reply to:  1 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)

Cc: mohd-akram removed
Owner: set to mohd-akram
Status: newassigned
Summary: hivex build error: ./minimal: Operation not supportedhivex @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.

Note: See TracTickets for help on using tickets.