Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[workaround] gcc-14 jack-audio-connection-kit failed
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20564

PostPosted: Thu Jan 09, 2025 5:12 am    Post subject: [workaround] gcc-14 jack-audio-connection-kit failed Reply with quote

This happened while upgrading to profile 23. In case it matters:
Code:
emerge --ask --emptytree --getbinpkg @world --exclude www-client/firefox --exclude sys-devel/gcc:13 --exclude media-video/vlc --exclude app-office/openoffice-bin --exclude sys-kernel/linux-firmware
I've since uninstalled gcc-13 and rebuilt everything that didn't get built except firefox, openoffice-bin, and linux-firmware. media-sound/mpd also failed, but installed with a local newer version than in portage. media-sound/aumix also failed, and only installed after configuring it to use "-std=c89". I only mention those in the off chance they could be relevant.

There is a similar bug from a year ago, but not exactly the same: https://bugs.gentoo.org/921164

The bug does not show the db.h error, but the "command not found" is in both:
Code:
checking platform dependencies... ./configure: line 15826: 1: command not found
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking db.h usability... no
checking db.h presence... yes
configure: WARNING: db.h: present but cannot be compiled
configure: WARNING: db.h:     check for missing prerequisite headers?
configure: WARNING: db.h: see the Autoconf documentation
configure: WARNING: db.h:     section "Present But Cannot Be Compiled"
configure: WARNING: db.h: proceeding with the compiler's result
configure: WARNING:     ## --------------------------------------------- ##
configure: WARNING:     ## Report this to jack-devel@lists.jackaudio.org ##
configure: WARNING:     ## --------------------------------------------- ##
checking for db.h... no
configure: error: *** a required header file is missing

!!! Please attach the following file when seeking support:
!!! /var/tmp/tmpfs/portage/media-sound/jack-audio-connection-kit-0.125.0-r1/work/jack-audio-connection-kit-0.125.0-abi_x86_64.amd64/config.log
 * ERROR: media-sound/jack-audio-connection-kit-0.125.0-r1::gentoo failed (configure phase):
build.log
https://bpa.st/ZPQA

emerge --info '=media-sound/jack-audio-connection-kit-0.125.0-r1::gentoo'
https://bpa.st/QFDA

emerge -pqv '=media-sound/jack-audio-connection-kit-0.125.0-r1::gentoo'
Code:
[ebuild   R   ] media-sound/jack-audio-connection-kit-0.125.0-r1  USE="pam -alsa (-coreaudio) -debug -doc -examples -oss" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse -3dnow"


Upstream released 0.125 in 2016, and 0.126 in 2022 (not in portage), so I'm wondering if this is meaningfully active package?

I _think_ I installed it to experiment with but never have. Only firefox and media-sound/mpd have USE jack, so I'm leaning toward uninstalling it.
_________________
Quis separabit? Quo animo?


Last edited by pjp on Thu Jan 09, 2025 10:41 pm; edited 1 time in total
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 31408
Location: here

PostPosted: Thu Jan 09, 2025 8:55 am    Post subject: Reply with quote

What version of sys-libs/db package you have installed?
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2590

PostPosted: Thu Jan 09, 2025 9:02 am    Post subject: Re: profile 23 gcc-14 jack-audio-connection-kit failed Reply with quote

pjp wrote:
media-sound/mpd also failed, but installed with a local newer version than in portage. media-sound/aumix also failed, and only installed after configuring it to use "-std=c89". I only mention those in the off chance they could be relevant.


This is related to new stricter rules in gcc 14 to better adhere to the standard. There was at least one recent related thread.
Here's a relevant post: https://forums.gentoo.org/viewtopic-p-8847406.html#8847406

Best Regards,
Georgi
Back to top
View user's profile Send private message
Ralphred
l33t
l33t


Joined: 31 Dec 2013
Posts: 696

PostPosted: Thu Jan 09, 2025 12:46 pm    Post subject: Re: profile 23 gcc-14 jack-audio-connection-kit failed Reply with quote

pjp wrote:
I _think_ I installed it to experiment with but never have. Only firefox and media-sound/mpd have USE jack, so I'm leaning toward uninstalling it.
That's the "old" version of jack, it's effectively been replaced by media-sound/jack2 for several years. Also, being built with -alsa (-coreaudio) -oss means you are doing something pretty niche with it, making me think you'd remember...
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20564

PostPosted: Thu Jan 09, 2025 5:26 pm    Post subject: Re: profile 23 gcc-14 jack-audio-connection-kit failed Reply with quote

logrusx wrote:
pjp wrote:
media-sound/mpd also failed, but installed with a local newer version than in portage. media-sound/aumix also failed, and only installed after configuring it to use "-std=c89". I only mention those in the off chance they could be relevant.


This is related to new stricter rules in gcc 14 to better adhere to the standard. There was at least one recent related thread.
Here's a relevant post: https://forums.gentoo.org/viewtopic-p-8847406.html#8847406

Best Regards,
Georgi
Yes, if not for that thread / post, I would not have thought to do it.

Migration to these settings seems a bit premature, but here we are. I wonder how much is gcc-14 vs. profile 23. I've had gcc-14 installed for a while, but I don't know how quickly I set it to be used. aumix specifically was probably compiled with a gcc-12 based on binary package dates. That one was an easy workaround.

It isn't at all obvious why the jack configure should be as badly broken as it is. It previously compiled without problems. Using binary package dates, that too was probably compiled with gcc-12.


Ralphred wrote:
pjp wrote:
I _think_ I installed it to experiment with but never have. Only firefox and media-sound/mpd have USE jack, so I'm leaning toward uninstalling it.
That's the "old" version of jack, it's effectively been replaced by media-sound/jack2 for several years. Also, being built with -alsa (-coreaudio) -oss means you are doing something pretty niche with it, making me think you'd remember...
Thanks. That's one of the things I was hoping to learn. I'll see about switching to that.

So far I haven't done anything with it. I'm guessing -alsa was because it wanted to install things I didn't want installed (that's usually why I disable flags). Check the package.use file confirms that

mpd with jack expects jack? ( virtual/jack ) and virtual/jack is fine with any of jack2, jack-audio-connection-kit, or pipewire. I guess for now I'll just disable jack until the next time it sounds like a Good Idea.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2590

PostPosted: Thu Jan 09, 2025 6:49 pm    Post subject: Re: profile 23 gcc-14 jack-audio-connection-kit failed Reply with quote

pjp wrote:
I wonder how much is gcc-14 vs. profile 23.


I'd say none of it is 23.0. Most of it is time. More specifically, code is getting outdated.

Best Regards,
Georgi
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1781
Location: South America

PostPosted: Thu Jan 09, 2025 6:59 pm    Post subject: Re: profile 23 gcc-14 jack-audio-connection-kit failed Reply with quote

pjp wrote:
It isn't at all obvious why the jack configure should be as badly broken as it is. It previously compiled without problems.

If you really want to know, the answer should be in the config.log file:

pjp wrote:
Code:
!!! Please attach the following file when seeking support:
!!! /var/tmp/tmpfs/portage/media-sound/jack-audio-connection-kit-0.125.0-r1/work/jack-audio-connection-kit-0.125.0-abi_x86_64.amd64/config.log

_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20564

PostPosted: Thu Jan 09, 2025 10:40 pm    Post subject: Re: profile 23 gcc-14 jack-audio-connection-kit failed Reply with quote

logrusx wrote:
pjp wrote:
I wonder how much is gcc-14 vs. profile 23.


I'd say none of it is 23.0. Most of it is time. More specifically, code is getting outdated.
GDH-gentoo wrote:
pjp wrote:
It isn't at all obvious why the jack configure should be as badly broken as it is. It previously compiled without problems.

If you really want to know, the answer should be in the config.log file:

pjp wrote:
Code:
!!! Please attach the following file when seeking support:
!!! /var/tmp/tmpfs/portage/media-sound/jack-audio-connection-kit-0.125.0-r1/work/jack-audio-connection-kit-0.125.0-abi_x86_64.amd64/config.log
I was thinking configure was done before compiling. I didn't make the connection that it would be used for configuration testing, so that solves my confusion.
config.log:
configure:15758: x86_64-pc-linux-gnu-gcc -o conftest -mtune=generic -O2 -pipe -std=c89  -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs conftest.c  >&5
configure:15758: $? = 0
configure:15758: ./conftest
configure:15758: $? = 0
configure:15769: result: no
configure:15791: checking platform dependencies
configure:15882: checking for string.h
configure:15882: result: yes
configure:15882: checking for strings.h
configure:15882: result: yes
configure:15882: checking db.h usability
configure:15882: x86_64-pc-linux-gnu-gcc -c -mtune=generic -O2 -pipe -std=c89  conftest.c >&5
In file included from /usr/include/db.h:10,
                 from conftest.c:61:
/usr/include/x86_64-pc-linux-gnu/db5.3/db.h:1098:9: error: unknown type name 'u_int'; did you mean 'int'?
 1098 |         u_int port;
      |         ^~~~~
      |         int
/usr/include/x86_64-pc-linux-gnu/db5.3/db.h:2369:9: error: unknown type name 'u_int'; did you mean 'int'?
 2369 |         u_int           mp_ncache;      /* Initial number of cache regions */
      |         ^~~~~
      |         int
/usr/include/x86_64-pc-linux-gnu/db5.3/db.h:2583:17: error: unknown type name 'u_int'; did you mean 'int'?
 2583 |                 __P((DB_ENV *, const char *, u_int, DB_SITE**, u_int32_t));
      |                 ^~~
/usr/include/x86_64-pc-linux-gnu/db5.3/db.h:2585:34: error: unknown type name 'u_int'; did you mean 'int'?
 2585 |         int  (*repmgr_site_list) __P((DB_ENV *, u_int *, DB_REPMGR_SITE **));
      |                                  ^~~
/usr/include/x86_64-pc-linux-gnu/db5.3/db.h:2712:9: error: unknown type name 'u_int'; did you mean 'int'?
 2712 |         u_int port;
      |         ^~~~~
      |         int
/usr/include/x86_64-pc-linux-gnu/db5.3/db.h:2716:28: error: unknown type name 'u_int'; did you mean 'int'?
 2716 |         int (*get_address) __P((DB_SITE *, const char **, u_int *));
      |                            ^~~
/usr/include/x86_64-pc-linux-gnu/db5.3/db.h:3072:27: error: unknown type name 'u_long'; did you mean 'long'?
 3072 | int db_env_set_func_yield __P((int (*)(u_long, u_long)));
      |                           ^~~
/usr/include/x86_64-pc-linux-gnu/db5.3/db.h:3072:27: error: unknown type name 'u_long'; did you mean 'long'?
 3072 | int db_env_set_func_yield __P((int (*)(u_long, u_long)));
      |                           ^~~
configure:15882: $? = 1
configure: failed program was:
Thanks for the help!
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20564

PostPosted: Thu Jan 09, 2025 10:40 pm    Post subject: Reply with quote

Workaround:

Given that jack-audio-connection-kit has
Ralphred wrote:
effectively been replaced by media-sound/jack2 for several years.
I masked jack-audio-connection-kit which allowed a normal update to use jack2 and also uninstall the old version.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
GDH-gentoo
Veteran
Veteran


Joined: 20 Jul 2019
Posts: 1781
Location: South America

PostPosted: Fri Jan 10, 2025 12:21 am    Post subject: Reply with quote

It's good that you were able to work around this.

Looking at your config.log file, the problem, while manifesting as a failure in media-sound/jack-audio-connection-kit's configure phase, seems to actually be in package sys-libs/db, as fedeliallalinea hinted at.
_________________
NeddySeagoon wrote:
I'm not a witch, I'm a retired electronics engineer :)
Ionen wrote:
As a packager I just don't want things to get messier with weird build systems and multiple toolchains requirements though :)
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20564

PostPosted: Fri Jan 10, 2025 9:10 pm    Post subject: Reply with quote

Wow. I either completely missed or completely forgot about fedeliallalinea's question.

For what it's worth:

sys-libs/db-5.3.28-r10:5.3::gentoo

It's not easy to search for, but I'm not seeing any bugs that appear related.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 31408
Location: here

PostPosted: Fri Jan 10, 2025 9:29 pm    Post subject: Reply with quote

pjp wrote:
For what it's worth:

sys-libs/db-5.3.28-r10:5.3::gentoo

Just for completeness of information there is same version here and configure phase pass without problem but in compilation phase fail due to gcc-14.
Code:
evmon.c: In function ‘main’:
evmon.c:114:52: error: passing argument 2 of ‘jack_set_port_rename_callback’ from incompatible pointer type [-Wincompatible-pointer-types]
  114 |         if (jack_set_port_rename_callback (client, port_rename_callback, NULL)) {
      |                                                    ^~~~~~~~~~~~~~~~~~~~
      |                                                    |
      |                                                    void (*)(jack_port_id_t,  const char *, const char *) {aka void (*)(unsigned int,  const char *, const char *)}
In file included from evmon.c:25:
../jack/jack.h:414:36: note: expected ‘JackPortRenameCallback’ {aka ‘void (*)(unsigned int,  const char *, const char *, void *)’} but argument is of type ‘void (*)(jack_port_id_t,  const char *, const char *)’ {aka ‘void (*)(unsigned int,  const char *, const char *)’}
  413 |                                    JackPortRenameCallback
      |                                    ~~~~~~~~~~~~~~~~~~~~~~
  414 |                                    rename_callback, void *arg) JACK_OPTIONAL_WEAK_EXPORT;
      |                                    ^~~~~~~~~~~~~~~
make[3]: *** [Makefile:857: evmon.o] Error 1
make[3]: *** Waiting for unfinished jobs....
tw.c: In function ‘process’:
tw.c:63:9: warning: ‘jack_thread_wait’ is deprecated [-Wdeprecated-declarations]
   63 |         while ((nframes = jack_thread_wait (client, _process (nframes))) != 0);
      |         ^~~~~
In file included from tw.c:13:
../jack/jack.h:223:16: note: declared here
  223 | jack_nframes_t jack_thread_wait (jack_client_t*, int status) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
      |                ^~~~~~~~~~~~~~~~

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20564

PostPosted: Fri Jan 10, 2025 10:05 pm    Post subject: Reply with quote

I'm recompiling firefox currently, but I'll check again.

I believe I added that package to use my env/std-c89.conf file to avoid that kind of failure. "Wincompatible-pointer-types" was also what I was seeing for aumix.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
Ralphred
l33t
l33t


Joined: 31 Dec 2013
Posts: 696

PostPosted: Fri Jan 10, 2025 11:51 pm    Post subject: Reply with quote

Because the thread is still alive:
pjp wrote:
mpd with jack expects jack? ( virtual/jack ) and virtual/jack is fine with any of jack2, jack-audio-connection-kit, or pipewire. I guess for now I'll just disable jack until the next time it sounds like a Good Idea.
Yeah, jack (jack-audio-connection-kit, it got renamed because of what is now media-sound/jack. Actually jack2 used be a slotted version of jack, IIRC), and jack2 work fine.
Pipewire will work fine if the right USE flags are set, I'd like to assume the mpd ebuild forces this, but if it doesn't pipewire has two "jack related" USE flags:
  • jack-sdk
    this allows pipewire to act as a "jack server" and allow jack enabled/aware clients to connect to it
  • jack-client
    this allows pipewire to act as a "jack client"* and use a separate "jack server" as a source of sinks/sources
    *with judicious use of the "jack_tunnel" module
The two USE flags are mutually exclusive, unless you have a reason to run jack[2] as intended (read: connected directly to ALSA hardware) just use the jack-sdk flag.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum