Re: Gutenprint 5.3.5-pre1 Release

Matt Broughton <[email protected]> Wed, 10 Jul 2024 15:21:13 -0500
Newsgroups gmane.linux.printing.gimp-print.devel
Message-ID <[email protected]>

> On Jul 10, 2024, at 12:54 PM, Greg Troxel <[email protected]> wrote:
> 
> Matt Broughton <[email protected]> writes:
> 
>> FWIW, on macos 12.7.5, I do have to edit the `configure` line 19887
>> and delete '-D_POSIX_C_SOURCE=200809L -std=c99' to get v5.3.5-pre1 to
>> build.  If left in, the build will fail with errors of the type:
> 
> That's very interesting you see the same error on macOS as what I am
> seeing on NetBSD (but I hear that apple adopted NetBSD's networking
> stack and this is pbobably very longstanding code).
> 
> That is great progress to get it to build.  Did you, or could you, try
> with removing the -DPOSIX_C_SOURCE=200809L, and leaving --std=c99?   I
> am guessing that will be ok.
> 
> Visibility defines are tricky.  While they appear to say "make
> everything required by this standard visible", they really are "make
> *only* what this standard requires visible".  Many things in an OS are
> removed from visibility by them.
> 
> I wonder why that define exists in the first place.  Normally programs
> expect the posix+local-os environment, and that's almost always ok.
> 
> I believe that there are some systems that make an older standard
> available by default, and you have to ask for something more modern.
> Then, one would have to have defines to not only have the modern posix,
> but also turn back on the OS extensions that are expected, all ifdef'd
> on the OS that needs it.
> 

It does build fine on macos 12.7.5 with -std=c99.  I was going on what the previous macos maintainer indicated needed to be changed.  I am wondering if the macos builds ever used -std=c99.  Comparing the default v5.2.15 and v5.3.5-pre1 `configure` and the resulting Configuration Summary, I get:

v5.2.15
configure line 18503 ---
 'for stp_ac_arg in -D_POSIX_C_SOURCE=200809L -std=c99 -pedantic -Waggregate-return -Wcast-qual -Wshadow -Wredundant-decls ; do'

Configuration Summary---
 General configuration:
    Compiler options:                           -Disfinite=finite  -O6 -mmacosx-version-min=10.7 -Os -arch x86_64 -D_PPD_DEPRECATED=""  -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wwrite-strings -Werror-implicit-function-declaration -Winline -Wformat=2 -finline-limit=131072
    Build static libraries:                     yes
    Build shared libraries:                     yes
    Maintainer mode:                            no
    Use i18n:                                   no
    Generate profiling information:             no
    Generate debugging symbols:                 no
    Use modules:                                static
    Use readline libraries:                     yes, extra arguments: -lncurses
    uname -a output:                            Darwin Borodin.local 21.6.0 Darwin Kernel Version 21.6.0: Wed Apr 24 06:02:02 PDT 2024; root:xnu-8020.240.18.708.4~1/RELEASE_X86_64 x86_64
================================================================


v5.3.5-pre1
configure line19887---
  for stp_ac_arg in -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wwrite-strings -Werror-implicit-function-declaration -Winline -Wformat=2 -finline-limit=131072 -Wformat -Werror=format-security -D_POSIX_C_SOURCE=200809L -std=c99 ; do

Configuration Summary---
  General configuration:
    Configure arguments:                        --prefix=/Library/Printers/Gutenprint.printerDriver/Contents/MacOS --datadir=/Library/Printers/Gutenprint.printerDriver/Contents/Resources --datarootdir=/Library/Printers/Gutenprint.printerDriver/Contents/Resources --localedir=/Library/Printers/Gutenprint.printerDriver/Contents/Resources --docdir=/Library/Printers/Gutenprint.printerDriver/Contents/Resources/doc --mandir=/Library/Printers/Gutenprint.printerDriver/Contents/Resources --disable-samples --disable-test --enable-nls-macosx '--with-archflags=-mmacosx-version-min=10.7 -Os -arch x86_64 -D_PPD_DEPRECATED=""'
    Compiler:                                   gcc
    Compiler Version:                           Apple clang version 14.0.0 (clang-1400.0.29.202)
    Compiler options:                           -Disfinite=finite  -O3 -mmacosx-version-min=10.7 -Os -arch x86_64 -D_PPD_DEPRECATED=""  -Wformat -Werror=format-security -D_POSIX_C_SOURCE=200809L -std=c99
    Build static libraries:                     yes
    Build shared libraries:                     yes
    Maintainer mode:                            no
    Use i18n:                                   no
    Generate profiling information:             no
    Generate debugging symbols:                 no
    Use modules:                                static
    Use readline libraries:                     yes, extra arguments: -lncurses
    uname -a output:                            Darwin Borodin.local 21.6.0 Darwin Kernel Version 21.6.0: Wed Apr 24 06:02:02 PDT 2024; root:xnu-8020.240.18.708.4~1/RELEASE_X86_64 x86_64
================================================================


Both results are using macos 12.7.5 and the same XCode.  For some reason, the past 'configure' drops the compiler options '-D_POSIX_C_SOURCE=200809L -std=c99'.  The 'configure' keeps them as options.  There must be some differences in 'configure' between the two Gutenprint releases -- something that removes these options as not useable.  I wish I knew what I was doing.

Matt

_______________________________________________
Gimp-print-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gimp-print-devel