#50594 closed defect (fixed)
mythtv-core.27 @0.27.5-Fixes-20160122_1: opportunistically links with pulseaudio despite configuration to the contrary
Reported by: | dbevans (David B. Evans) | Owned by: | ctreleaven (Craig Treleaven) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | mythtv-core.27 |
Description
It appears that the latest version of mythtv-core.27 will link with libpulse from port pulseaudio, if it is available at build time, in spite of the use of configuration items
--disable-audio-pulseoutput \ --disable-libpulse \
and configuration output
:info:configure # Sound Output Support :info:configure PulseAudio support no :info:configure OSS support no :info:configure ALSA support no :info:configure JACK support no
to the contrary.
This can be seen throughout the build log as in this example (look for -lpulse)
:info:build /usr/bin/clang++ -c -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -fomit-frame-pointer -fPIC -g -Wall -Wpointer-arith -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Wno-self-assign -Wno-constant-logical-operand -Wno-unused-value -Qunused-arguments -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.10 -DMMX -DUSING_APPLEREMOTE -D_GNU_SOURCE -DUSING_OPENGL -DUSING_OPENGL_VIDEO -DUSING_PULSE -DUSING_COREAUDIO -DUSING_LIBDNS_SD -DUSING_AIRPLAY -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/local/libexec/qt4/share/mkspecs/macx-g++ -I. -I. -I/opt/local/libexec/qt4/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtOpenGL.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtXml.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtSql.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtScript.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/usr/include -I/opt/local -I/opt/local/include/libxml2 -I../../external/qjson/include -I../.. -I../../libs -I../../libs/libmyth -I../../libs/libmyth/audio -I../../libs/libmythtv -I../../external/FFmpeg -I../../libs/libmythupnp -I../../libs/libmythui -I../../libs/libmythmetadata -I../../libs/libmythlivemedia -I../../libs/libmythbase -I../../libs/libmythdvdnav -I../../external/libmythbluray -I../../external/libsamplerate -I../../libs/libmythtv/mpeg -I../../libs/libmythtv/vbitext -I../../libs/libmythservicecontracts -I../../libs/libmythprotoserver -I/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/System/Library/Frameworks/AGL.framework/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtWebKit.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtScript.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtSql.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtXml.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtOpenGL.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtNetwork.framework/Versions/4/Headers -I/opt/local/libexec/qt4/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/opt/local/libexec/qt4/include -F/opt/local/libexec/qt4/Library/Frameworks -F/opt/local/libexec/qt4/lib -o moc_frontend.o moc_frontend.cpp :info:build /usr/bin/clang++ -headerpad_max_install_names -Wl,-dynamic,-search_paths_first -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.10 -o mythfrontend main.o playbackbox.o viewscheduled.o audiogeneralsettings.o globalsettings.o manualschedule.o programrecpriority.o channelrecpriority.o statusbox.o networkcontrol.o mediarenderer.o mythfexml.o playbackboxlistitem.o custompriority.o exitprompt.o action.o actionset.o mythcontrols.o keybindings.o keygrabber.o progfind.o guidegrid.o customedit.o schedulecommon.o progdetails.o scheduleeditor.o backendconnectionmanager.o programinfocache.o proglist.o proglist_helpers.o playbackboxhelper.o viewschedulediff.o themechooser.o setupwizard_general.o setupwizard_audio.o setupwizard_video.o grabbersettings.o editvideometadata.o videofileassoc.o videometadatasettings.o videoplayercommand.o videopopups.o videofilter.o videolist.o videoplayersettings.o videodlg.o videoglobalsettings.o upnpscanner.o commandlineparser.o idlescreen.o frontend.o moc_playbackbox.o moc_viewscheduled.o moc_globalsettings.o moc_audiogeneralsettings.o moc_manualschedule.o moc_programrecpriority.o moc_channelrecpriority.o moc_statusbox.o moc_networkcontrol.o moc_custompriority.o moc_exitprompt.o moc_mythcontrols.o moc_keygrabber.o moc_progfind.o moc_guidegrid.o moc_customedit.o moc_schedulecommon.o moc_progdetails.o moc_scheduleeditor.o moc_backendconnectionmanager.o moc_proglist.o moc_proglist_helpers.o moc_viewschedulediff.o moc_themechooser.o moc_setupwizard_general.o moc_setupwizard_audio.o moc_setupwizard_video.o moc_grabbersettings.o moc_editvideometadata.o moc_videofileassoc.o moc_videometadatasettings.o moc_videopopups.o moc_videofilter.o moc_videoplayersettings.o moc_videodlg.o moc_upnpscanner.o moc_idlescreen.o moc_frontend.o -F/opt/local/libexec/qt4/Library/Frameworks -F/opt/local/libexec/qt4/lib -L../../libs/libmyth -L../../libs/libmythtv -L../../external/FFmpeg/libavutil -L../../external/FFmpeg/libavcodec -L../../external/FFmpeg/libavformat -L../../external/FFmpeg/libswscale -L../../external/FFmpeg/libswresample -L../../libs/libmythbase -L../../libs/libmythui -L../../libs/libmythupnp -L../../libs/libmythmetadata -L../../libs/libmythservicecontracts -L../../libs/libmythprotoserver -lmythswscale -lmythavformat -lmythavcodec -lmythavutil -lmythswresample -lmythtv-0.27 -lmythupnp-0.27 -lmythbase-0.27 -lmythui-0.27 -lmyth-0.27 -lmythmetadata-0.27 -lmythservicecontracts-0.27 -lmythprotoserver-0.27 -L../../libs/libmythfreemheg -lmythfreemheg-0.27 -L../../external/libhdhomerun -lmythhdhomerun-0.27 -framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore -lxml2 -lcrypto -lass -lfftw3_threads -lfftw3f -lfftw3 -liconv -lpulse -L/opt/local/lib -lfreetype -lx264 -lmp3lame -lfaac -lm -lbz2 -lz -L/opt/local/var/macports/build/_opt_macports_trunk_dports_multimedia_mythtv.27/mythtv-core.27/work/mythtv-5e18f50d/mythtv/external/qjson/lib -lmythqjson -framework OpenGL -framework AGL -F/opt/local/libexec/qt4/Library/Frameworks -F/opt/local/libexec/qt4/lib -L/opt/local/libexec/qt4/lib -framework QtWebKit -framework QtScript -F/opt/local/Library/Frameworks -framework QtCore -framework QtSql -framework QtXml -framework QtOpenGL -framework QtGui -framework QtNetwork
or by deactivating pulseaudio after the install and running rev-upgrade like this
$ sudo port install pulseaudio $ sudo port install mythtv-core.27 $ sudo port deactivate pulseaudio $ sudo port rev-upgrade $ sudo port -d rev-upgrade ---> Scanning binaries for linking errors DEBUG: Ignoring loadcommand containing @executable_path in /opt/local/libexec/ld64/ld-latest Could not open /opt/local/lib/libpulse.0.dylib: Error opening or reading file (referenced from /opt/local/bin/mythavtest) DEBUG: Marking /opt/local/bin/mythavtest as broken DEBUG: Marking /opt/local/bin/mythbackend as broken DEBUG: Marking /opt/local/bin/mythccextractor as broken DEBUG: Marking /opt/local/bin/mythcommflag as broken DEBUG: Marking /opt/local/bin/mythffmpeg as broken DEBUG: Marking /opt/local/bin/mythffprobe as broken DEBUG: Marking /opt/local/bin/mythffserver as broken DEBUG: Marking /opt/local/bin/mythfilldatabase as broken DEBUG: Marking /opt/local/bin/mythfrontend as broken DEBUG: Marking /opt/local/bin/mythjobqueue as broken DEBUG: Marking /opt/local/bin/mythlcdserver as broken DEBUG: Marking /opt/local/bin/mythmediaserver as broken DEBUG: Marking /opt/local/bin/mythmetadatalookup as broken DEBUG: Marking /opt/local/bin/mythpreviewgen as broken DEBUG: Marking /opt/local/bin/mythreplex as broken DEBUG: Marking /opt/local/bin/mythscreenwizard as broken DEBUG: Marking /opt/local/bin/mythshutdown as broken DEBUG: Marking /opt/local/bin/mythtranscode as broken DEBUG: Marking /opt/local/bin/mythtv-setup as broken DEBUG: Marking /opt/local/bin/mythutil as broken DEBUG: Marking /opt/local/bin/mythwelcome as broken DEBUG: Marking /opt/local/lib/libmyth-0.27.0.27.0.dylib as broken DEBUG: Marking /opt/local/lib/libmythavcodec.54.92.100.dylib as broken DEBUG: Marking /opt/local/lib/libmythavdevice.54.3.103.dylib as broken DEBUG: Marking /opt/local/lib/libmythavfilter.3.42.103.dylib as broken DEBUG: Marking /opt/local/lib/libmythavformat.54.63.104.dylib as broken DEBUG: Marking /opt/local/lib/libmythavutil.52.18.100.dylib as broken DEBUG: Marking /opt/local/lib/libmythbase-0.27.0.27.0.dylib as broken DEBUG: Marking /opt/local/lib/libmythfreemheg-0.27.0.27.0.dylib as broken DEBUG: Marking /opt/local/lib/libmythmetadata-0.27.0.27.0.dylib as broken DEBUG: Marking /opt/local/lib/libmythpostproc.52.2.100.dylib as broken DEBUG: Marking /opt/local/lib/libmythprotoserver-0.27.0.27.0.dylib as broken DEBUG: Marking /opt/local/lib/libmythservicecontracts-0.27.0.27.0.dylib as broken DEBUG: Marking /opt/local/lib/libmythswresample.0.17.102.dylib as broken DEBUG: Marking /opt/local/lib/libmythswscale.2.2.100.dylib as broken DEBUG: Marking /opt/local/lib/libmythtv-0.27.0.27.0.dylib as broken DEBUG: Marking /opt/local/lib/libmythui-0.27.0.27.0.dylib as broken DEBUG: Marking /opt/local/lib/libmythupnp-0.27.0.27.0.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libadjust.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libbobdeint.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libcrop.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libdenoise3d.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libfieldorder.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libforce.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libinvert.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libivtc.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libkerneldeint.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/liblinearblend.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libonefield.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libpostprocess.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libquickdnr.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libvflip.dylib as broken DEBUG: Marking /opt/local/lib/mythtv/filters/libyadif.dylib as broken ---> Found 53 broken file(s), matching files to ports ---> Found 1 broken port(s): mythtv-core.27 @0.27.5-Fixes-20160122 /opt/local/bin/mythavtest /opt/local/bin/mythbackend /opt/local/bin/mythccextractor /opt/local/bin/mythcommflag /opt/local/bin/mythffmpeg /opt/local/bin/mythffprobe /opt/local/bin/mythffserver /opt/local/bin/mythfilldatabase /opt/local/bin/mythfrontend /opt/local/bin/mythjobqueue /opt/local/bin/mythlcdserver /opt/local/bin/mythmediaserver /opt/local/bin/mythmetadatalookup /opt/local/bin/mythpreviewgen /opt/local/bin/mythreplex /opt/local/bin/mythscreenwizard /opt/local/bin/mythshutdown /opt/local/bin/mythtranscode /opt/local/bin/mythtv-setup /opt/local/bin/mythutil /opt/local/bin/mythwelcome /opt/local/lib/libmyth-0.27.0.27.0.dylib /opt/local/lib/libmythavcodec.54.92.100.dylib /opt/local/lib/libmythavdevice.54.3.103.dylib /opt/local/lib/libmythavfilter.3.42.103.dylib /opt/local/lib/libmythavformat.54.63.104.dylib /opt/local/lib/libmythavutil.52.18.100.dylib /opt/local/lib/libmythbase-0.27.0.27.0.dylib /opt/local/lib/libmythfreemheg-0.27.0.27.0.dylib /opt/local/lib/libmythmetadata-0.27.0.27.0.dylib /opt/local/lib/libmythpostproc.52.2.100.dylib /opt/local/lib/libmythprotoserver-0.27.0.27.0.dylib /opt/local/lib/libmythservicecontracts-0.27.0.27.0.dylib /opt/local/lib/libmythswresample.0.17.102.dylib /opt/local/lib/libmythswscale.2.2.100.dylib /opt/local/lib/libmythtv-0.27.0.27.0.dylib /opt/local/lib/libmythui-0.27.0.27.0.dylib /opt/local/lib/libmythupnp-0.27.0.27.0.dylib /opt/local/lib/mythtv/filters/libadjust.dylib /opt/local/lib/mythtv/filters/libbobdeint.dylib /opt/local/lib/mythtv/filters/libcrop.dylib /opt/local/lib/mythtv/filters/libdenoise3d.dylib /opt/local/lib/mythtv/filters/libfieldorder.dylib /opt/local/lib/mythtv/filters/libforce.dylib /opt/local/lib/mythtv/filters/libinvert.dylib /opt/local/lib/mythtv/filters/libivtc.dylib /opt/local/lib/mythtv/filters/libkerneldeint.dylib /opt/local/lib/mythtv/filters/liblinearblend.dylib /opt/local/lib/mythtv/filters/libonefield.dylib /opt/local/lib/mythtv/filters/libpostprocess.dylib /opt/local/lib/mythtv/filters/libquickdnr.dylib /opt/local/lib/mythtv/filters/libvflip.dylib /opt/local/lib/mythtv/filters/libyadif.dylib
I'm not sure what the cause is but I'm guessing that it's sneaking into the build of mythtv's private copy of ffmpeg (libmythav*.dylib) and being propagated from there throughout the port where ever these libraries are used.
Build log attached.
Attachments (1)
Change History (6)
Changed 9 years ago by dbevans (David B. Evans)
comment:1 Changed 9 years ago by dbevans (David B. Evans)
Owner: | changed from cctreleaven@… to ctreleaven@… |
---|
comment:2 follow-up: 3 Changed 9 years ago by ctreleaven (Craig Treleaven)
Part of me just wants to add it to conflicts_build, but I'll take a look.
Thanks for the work you've already put in.
comment:3 Changed 9 years ago by dbevans (David B. Evans)
Replying to ctreleaven@…:
Part of me just wants to add it to conflicts_build, but I'll take a look.
That's not really appropriate. The idea is to get it to build the same way regardless of what's already installed so the easy way would be to add pulseaudio as a dependency.
Thanks for the work you've already put in.
No problem. I ran across it testing dependencies of x264 after the update yesterday.
comment:4 Changed 9 years ago by ctreleaven (Craig Treleaven)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in r145627 -- also prevent linking to liboss at the same time.
Build log showing linking with libpulse