Opened 12 years ago

Closed 12 years ago

#37945 closed defect (worksforme)

kerberos5 @1.11_0 fails: error: et-c-ss_err.h: No such file or directory

Reported by: outis Owned by: neverpanic (Clemens Lang)
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc: neverpanic (Clemens Lang)
Port: kerberos5

Description

Installing kerberos @1.11_0 fails during the build. The log contains the following information about the build error (full log attached):

:info:build rm -f et-c-ss_err.et et-c-ss_err.c et-c-ss_err.h
:info:build cp ss_err.et et-c-ss_err.et
:info:build compile_et et-c-ss_err.et
:info:build Error Table "ss" has base 748800
:info:build Error Table "ss" has base 748800
:info:build mv -f et-c-ss_err.c ss_err.c
:info:build mv -f et-h-ss_err.h ss_err.h
:info:build rm -f et-c-ss_err.et et-c-ss_err.h
:info:build rm -f et-h-ss_err.et et-h-ss_err.c
:info:build ../../util/ss/mk_cmds std_rqs.ct
:info:build rm -f ../../include/ss/ss.h
:info:build cp ./ss.h ../../include/ss/ss.h
:info:build rm -f ../../include/ss/ss_err.h
:info:build cp ss_err.h ../../include/ss/ss_err.h
:info:build /usr/bin/gcc-4.2   -I../../include -I../../include -I. -I./ -I/opt/local/include -I/opt/local/include/editline   -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -I/opt/local/include -O2 -arch x86_64 -fno-common -Wall -Wcast-align -Wshadow -Wmissing-prototypes -Wno-format-zero-length -Woverflow -Wstrict-overflow -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare -Wnewline-eof -Werror=uninitialized -Werror=declaration-after-statement -Werror=variadic-macros -Werror-implicit-function-declaration  -c ss_err.c
:info:build ss_err.c:7:25: error: et-c-ss_err.h: No such file or directory
:info:build ss_err.c:27: error: variable ‘et_ss_error_table’ has initializer but incomplete type

ss_err.c (also attached) includes "et-c-ss_err.h", but it was previously renamed to "ss_err.h" (as shown in the log excerpt).

I came across this after dealing with #37944. Cleaning kerberos5 didn't help:

sudo port clean --all kerberos5
sudo port install kerberos5

Using "upgrade" instead of "install" action (@1.7.2_0 is installed, but deactivated) had no affect.

System: OS X 10.6.8

Attachments (3)

main.log (37.5 KB) - added by outis 12 years ago.
build log
ss_err.c (897 bytes) - added by outis 12 years ago.
auto-generated file
ss_err.h (1.1 KB) - added by outis 12 years ago.
auto-generated file

Download all attachments as: .zip

Change History (8)

Changed 12 years ago by outis

Attachment: main.log added

build log

Changed 12 years ago by outis

Attachment: ss_err.c added

auto-generated file

Changed 12 years ago by outis

Attachment: ss_err.h added

auto-generated file

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: Installing kerberos @1.11_0 fails: error: et-c-ss_err.h: No such file or directorykerberos5 @1.11_0 fails: error: et-c-ss_err.h: No such file or directory

comment:2 Changed 12 years ago by jmroot (Joshua Root)

Cc: cal@… added

comment:3 Changed 12 years ago by neverpanic (Clemens Lang)

Owner: changed from macports-tickets@… to cal@…
Status: newassigned

While I'm cooking up a fix for that, I'm wondering why I can't reproduce this locally. It certainly is caused by a different version of compile_et generating different output (the one I have doesn't add the header include). Can you provide the output of

port provides /opt/local/bin/compile_et

and the version number of the port that provides it?

Last edited 12 years ago by neverpanic (Clemens Lang) (previous) (diff)

comment:4 Changed 12 years ago by outis

Certainly. It's provided by libcomerr @1.42.7_1+universal. All files in that port are dated Feb 7, 2013 at 12:46 PST. Since this is newer than my initial report on the 4th, I cleaned kerberos & tried again. Guess what? No errors. Looks like there was an issue (local or not) with an earlier version/install libcomerr that was resolved, perhaps by an update or rebuild (though not any that I did). You can close this ticket.

Last edited 12 years ago by outis (previous) (diff)

comment:5 Changed 12 years ago by neverpanic (Clemens Lang)

Resolution: worksforme
Status: assignedclosed

OK, so I know what happened. kerberos5 used to ship and install its own version of compile_et that was generating different output (the output generated by libcomerr's compile_et doesn't have the problem discussed here). So I think you still had the kerberos-provided version of compile_et installed. A recent change in libcomerr automatically disabled it and replaced it with its own implementation, fixing the build for you.

Note: See TracTickets for help on using tickets.