Re:_gnutls_3.8.8_error,__compile-time-constant___f ails_and_skips_many_other_packages_from_being_built

From: Fred Finster <fred_at_thegalacticzoo.com>
Date: Tue, 24 Dec 2024 03:12:28 UTC
 



On December 23, 2024 6:36 PM PST
~~~~~~~~~~~~~~~~~

Thank you for pointing to me the referenced fix in gnutls github issues, Sir
Sending this email now.  Already much to wordy, when trying to be clear
~~~~~~~~~~~~~~~~~


Clang --version  16.06  from FreeBSD 15.0-CURRENT

This is the version of Clang, I am using to compile C code on FreeBSD version 14.0   
YES, I HAVE a messed up, "updated build" of /usr/src  self built kernel installed to a Raspberry Pi 4B.
hardware  BCM2711  with 8 gigs of dram memory.  YES, I do understand that this is NOT SUPPORTED BUILD.   I am showing that CLANG version 16.06 has a problem with the gnutls 3.8.8 source code file build, in file  groups.c line 93:2.   The use of a compile-time constant value that is working for other CLANG versions is NOT WORKING for this CLANG 16.06 version.  

1.) What is your version of CLANG you are using with Poudriere package builder?  No problems when you are compiling with CLANG 15.xx?

2.) question,  since Poudriere package builder, checks version numbers and downloads newer version code from the repository to replace older versions.   Will there be a newer version of gnutls 3.8.9 code that gets downloaded to replace gnutls 3.8.8 source code, and thereby fixes the source code build, so that many other packages relying on gnutls can be subsequently built?

Yes, the compile-time-constant problem was referenced on github.com/gnutls as an issue. So will eventually be fixed.   Should I be performing another task to update the source code installed in /usr/src  or /usr/ports/security/gnutls    like executing  
1.)  FreeBSD portsnap.    
2.)  Or this  git   pull --ff-only  command?   Yes, I do see that I need to Read the Fine Manual and other documents to answer my noob question here.
3.)  Some other procedure to update source code for Poudriere?
4.)  My hope was to keep re-starting Poudriere pkglist build every few days, until the compile-time-constant problem fixed itself.   I will send this email now and then start Poudriere Package list builder again to see if problem cleared itself.
5.)  I do not think 14.1 or 14.2 see a problem using the aarch64 clang compiler, because using earlier version clang 14.xx or 15.xx versus clang 16.06 I get from FreeBSD 15.0-CURRENT or  15.0-STABLE environments.  Yes, I might have created my own problem using mismatche unsupported versions of CLANG.
5.)   Your methods and suggestions are welcome.   Maybe one can edit  groups.c file to get around the compile-time-constant problem  using a  ptr= (NIL)   or other setup code.


~~~~~~~~~~~~~~~  output from my  FreeBSD Arm64/GhostBSD-Arm64 installed kernel build for RasPi4B   ~~~~~~~~~~~~~~
Last login: Sun Dec 22 19:28:24 2024 from 173.11.5.249
GhostBSD 24.01.1 GENERIC

Welcome to GhostBSD!

Release Notes, Errata:  https://www.GhostBSD.org/releases/
Security Advisories:    https://www.FreeBSD.org/security/
GhostBSD Docs:          https://wiki.GhostBSD.org/
GhostBSD FAQ:           https://wiki.GhostBSD.org/index.php/FAQ
GhostBSD Forums:        https://forums.GhostBSD.org/

Show the version of GhostBSD installed:  ghostbsd-version
Please include that output and any error messages when posting questions.
Forget what directory you are in? Type "pwd".
                -- Dru <genesis@istar.ca>
fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ cc --version
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
Target: aarch64-unknown-freebsd15.0
Thread model: posix
InstalledDir: /usr/bin
fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ clang --version
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
Target: aarch64-unknown-freebsd15.0
Thread model: posix
InstalledDir: /usr/bin
fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $

~~~~~~~~~~~~~~~~~
On December 16, 2024 8:02:52 PM PST, Fred Finster <fred@thegalacticzoo.com> wrote:
>Merry Christmas 2024 fellow FreeBSD ARM users.
>I wave my hand, that I have encountered an error that Marius Schamschula details below.
>
>A compile-time constant is computed at the time the code is compiled, while a run-time constant can only be computed while the application is running. A compile-time constant will have the same value each time an application runs, while a run-time constant may change each time.Sep 15, 2021
>
>~~~~~~~~~~~~~~~~~~~~~
>https://github.com/llvm/llvm-project
>https://lists.gnutls.org/pipermail/gnutls-help/2024-November/thread.html#4866
>Problem, how to compile file groups.c as a part of gnutls 3.8.8 and overcome
>this compile-time constant error:
>groups.c:93:2: error: initializer element is not a compile-time constant
>        group_x25519,
>        ^~~~~~~~~~~~
>1 error generated.
>
>My FreeBSD Raspberry Pi 4B environment:  
>~~~~~~~~~~~~~~~~~~~~~~~
>Last login: Mon Dec 16 22:35:17 2024 from 173.11.5.249
>GhostBSD 24.01.1 GENERIC
>
>Welcome to GhostBSD!
>
>Release Notes, Errata:  https://www.GhostBSD.org/releases/
>Security Advisories:    https://www.FreeBSD.org/security/
>GhostBSD Docs:          https://wiki.GhostBSD.org/
>GhostBSD FAQ:           https://wiki.GhostBSD.org/index.php/FAQ
>GhostBSD Forums:        https://forums.GhostBSD.org/
>
>Show the version of GhostBSD installed:  ghostbsd-version
>Please include that output and any error messages when posting questions.
>You can adjust the volume of various parts of the sound system in your
>computer by typing 'mixer <type>.volume=<volume>%'.  To get a list of what
>you can adjust, just type 'mixer'.
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ date
>Tue Dec 17 02:46:01 UTC 2024
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ ifconfig
>genet0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
>        options=68000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
>        ether e4:5f:01:9d:54:76
>        inet 10.0.0.159 netmask 0xffffff00 broadcast 10.0.0.255
>        media: Ethernet autoselect (1000baseT <full-duplex>)
>        status: active
>        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384
>        options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
>        inet 127.0.0.1 netmask 0xff000000
>        inet6 ::1 prefixlen 128
>        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
>        groups: lo
>        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ clang --version
>FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)Target: aarch64-unknown-freebsd15.0
>Thread model: posix
>InstalledDir: /usr/bin
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ uname -arU
>FreeBSD Ghost14-selfbuilt-rpi4B-nginx-tst1 14.0-STABLE FreeBSD 14.0-STABLE #1 stable-arm64/14-n230716-18b4bf31e36-dirty: Fri Feb 16 00:17:20 PST 2024     root@Ghost14-selfbuilt-rpi4B-nginx-tst1:/usr/obj/usr/ghost14/ghostbsd-src/arm64.aarch64/sys/GENERIC-VCHIQ arm64 1500001
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $
>
>
>
>
>Last login: Mon Dec 16 22:35:17 2024 from 173.11.5.249
>GhostBSD 24.01.1 GENERIC
>
>Welcome to GhostBSD!
>
>Release Notes, Errata:  https://www.GhostBSD.org/releases/
>Security Advisories:    https://www.FreeBSD.org/security/
>GhostBSD Docs:          https://wiki.GhostBSD.org/
>GhostBSD FAQ:           https://wiki.GhostBSD.org/index.php/FAQ
>GhostBSD Forums:        https://forums.GhostBSD.org/
>
>Show the version of GhostBSD installed:  ghostbsd-version
>Please include that output and any error messages when posting questions.
>You can adjust the volume of various parts of the sound system in your
>computer by typing 'mixer <type>.volume=<volume>%'.  To get a list of what
>you can adjust, just type 'mixer'.
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ date
>Tue Dec 17 02:46:01 UTC 2024
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ ifconfig
>genet0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
>        options=68000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
>        ether e4:5f:01:9d:54:76
>        inet 10.0.0.159 netmask 0xffffff00 broadcast 10.0.0.255
>        media: Ethernet autoselect (1000baseT <full-duplex>)
>        status: active
>        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384
>        options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
>        inet 127.0.0.1 netmask 0xff000000
>        inet6 ::1 prefixlen 128
>        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
>        groups: lo
>        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ clang --version
>FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)Target: aarch64-unknown-freebsd15.0
>Thread model: posix
>InstalledDir: /usr/bin
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ uname -arU
>FreeBSD Ghost14-selfbuilt-rpi4B-nginx-tst1 14.0-STABLE FreeBSD 14.0-STABLE #1 stable-arm64/14-n230716-18b4bf31e36-dirty: Fri Feb 16 00:17:20 PST 2024     root@Ghost14-selfbuilt-rpi4B-nginx-tst1:/usr/obj/usr/ghost14/ghostbsd-src/arm64.aarch64/sys/GENERIC-VCHIQ arm64 1500001
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ freebsd-version -dru
>Illegal option -d
>usage: freebsd-version [-kru] [-j jail]
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ freebsd-version -kru
>14.0-STABLE
>14.0-STABLE
>15.0-CURRENT
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ ghostbsd-version
>24.01.1
>fred@Ghost14-selfbuilt-rpi4B-nginx-tst1:~ $ ghostbsd-version -fkv
>14.0-STABLE
>1400500
>24.01.1
>
>
>~~~~~~~~~~~~~~~~
>A compile-time constant is computed at the time the code is compiled, while a run-time constant can only be computed while the application is running. A compile-time constant will have the same value each time an application runs, while a run-time constant may change each time.Sep 15, 2021
>
>https://lists.gnutls.org/pipermail/gnutls-help/2024-November/thread.html#4866  gnutls mailing threads.
>https://lists.gnutls.org/pipermail/gnutls-help/2024-November/004866.html
>groups.c file, not a compile-time constant  group_x25519
>
>I/opt/local/include/p11-kit-1 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -c groups.c  -fno-common -DPIC -o .libs/groups.o
>groups.c:93:2: error: initializer element is not a compile-time constant
>        group_x25519,
>        ^~~~~~~~~~~~
>1 error generated.
>Marius
>--
>Marius Schamschula
>
>URLS to view:
>https://trac.macports.org/ticket/71273  Compile Time Constant 
>https://lists.gnutls.org/pipermail/gnutls-help/2024-November/004865.html
>https://lists.gnutls.org/pipermail/gnutls-help/2024-November/004866.html
>
>~~~~~~~~~~~~~~~~~~~~~
>
>gnutls_3.8.8 fails to compile and has a single error.  Other Poudriere packages depend on gnutls_3.8.8 and are skipped from compiling.  What do you suggest to fix this problem?  I am patient to wait until developers have a solution ready for gnutls.   Like first initializing group_x25519 with a NIL value.??
>http://ghostbsd-arm64.blogspot.com Fred's Blog about porting GhostBSD x86 to Arm64

http://ghostbsd-arm64.blogspot.com Fred's Blog