Opened 15 months ago
Last modified 14 months ago
#67960 assigned defect
emacs-mac-app @29.1: error: unknown type name 'ulonglong'
Reported by: | squarepegsys (Mike Hostetler) | Owned by: | amake (Aaron Madlon-Kay) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | cooljeanius (Eric Gallager) | |
Port: | emacs-mac-app |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
I have tried to install the latest emacs-mac-app port via:
sudo port install emacs-mac-app +imagemagick +treesitter +nativecomp +rsvg
And I get the following compile errors:
:info:build In file included from fns.c:5526: :info:build /opt/local/include/sha1.h:48:3: error: unknown type name 'ulonglong' :info:build ulonglong Length; /* Message length in bits */ :info:build ^ :info:build /opt/local/include/sha1.h:52:3: error: unknown type name 'int16' :info:build int16 Message_Block_Index; /* Index into message block array */ :info:build ^ :info:build /opt/local/include/sha1.h:60:1: error: unknown type name 'C_MODE_START' :info:build C_MODE_START :info:build ^ :info:build /opt/local/include/sha1.h:66:1: error: unknown type name 'C_MODE_END' :info:build C_MODE_END :info:build ^ :info:build fns.c:5775:21: error: use of undeclared identifier 'SHA1_DIGEST_SIZE'; did you mean 'SHA512_DIGEST_SIZE'? :info:build digest_size = SHA1_DIGEST_SIZE; :info:build ^~~~~~~~~~~~~~~~ :info:build SHA512_DIGEST_SIZE :info:build ../lib/sha512.h:36:8: note: 'SHA512_DIGEST_SIZE' declared here :info:build enum { SHA512_DIGEST_SIZE = 512 / 8 }; :info:build ^ :info:build fns.c:5776:21: error: use of undeclared identifier 'sha1_buffer'; did you mean 'sha512_buffer'? :info:build hash_func = sha1_buffer; :info:build ^~~~~~~~~~~ :info:build sha512_buffer :info:build ../lib/sha512.h:96:14: note: 'sha512_buffer' declared here :info:build extern void *sha512_buffer (const char *buffer, size_t len, :info:build ^ :info:build fns.c:5893:19: error: variable has incomplete type 'struct sha1_ctx' :info:build struct sha1_ctx ctx; :info:build ^ :info:build fns.c:5893:10: note: forward declaration of 'struct sha1_ctx' :info:build struct sha1_ctx ctx; :info:build ^ :info:build fns.c:5903:3: error: call to undeclared function 'sha1_init_ctx'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
Attachments (1)
Change History (6)
Changed 15 months ago by squarepegsys (Mike Hostetler)
comment:1 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Keywords: | x86_64 removed |
Owner: | set to ryandesign |
Port: | emacs-mac-app added; emac-mac-app removed |
Status: | new → assigned |
Summary: | compile errors with emacs-mac-app 29.1 → emacs-mac-app @29.1: error: unknown type name 'ulonglong' |
Version: | → 2.8.1 |
This is happening because the build wishes to use the file sha1.h which is part of the emacs-mac-app source code, but erroneously the flag -I/opt/local/include
is being used prior to the project's own -I
flags, which means that the file /opt/local/include/sha1.h which must have come from some other port is being used instead. The order of the -I
flags must be fixed.
Where did this file come from? Find out with:
port provides /opt/local/include/sha1.h
I could not find a port providing that file by searching https://ports.macports.org.
If you were using macOS 12 or earlier you could work around the problem using trace mode:
sudo port clean emacs-mac-app sudo port -t install emacs-mac-app
But since you are using macOS 13 and trace mode is broken in macOS 13 and later, the solution would be to sudo port -f deactivate
whatever port provided /opt/local/include/sha1.h, then install emacs-mac-app, then, if desired, sudo port activate
the port that provided sha1.h again.
comment:2 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from ryandesign to amake |
---|
comment:3 Changed 15 months ago by squarepegsys (Mike Hostetler)
Thanks for the nice, thorough fix.
port provides /opt/local/include/sha1.h
didn't give me a port either. very weird. SO I just renamed it:
sudo mv /opt/local/include/sha1.h /opt/local/include/sha1.h-bad
And then emacs-mac-app build successfully!
comment:4 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)
That's troubling. How many other headers and perhaps libraries and other files are in your MacPorts prefix that did not come from MacPorts? How did they get there?
comment:5 Changed 14 months ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
the build log