hfsinspect: src/crc32c/crc32c.c:29:13: error: instruction requires: Not 64-bit mode

macports at parvis.nl macports at parvis.nl
Tue May 5 19:02:02 UTC 2020


> On 2020-05-05, at 18:07, Ken Cunningham <ken.cunningham.webuse at gmail.com> wrote:
> ...
> For that answer, you'd have to look closely at the build lines. Perhaps it's building in 32bit mode when you do it manually. Maybe MacPorts is setting the environment up for you with lots of added bits that aren't happening with a manual build. Or some other reason we can't guess.

i think the problem lies elsewhere.

first compiler and options, but then code differences

============================================================

maybe the compiler difference is significant?

manual make:
------------

echo Compiling src/volumes/crc32/crc32.c
mkdir -p `dirname build/Darwin-x86_64/obj/src/volumes/crc32/crc32.o`
clang -o build/Darwin-x86_64/obj/src/volumes/crc32/crc32.o -c src/volumes/crc32/crc32.c -include-pch build/Darwin-x86_64/obj/src/cdefs.h.pch -g -O2 -Wall -std=c1x -msse4.2 -Isrc -Ivendor  -fstack-protector-all -fstrict-enums -ftrapv -Wno-four-char-constants  -DNDEBUG

macports make: (using build.cmd make SHELL='sh -x’)
--------------

Compiling src/crc32c/crc32c.c
++ dirname build/Darwin-x86_64/obj/crc32c/crc32c.o
+ mkdir -p build/Darwin-x86_64/obj/crc32c
+ cc -std=c1x -Isrc -include src/hfsinspect-Prefix.pch -Wall -msse4.2 -g -O0 -Wpedantic -Wno-four-char-constants -c src/crc32c/crc32c.c -o build/Darwin-x86_64/obj/crc32c/crc32c.o
src/crc32c/crc32c.c:29:13: error: instruction requires: Not 64-bit mode

macports make with build.args-append CC=clang:
----------------------------------------------

Compiling src/crc32c/crc32c.c
++ dirname build/Darwin-x86_64/obj/crc32c/crc32c.o
+ mkdir -p build/Darwin-x86_64/obj/crc32c
+ clang -std=c1x -Isrc -include src/hfsinspect-Prefix.pch -Wall -msse4.2 -g -O0 -Wpedantic -Wno-four-char-constants -c src/crc32c/crc32c.c -o build/Darwin-x86_64/obj/crc32c/crc32c.o
src/crc32c/crc32c.c:29:13: error: instruction requires: Not 64-bit mode

but how to specify the other settings


man -o build/Darwin-x86_64/obj/src/volumes/crc32/crc32.o
mp  -o build/Darwin-x86_64/obj/crc32c/crc32c.o

man -c src/volumes/crc32/crc32.c
mp  -c src/crc32c/crc32c.c 

man -include-pch build/Darwin-x86_64/obj/src/cdefs.h.pch 
mp  -include src/hfsinspect-Prefix.pch 

man -Ivendor  
mp  

both -g -Wall -std=c1x -msse4.2 -Isrc -Wno-four-char-constants  

man -O2 
mp  -O0 

man -fstack-protector-all -fstrict-enums -ftrapv -DNDEBUG
mp 

man
mp  -Wpedantic 

==================================================

difference in Makefiles:

manual: find . -name 'Makefile*'
./Makefile
./vendor/crc32c/Makefile

macports:
find . -name 'Makefile*'
./Makefile
./Makefile.Darwin
./Makefile.Linux

---

but probably more important:

differences in crc32.c

manual:   crc32.c // volumes
macports: crc32.c // hfsinspect

==================================================

obviously i have a problem understandig github.

for the manual make i did git clone --recursive 

git log: 
commit fc00689c77928b229707851931719fac937bf34c (tag: 0.3.2)
Author: Adam Knight <adam at hopelessgeek.com>
Date:   Wed Apr 2 12:23:17 2014 -0500

https://github.com/ahknight/hfsinspect/releases

on Apr 3, 2014 0.3.2 fc00689
tar.gz -> https://github.com/ahknight/hfsinspect/archive/0.3.2.tar.gz

for macports i tried both
github.setup        ahknight hfsinspect 0.3.2
github.setup        ahknight hfsinspect fc00689c77928b229707851931719fac937bf34c

but the code is different.

maybe because git clone --recursive ?



More information about the macports-dev mailing list