Opened 2 weeks ago

Last modified 23 hours 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
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)

main.log (50.4 KB) - added by RobK88 2 weeks ago.
main.log

Download all attachments as: .zip

Change History (6)

Changed 2 weeks ago by RobK88

Attachment: main.log added

main.log

comment:1 Changed 2 weeks ago by ryandesign (Ryan Carsten Schmidt)

Cc: Ionic removed
Owner: set to Ionic
Status: newassigned
Summary: Pulseaudio @17.0_0 Fails to Build on Lionpulseaudio @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 2 weeks 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.

Last edited 2 weeks ago by RobK88 (previous) (diff)

comment:3 Changed 12 days ago by RobK88

Cc: RobK88 added

comment:4 Changed 28 hours 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:5 Changed 23 hours ago by ryandesign (Ryan Carsten Schmidt)

Note: See TracTickets for help on using tickets.