Opened 5 months ago
Last modified 3 months ago
#69790 assigned defect
pulseaudio @17.0_0: error: incompatible function pointer types passing 'int (const struct dirent *)' to parameter of type 'int (*)(struct dirent *)' [-Wincompatible-function-pointer-types]
Reported by: | RobK88 | Owned by: | Ionic (Mihai Moldovan) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.9.3 |
Keywords: | lion | Cc: | RobK88, cooljeanius (Eric Gallager) |
Port: | pulseaudio |
Description
Pulseaudio @17.0_0 fails to build on Lion.
---> Computing dependencies for pulseaudio ---> Fetching archive for pulseaudio ---> Attempting to fetch pulseaudio-17.0_0+x11.darwin_11.x86_64.tbz2 from http://packages.macports.org/pulseaudio ---> Attempting to fetch pulseaudio-17.0_0+x11.darwin_11.x86_64.tbz2 from http://mirror.fcix.net/macports/packages/pulseaudio ---> Attempting to fetch pulseaudio-17.0_0+x11.darwin_11.x86_64.tbz2 from http://ywg.ca.packages.macports.org/mirror/macports/packages/pulseaudio ---> Fetching distfiles for pulseaudio ---> Attempting to fetch pulseaudio-17.0.tar.xz from http://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/local/var/macports/logs/_opt_local_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 if you believe there is a bug.
See attached main.log
Attachments (1)
Change History (8)
Changed 5 months ago by RobK88
comment:1 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | Ionic removed |
---|---|
Owner: | set to Ionic |
Status: | new → assigned |
Summary: | Pulseaudio @17.0_0 Fails to Build on Lion → pulseaudio @17.0_0: error: incompatible function pointer types passing 'int (const struct dirent *)' to parameter of type 'int (*)(struct dirent *)' [-Wincompatible-function-pointer-types] |
The log says the problem is:
../pulseaudio-17.0/src/pulsecore/conf-parser.c:268:41: error: incompatible function pointer types passing 'int (const struct dirent *)' to parameter of type 'int (*)(struct dirent *)' [-Wincompatible-function-pointer-types] n = scandir(dir_name, &entries, conf_filter, alphasort); ^~~~~~~~~~~ /usr/include/dirent.h:129:11: note: passing argument to parameter here int (*)(struct dirent *), int (*)(const void *, const void *)) __DARWIN_INODE64(scandir); ^ 1 error generated.
comment:2 Changed 5 months ago by RobK88
Here is a workaround until this port is fixed:
bash-3.2$ sudo port clean pulseaudio ---> Cleaning pulseaudio bash-3.2$ bash-3.2$ sudo port -v upgrade pulseaudio configure.compiler=macports-clang-11 etc ---> Cleaning pulseaudio ---> Removing work directory for pulseaudio ---> Updating database of binaries ---> Scanning binaries for linking errors
Note: pulseaudio
@17.0_0 does NOT build on Lion using clang-16
since clang-16
is too strict. pulseaudio
does build using clang-11
. I suspect it also builds using clang-15
but I have not tried that.
comment:3 Changed 5 months ago by RobK88
Cc: | RobK88 added |
---|
comment:4 Changed 4 months ago by RobK88
Same problem with pulseaudio @17.0_1
on Lion.
But the same workaround using an older compiler still works. See below:
bash-3.2$ sudo port clean pulseaudio ---> Cleaning pulseaudio bash-3.2$ bash-3.2$ bash-3.2$ sudo port upgrade pulseaudio configure.compiler=macports-clang-11 ---> Computing dependencies for pulseaudio ---> Fetching archive for pulseaudio ---> Attempting to fetch pulseaudio-17.0_1+x11.darwin_11.x86_64.tbz2 from http://packages.macports.org/pulseaudio ---> Attempting to fetch pulseaudio-17.0_1+x11.darwin_11.x86_64.tbz2 from http://ywg.ca.packages.macports.org/mirror/macports/packages/pulseaudio ---> Attempting to fetch pulseaudio-17.0_1+x11.darwin_11.x86_64.tbz2 from http://mirror.fcix.net/macports/packages/pulseaudio ---> Fetching distfiles for pulseaudio ---> Verifying checksums for pulseaudio ---> Extracting pulseaudio ---> Applying patches to pulseaudio ---> Configuring pulseaudio ---> Building pulseaudio ---> Staging pulseaudio into destroot ---> Installing pulseaudio @17.0_1+x11 ---> Cleaning pulseaudio ---> Computing dependencies for pulseaudio ---> Deactivating pulseaudio @17.0_0+x11 ---> Cleaning pulseaudio ---> Activating pulseaudio @17.0_1+x11 ---> Cleaning pulseaudio ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found. bash-3.2$
comment:6 Changed 4 months ago by RobK88
@ryandesign - Thanks for pointing out the solution. I will see if I can fix geany
first. Then I will look at pulseaudio
unless @Ionic fixes it first.
comment:7 Changed 3 months ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
Note: See
TracTickets for help on using
tickets.
main.log