Opened 8 months ago

Last modified 8 months ago

#62123 assigned defect

bind9 @9.16.11 compile errors on Big Sur and El Capitan

Reported by: snowflake (Dave Evans) Owned by: danielluke (Daniel J. Luke)
Priority: Normal Milestone:
Component: ports Version: 2.6.99
Keywords: Cc: Schamschula (Marius Schamschula)
Port: bind9

Description

Error on Big Sur

client.c:1032:3: error: implicit declaration of function 'isc_nm_gettimeouts' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                isc_nm_gettimeouts(isc_nmhandle_netmgr(client->handle), NULL,
                ^
client.c:1032:3: note: did you mean 'isc_nm_tcp_gettimeouts'?
/opt/local/include/isc/netmgr.h:362:1: note: 'isc_nm_tcp_gettimeouts' declared here
isc_nm_tcp_gettimeouts(isc_nm_t *mgr, uint32_t *initial, uint32_t *idle,
^
1 error generated.
make[2]: *** [client.o] Error 1

This error does not trigger on El Capitan, so we get a different one further down the log.

kaspconf.c:256:1: error: conflicting types for 'cfg_kasp_fromconfig'
cfg_kasp_fromconfig(const cfg_obj_t *config, const char *name, isc_mem_t *mctx,
^
/opt/local/include/isccfg/kaspconf.h:28:1: note: previous declaration is here
cfg_kasp_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx, isc_log_t *logctx,
^
1 error generated.
make[2]: *** [kaspconf.o] Error 1

Attachments (1)

bind9-main.log (358.3 KB) - added by Schamschula (Marius Schamschula) 8 months ago.

Download all attachments as: .zip

Change History (13)

comment:1 Changed 8 months ago by snowflake (Dave Evans)

This is weird. The buildbots for today (2021-01-22) show the build succeeding on 11_arm64. It hasn't yet got to Big Sur Intel or El Capitan builds. Perhaps there is some corruption in my local source files?

comment:2 Changed 8 months ago by snowflake (Dave Evans)

The build also fails on Catalina with the same error as El Capitan.

I don't see the port maintainer knowingly releasing a broken port, so there is something odd going on here. But what?

comment:3 Changed 8 months ago by Schamschula (Marius Schamschula)

I get the second error on Mojave.

comment:4 Changed 8 months ago by Schamschula (Marius Schamschula)

Cc: Schamschula added

comment:5 Changed 8 months ago by danielluke (Daniel J. Luke)

I built on High Sierra and Big Sur before committing the update - can someone with failures please attach a full build log?

comment:6 Changed 8 months ago by danielluke (Daniel J. Luke)

I don’t see any build failures from the buildbot (yet?) - https://ports.macports.org/port/bind9/builds

Changed 8 months ago by Schamschula (Marius Schamschula)

Attachment: bind9-main.log added

comment:7 Changed 8 months ago by snowflake (Dave Evans)

It builds on Mountain Lion 10.8.

comment:8 Changed 8 months ago by snowflake (Dave Evans)

My Mountain Lion system runs in a VM and has a mere 269 ports.

On El Capitan, Catalina and Big Sur, each have at least 2000 ports.

I suspect that the build bots will work because they start from a clean system and only pull in what they need. On my big systems the configure phase is probably finding something I don't even know exists and this is somehow causing a conflict during the build. There could be a duplicate macro definition. I have now idea how to find this apart from deactivating all ports then activating them one by one until the build fails.

A better alternative is for me to wait until the buildbots have done their builts then install from the archive.

comment:9 Changed 8 months ago by danielluke (Daniel J. Luke)

I suspect it's a previous install of bind9 (so the build is picking up the installed /opt/local/include/isccfg/kaspconf.h with the different definition).

comment:10 Changed 8 months ago by snowflake (Dave Evans)

I suspect you are right. I uninstalled bind9 then reinstalled from source and it worked!

comment:11 Changed 8 months ago by danielluke (Daniel J. Luke)

here's where I once again wish that 'trace mode' was the default :)

comment:12 Changed 8 months ago by danielluke (Daniel J. Luke)

Thanks for the confirmation - I should be able to replicate the problem and patch the build to work around this (also, once the archives are available, most people won't notice as they'll just get those binaries instead).

Note: See TracTickets for help on using tickets.