After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 765376 - Fail to build because of missing includes on FreeBSD
Fail to build because of missing includes on FreeBSD
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: Misc
2.54.x
Other FreeBSD
: Normal normal
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2016-04-21 13:56 UTC by Ting-Wei Lan
Modified: 2016-07-23 16:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
build: Add missing includes for GSSAPI on FreeBSD (734 bytes, patch)
2016-04-25 16:58 UTC, Ting-Wei Lan
none Details | Review
build: Remove unused gssapi_krb5.h include (748 bytes, patch)
2016-07-18 13:56 UTC, Ting-Wei Lan
committed Details | Review

Description Ting-Wei Lan 2016-04-21 13:56:31 UTC
This error was caused by commit 6a8826f.

Error messages:

  CC       libsoup_2_4_la-soup-auth-negotiate.lo
In file included from soup-auth-negotiate.c:17:
/usr/include/gssapi/gssapi_krb5.h:130:70: error: unknown type name 'time_t'
gsskrb5_extract_authtime_from_sec_context(OM_uint32 *, gss_ctx_id_t, time_t *);
                                                                     ^
/usr/include/gssapi/gssapi_krb5.h:221:5: error: unknown type name 'int32_t'; did you mean '__int32_t'?
                                int32_t *enctypes);
                                ^
/usr/include/x86/_types.h:55:15: note: '__int32_t' declared here
typedef int                     __int32_t;
                                ^
2 errors generated.
Makefile:1168: recipe for target 'libsoup_2_4_la-soup-auth-negotiate.lo' failed


It seems stdint.h and time.h have to be included first.
Comment 1 Dan Winship 2016-04-25 15:15:55 UTC
> It seems stdint.h and time.h have to be included first.

Can you please attach a tested patch? I don't want to commit a fix blind and then find out later that it doesn't work for some reason.
Comment 2 Ting-Wei Lan 2016-04-25 16:58:40 UTC
Created attachment 326705 [details] [review]
build: Add missing includes for GSSAPI on FreeBSD

I didn't attach this patch because I am not sure whether this is the most
correct fix. It does fix the build.
Comment 3 Ting-Wei Lan 2016-05-21 14:00:25 UTC
Can the patch be reviewed? It has stayed here for almost one month.
Comment 4 Ting-Wei Lan 2016-06-18 10:38:46 UTC
I think I have to ping again ... Can anyone help review the patch?
Comment 5 Ting-Wei Lan 2016-07-16 15:58:28 UTC
I think I really need to ping again ... This patch has stayed here for almost 3 months without begin reviewed.
Comment 6 Dan Winship 2016-07-18 11:52:36 UTC
it's a trivial patch, but I don't like it... why are those includes needed? I thought freebsd fixed all their transitive #include issues years ago?

Does "man gssapi" on freebsd tell you that you need to include those headers? What's missing without them?
Comment 7 Ting-Wei Lan 2016-07-18 13:56:43 UTC
Created attachment 331712 [details] [review]
build: Remove unused gssapi_krb5.h include

This fixes missing includes problem on FreeBSD.

On FreeBSD, 'man gssapi' only mentions gssapi/gssapi.h and it does work
without including additional headers. It is gssapi/gssapi_krb5.h that
causes compilation error here. Fortunately, gssapi/gssapi_krb5.h doesn't
seem to be required and we can simply remove the unused gssapi/gssapi_krb5.h
include.
Comment 8 Dan Winship 2016-07-23 16:15:45 UTC
committed. thanks

Attachment 331712 [details] pushed as 589c276 - build: Remove unused gssapi_krb5.h include