> On 2020-05-05, at 18:07, Ken Cunningham <ken.cunningham.web...@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 <a...@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 ?

Reply via email to