Opened 4 years ago

Closed 4 years ago

#61107 closed defect (fixed)

pulseaudio @13.0: error: implicit declaration of function 'pa_thread_make_realtime' is invalid in C99

Reported by: cgilles (HumanDynamo) Owned by: Ionic (Mihai Moldovan)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: chrstphrchvz (Christopher Chavez), michaelld (Michael Dickens)
Port: pulseaudio

Description

--->  Building xorg-libXtst
--->  Staging xorg-libXtst into destroot
--->  Installing xorg-libXtst @1.2.3_1
--->  Activating xorg-libXtst @1.2.3_1
--->  Cleaning xorg-libXtst
--->  Fetching distfiles for pulseaudio
--->  Attempting to fetch pulseaudio-13.0.tar.xz from https://distfiles.macports.org/pulseaudio
--->  Verifying checksums for pulseaudio
--->  Extracting pulseaudio
--->  Applying patches to pulseaudio
--->  Configuring pulseaudio
--->  Building pulseaudio
Error: Failed to build pulseaudio: command execution failed
Error: See /opt/digikam/var/macports/logs/_opt_digikam_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port qt5-qtwebengine failed
FAILED COMMAND: port install qt5-qtwebengine
FAILED COMMAND: ./01-build-macports.sh

Attachments (1)

main.log.zip (41.3 KB) - added by cgilles (HumanDynamo) 4 years ago.
PulseAudio compilation log (zip)

Download all attachments as: .zip

Change History (13)

Changed 4 years ago by cgilles (HumanDynamo)

Attachment: main.log.zip added

PulseAudio compilation log (zip)

comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: PulseAudio removed
Owner: set to Ionic
Port: pulseaudio added
Status: newassigned
Summary: PulseAudio 13.0 compilation is broken under MacOS 10.15.6 and Xcode 11.6 (11E708)pulseaudio @13.0: error: implicit declaration of function 'pa_thread_make_realtime' is invalid in C99

The error in the log is:

error: implicit declaration of function 'pa_thread_make_realtime' is invalid in C99

Implicit function declarations should only be a warning in Xcode 11 and earlier. They will be an error rather than a warning as of Xcode 12. This makes me suspect you have installed the Xcode 12 beta command line tools. Yes we should fix this but if you want to avoid these problems for now, downgrade to the latest Xcode 11 command line tools.

comment:2 Changed 4 years ago by cgilles (HumanDynamo)

Hi Ryan,

This is what i suspected too. In fact i never installed a beta version of Apple tool on my Macbook. I only want to use stable version, as this computer is only use in production.

I suspect that Apple push the beta version by error on the AppleStore, that a caught while updating XCode.

How to check the CLT version installed exactly ? How uninstall the beta in favor to the stable release ?

Thanks in advance

Best regards

Gilles Caulier

comment:3 Changed 4 years ago by cgilles (HumanDynamo)

It's confirmed. I install XCode 11 and CLT working with this version, and, PulseAudio compile fine now.

I'm sure to not upgrade XCode and CLT to a beta version on my production computer. I only use official AppStore updates. Sound like Apple push a beta version in the space and i installed this update without to double check.

This file can be closed.

Gilles Caulier

comment:4 Changed 4 years ago by cgilles (HumanDynamo)

Ryan,

It's confirmed. Apple push a beta release of CLI over system update. Look my screenshot taken today after to have reverse back to an older stable version of XCode + CLT on this computer.

https://i.imgur.com/gaoct6Z.png

There is no reason for that. Only stable release must be available here. Fr me it's clear : it's a bug from Apple or it's a volumntary policy to force users to test this premature version in production.

Macports must be warn about to use non supported version of XCode and CLT before to compile a package, to prevent side effects.

Best

Gilles Caulier

comment:5 Changed 4 years ago by kencu (Ken)

is your system still registered as a beta test system?

comment:6 Changed 4 years ago by cgilles (HumanDynamo)

Hi Ken,

Of course no... I only have a Apple developer account to be able to get and install Xcode DMG image, that all. I never test MacOS system or application on this computer, it's a production machine...

I'm not payed by Apple to do this kind of job. I develop opensource desktop application (digiKam) which is not uploaded in Apple Store. I don't develop for Iphone, Ipad.

So for me, this kind of situation is a time latency policy. I lost one week with a lots of compilation failure before to understand that Apple force beta use by error (i hope)

Gilles Caulier

comment:7 Changed 4 years ago by rseichter (Ralph Seichter)

I had a look at the Pulseaudio source code, and it turns out that it is an upstream bug that can be fixed by adding a single import statement. I have submitted https://github.com/macports/macports-ports/pull/8386 with a patch that fixes the problem.

comment:8 Changed 4 years ago by chrstphrchvz (Christopher Chavez)

I reproduced this failure with Xcode 12 beta 5 command line tools.

@rseichter has opened an issue and submitted a patch upstream: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/982 https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/365

comment:9 Changed 4 years ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:10 Changed 4 years ago by michaelld (Michael Dickens)

I've reproduce this too, and it's the correct fix. Thx for the upstream PR to fix it.

comment:11 Changed 4 years ago by michaelld (Michael Dickens)

Cc: michaelld added

comment:12 Changed 4 years ago by rseichter (Ralph Seichter)

Resolution: fixed
Status: assignedclosed

In 858cd41f54b2e8e74c71e9a3b48e4b3458cd8eab/macports-ports (master):

pulseaudio: fix missing util.h import

This commit adds a patch which addresses an upstream bug, i.e. the
missing import of util.h, which causes a compilation failure with
Xcode 12 command line tools.

Fixes: #61107

Signed-off-by: Ralph Seichter <macports@…>

Note: See TracTickets for help on using tickets.