Opened 9 months ago

Closed 9 months ago

Last modified 9 months ago

#67945 closed defect (fixed)

gnutls-devel 3.8.1 conflicts with legacy-support: benchmark.h: error: static declaration of 'gettime' follows non-static declaration

Reported by: barracuda156 Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: snowleopard ppc Cc: Schamschula (Marius Schamschula), catap (Kirill A. Korinsky), cjones051073 (Chris Jones)
Port: gnutls-devel

Description

/bin/sh ../libtool  --tag=CC   --mode=compile /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I..  -I./gl -I./gl -I./../lib/includes -I./../lib/includes -I./../libdane/includes -I./../extra/includes  -I/opt/local/include -I/opt/local/include/LegacySupport -fanalyzer -fno-common -Wall -Wbad-function-cast -Wcast-align=strict -Wdate-time -Wdisabled-optimization -Wdouble-promotion -Wduplicated-branches -Wduplicated-cond -Wextra -Winit-self -Winvalid-pch -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wnested-externs -Wnull-dereference -Wold-style-definition -Wopenmp-simd -Wpacked -Wpointer-arith -Wshadow -Wstrict-prototypes -Wsuggest-attribute=cold -Wsuggest-attribute=format -Wsuggest-attribute=malloc -Wsuggest-final-methods -Wsuggest-final-types -Wsync-nand -Wtrampolines -Wuninitialized -Wunknown-pragmas -Wunused-macros -Wvariadic-macros -Wvector-operation-performance -Wwrite-strings -Warray-bounds=2 -Wattribute-alias=2 -Wbidi-chars=any,ucn -Wformat-overflow=2 -Wformat=2 -Wformat-truncation=2 -Wimplicit-fallthrough=5 -Wshift-overflow=2 -Wuse-after-free=3 -Wunused-const-variable=2 -Wvla-larger-than=4031 -Wno-analyzer-malloc-leak -Wno-missing-field-initializers -Wno-unused-parameter -Wno-format-truncation -Wimplicit-fallthrough=2 -Wabi=11 -fdiagnostics-show-option -fno-builtin-strcmp  -pipe -Os -I/opt/local/include/LegacySupport -arch ppc -c -o gnutls-serv-options.lo gnutls-serv-options.c
/opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I..  -I./gl -I./gl -I./../lib/includes -I./../lib/includes -I./../libdane/includes -I./../extra/includes  -I/opt/local/include -I/opt/local/include/LegacySupport -fanalyzer -fno-common -Wall -Wbad-function-cast -Wcast-align=strict -Wdate-time -Wdisabled-optimization -Wdouble-promotion -Wduplicated-branches -Wduplicated-cond -Wextra -Winit-self -Winvalid-pch -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wnested-externs -Wnull-dereference -Wold-style-definition -Wopenmp-simd -Wpacked -Wpointer-arith -Wshadow -Wstrict-prototypes -Wsuggest-attribute=cold -Wsuggest-attribute=format -Wsuggest-attribute=malloc -Wsuggest-final-methods -Wsuggest-final-types -Wsync-nand -Wtrampolines -Wuninitialized -Wunknown-pragmas -Wunused-macros -Wvariadic-macros -Wvector-operation-performance -Wwrite-strings -Warray-bounds=2 -Wattribute-alias=2 -Wbidi-chars=any,ucn -Wformat-overflow=2 -Wformat=2 -Wformat-truncation=2 -Wimplicit-fallthrough=5 -Wshift-overflow=2 -Wuse-after-free=3 -Wunused-const-variable=2 -Wvla-larger-than=4031 -Wno-analyzer-malloc-leak -Wno-missing-field-initializers -Wno-unused-parameter -Wno-format-truncation -Wimplicit-fallthrough=2 -Wabi=11 -fdiagnostics-show-option -fno-builtin-strcmp  -pipe -Os -I/opt/local/include/LegacySupport -arch ppc -c -o cli.o cli.c
In file included from cli.c:65:
benchmark.h:38:20: error: static declaration of 'gettime' follows non-static declaration
   38 | inline static void gettime(struct timespec *ts)
      |                    ^~~~~~~
In file included from benchmark.h:32:
./gl/timespec.h:93:6: note: previous declaration of 'gettime' with type 'void(struct timespec *)'
   93 | void gettime (struct timespec *) _GL_ARG_NONNULL ((1));
      |      ^~~~~~~
libtool: compile:  /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I.. -I./gl -I./gl -I./../lib/includes -I./../lib/includes -I./../libdane/includes -I./../extra/includes -I/opt/local/include -I/opt/local/include/LegacySupport -fanalyzer -fno-common -Wall -Wbad-function-cast -Wcast-align=strict -Wdate-time -Wdisabled-optimization -Wdouble-promotion -Wduplicated-branches -Wduplicated-cond -Wextra -Winit-self -Winvalid-pch -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wnested-externs -Wnull-dereference -Wold-style-definition -Wopenmp-simd -Wpacked -Wpointer-arith -Wshadow -Wstrict-prototypes -Wsuggest-attribute=cold -Wsuggest-attribute=format -Wsuggest-attribute=malloc -Wsuggest-final-methods -Wsuggest-final-types -Wsync-nand -Wtrampolines -Wuninitialized -Wunknown-pragmas -Wunused-macros -Wvariadic-macros -Wvector-operation-performance -Wwrite-strings -Warray-bounds=2 -Wattribute-alias=2 -Wbidi-chars=any,ucn -Wformat-overflow=2 -Wformat=2 -Wformat-truncation=2 -Wimplicit-fallthrough=5 -Wshift-overflow=2 -Wuse-after-free=3 -Wunused-const-variable=2 -Wvla-larger-than=4031 -Wno-analyzer-malloc-leak -Wno-missing-field-initializers -Wno-unused-parameter -Wno-format-truncation -Wimplicit-fallthrough=2 -Wabi=11 -fdiagnostics-show-option -fno-builtin-strcmp -pipe -Os -I/opt/local/include/LegacySupport -arch ppc -c gnutls-serv-options.c  -fno-common -DPIC -o .libs/gnutls-serv-options.o
make[3]: *** [cli.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_gnutls/gnutls-devel/work/gnutls-3.8.1/src'
make[2]: *** [all] Error 2

Change History (18)

comment:1 Changed 9 months ago by Schamschula (Marius Schamschula)

I'm aware of this issue. Unfortunately, I can only guess at workarounds, as I don't have active legacy systems available to me.

comment:2 Changed 9 months ago by mascguy (Christopher Nielsen)

I have an old 32-bit MacBook Pro, running both 10.6 and 10.5. Ditto for 64-bit Intel VMs, from 10.5 and up.

But it might help if the ticket included details regarding the macOS version, as well as the hardware...

comment:3 in reply to:  2 Changed 9 months ago by barracuda156

Replying to mascguy:

I have an old 32-bit MacBook Pro, running both 10.6 and 10.5. Ditto for 64-bit Intel VMs, from 10.5 and up.

But it might help if the ticket included details regarding the macOS version, as well as the hardware...

My usual builds are on 10.6 / 10.6.8 for ppc (32 bit), but this issue does not look like anything arch-related. Apparently just defines in the source code do not work well with legacysupport, if it is not just the bug in the source. I am away from Intel machine, but I suspect it will fail on older Intel too. And it looks like it is broken now on El Capitan down: https://ports.macports.org/port/gnutls-devel/details

comment:4 Changed 9 months ago by barracuda156

In file included from benchmark-cipher.c:33:
./benchmark.h:38:20: error: static declaration of 'gettime' follows non-static declaration
inline static void gettime(struct timespec *ts)
                   ^
./gl/timespec.h:93:6: note: previous declaration is here
void gettime (struct timespec *) _GL_ARG_NONNULL ((1));
     ^
gnutls-serv-options.c:416:56: warning: result of comparison of constant 2147483648 with expression of type 'int' is always false [-Wtautological-constant-out-of-range-compare]
  if (HAVE_OPT(MAXEARLYDATA) && OPT_VALUE_MAXEARLYDATA > 2147483648)
                                ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
1 error generated.

Clang on 10.11: https://build.macports.org/builders/ports-10.11_x86_64-builder/builds/231541/steps/install-port/logs/stdio

comment:5 Changed 9 months ago by barracuda156

Priority: NormalHigh

Given this is not a ppc bug, changing priority to high.

comment:6 in reply to:  5 ; Changed 9 months ago by mascguy (Christopher Nielsen)

Priority: HighNormal

Replying to barracuda156:

Given this is not a ppc bug, changing priority to high.

Bear in mind that this is a Devel port though, meaning our users generally aren't using it. So no need to bump the priority to high.

comment:7 in reply to:  6 Changed 9 months ago by barracuda156

Replying to mascguy:

Replying to barracuda156:

Given this is not a ppc bug, changing priority to high.

Bear in mind that this is a Devel port though, meaning our users generally aren't using it. So no need to bump the priority to high.

Agreed, a fair point.

comment:8 in reply to:  1 ; Changed 9 months ago by barracuda156

Replying to Schamschula:

I'm aware of this issue. Unfortunately, I can only guess at workarounds, as I don't have active legacy systems available to me.

If you suggest a solution, I will test that.

comment:9 in reply to:  8 ; Changed 9 months ago by mascguy (Christopher Nielsen)

Keywords: snowleopard ppc added

Replying to barracuda156:

If you suggest a solution, I will test that.

I'll take a look on my 10.5 x86_64 VM. Stay tuned...

comment:10 Changed 9 months ago by mascguy (Christopher Nielsen)

Cc: Schamschula added; mascguy removed
Owner: changed from Schamschula to mascguy

comment:11 in reply to:  9 Changed 9 months ago by barracuda156

Replying to mascguy:

Replying to barracuda156:

If you suggest a solution, I will test that.

I'll take a look on my 10.5 x86_64 VM. Stay tuned...

Sounds good, thanks.

comment:12 in reply to:  9 ; Changed 9 months ago by mascguy (Christopher Nielsen)

Cc: catap cjones051073 added

Replying to mascguy:

I'll take a look on my 10.5 x86_64 VM.

It looks like the build errors are fixed, when Kirill's pending changes for clock_gettime are included in legacy-support:

PR 58 - clock_gettime: added missing CLOCK_*

No time to dig into the details yet, as my day job is starting. But encouraging for sure.

So @cjones... any thoughts on Kirill's PR? Would be really nice to finally merge that, particularly now that it fixes at least one port...

comment:13 in reply to:  12 Changed 9 months ago by mascguy (Christopher Nielsen)

Replying to mascguy:

Replying to mascguy:

I'll take a look on my 10.5 x86_64 VM.

It looks like the build errors are fixed, when Kirill's pending changes for clock_gettime are included in legacy-support:

PR 58 - clock_gettime: added missing CLOCK_*

No time to dig into the details yet, as my day job is starting. But encouraging for sure.

So @cjones... any thoughts on Kirill's PR? Would be really nice to finally merge that, particularly now that it fixes at least one port...

Chris just approved the PR, so we're good-to-go. I'll update legacy-support-devel, with Kirill's additions.

comment:14 Changed 9 months ago by Christopher Nielsen <mascguy@…>

In d11a55b539a703eb7760a3d68edc8335e942cbff/macports-ports (master):

legacy-support-devel: update to 20230822

  • time: add additional CLOCK_* support

See: https://github.com/macports/macports-legacy-support/pull/58
See: #67945

comment:15 Changed 9 months ago by catap (Kirill A. Korinsky)

BTW I do have some idea how to get reasonable enough CLOCK_THREAD_CPUTIME_ID, see: https://github.com/macports/macports-legacy-support/pull/64

comment:16 in reply to:  12 Changed 9 months ago by barracuda156

Replying to mascguy:

Replying to mascguy:

I'll take a look on my 10.5 x86_64 VM.

It looks like the build errors are fixed, when Kirill's pending changes for clock_gettime are included in legacy-support

Yes, all is good now!

comment:17 Changed 9 months ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed

Since a new release of legacy-support will be forthcoming over the next few days, closing as fixed.

comment:18 Changed 9 months ago by Christopher Nielsen <mascguy@…>

In 92d479b07658094732fee8a4f2f4dc9ae8b136b4/macports-ports (master):

legacy-support: update to 1.0.13

  • time: add additional CLOCK_* support

See: https://github.com/macports/macports-legacy-support/pull/58
See: #67945

Note: See TracTickets for help on using tickets.