I get linking error like
$ g++ -o yyy atomic.cpp --std=c++11
/tmp/ccLVp09P.o: In function `std::atomic<std::shared_ptr<int> >::load(std::memory_order) const':
atomic.cpp:(.text._ZNKSt6atomicISt10shared_ptrIiEE4loadESt12memory_order[_ZNKSt6atomicISt10shared_ptrIiEE4loadESt12memory_order]+0x37): undefined reference to `__atomic_load_16'
collect2: error: ld returned 1 exit status
for code below
#include <iostream>
#include <atomic>
#include <memory>
int main () {
std::atomic<std::shared_ptr<int>> foo (std::shared_ptr<int>(new int(10)));
std::cout << "foo: " << *foo.load() << '\n';
}
Environment:
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.9.2-0ubuntu1~14.04' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.2 (Ubuntu 4.9.2-0ubuntu1~14.04)
Strange thing that when I build 32-bit version g++ -o yyy atomic.cpp --std=c++11 -m32 everything works fine
It looks like some problem with my compiler/linker how to analyze and solve it?
Related
I just upgraded gcc form 7.5 to 9.3 and started to have gcc linker segfaults - but only on armv7 target (the same all sources are building/linking OK for aarch64/x86_64 targets).
Segfault is in lto-wrapper - but I disabled LTO so I'm a bit confused....
here is gcc linking output:
armv7a-minimyth-linux-gnueabihf-g++ -v -Wl,-O1 -Wl,-rpath,/usr/lib/qt5/lib -Wl,-rpath,/usr/lib/qt5/lib -shared -Wl,-soname,libmythtv-32.so.32 -o libmythtv-32.so.32.0.0 obj/cc.o obj/vbi.o obj/lang.o obj/recordinginfo.o obj/dbcheck.o obj/videodbcheck.o obj/tvremoteutil.o obj/tv.o obj/jobqueue.o obj/recordingprofile.o obj/remoteencoder.o obj/videosource.o obj/cardutil.o obj/sourceutil.o obj/videometadatautil.o obj/vbi608extractor.o obj/cc608decoder.o obj/cc608reader.o obj/cc708decoder.o obj/cc708reader.o obj/cc708window.o obj/subtitlereader.o obj/scheduledrecording.o obj/signalmonitorvalue.o obj/livetvchain.o obj/playgroup.o obj/channelsettings.o obj/previewgenerator.o obj/previewgeneratorqueue.o obj/transporteditor.o obj/channelgroup.o obj/recordingrule.o obj/mythsystemevent.o obj/mythmediabuffer.o obj/mythavformatbuffer.o obj/mythfilebuffer.o obj/mythstreamingbuffer.o obj/mythinteractivebuffer.o obj/mythopticalbuffer.o obj/metadataimagehelper.o obj/mythframe.o obj/mythavutil.o obj/recordingfile.o obj/diseqc.o obj/diseqcsettings.o obj/mythmediawriter.o obj/mythavformatwriter.o obj/mythfifowriter.o obj/teletextdecoder.o obj/teletextreader.o obj/vbilut.o obj/tspacket.o obj/pespacket.o obj/mpegtables.o obj/atsctables.o obj/dvbtables.o obj/premieretables.o obj/sctetables.o obj/mpegstreamdata.o obj/atscstreamdata.o obj/dvbstreamdata.o obj/scanstreamdata.o obj/mpegdescriptors.o obj/atscdescriptors.o obj/dvbdescriptors.o obj/sctedescriptors.o obj/splicedescriptors.o obj/dishdescriptors.o obj/premieredescriptors.o obj/atsc_huffman.o obj/freesat_huffman.o obj/iso6937tables.o obj/H264Parser.o obj/tablestatus.o obj/tsstreamdata.o obj/frequencies.o obj/frequencytables.o obj/channelutil.o obj/channelinfo.o obj/dtvmultiplex.o obj/dtvconfparser.o obj/dtvconfparserhelpers.o obj/scaninfo.o obj/channelimporter.o obj/iptvchannelfetcher.o obj/srtwriter.o obj/mythdvdbuffer.o obj/mythdvdcontext.o obj/mythdvdinfo.o obj/mythdvdstream.o obj/mythdvdplayer.o obj/mythdvddecoder.o obj/mythbdiowrapper.o obj/mythbdbuffer.o obj/mythbdinfo.o obj/mythbdoverlay.o obj/mythbdplayer.o obj/mythbddecoder.o obj/mythbdoverlayscreen.o obj/httplivestream.o obj/httplivestreambuffer.o obj/m3u.o obj/profilegroup.o obj/tv_play.o obj/mythplayer.o obj/audioplayer.o obj/mythccextractorplayer.o obj/teletextextractorreader.o obj/playercontext.o obj/tv_play_win.o obj/deletemap.o obj/mythcommflagplayer.o obj/commbreakmap.o obj/tvbrowsehelper.o obj/netstream.o obj/mythiowrapper.o obj/textsubtitleparser.o obj/xine_demux_sputext.o obj/decoderbase.o obj/nuppeldecoder.o obj/avformatdecoder.o obj/privatedecoder.o obj/mythcodeccontext.o obj/osd.o obj/teletextscreen.o obj/subtitlescreen.o obj/interactivescreen.o obj/mythvideoout.o obj/mythvideooutnull.o obj/videobuffers.o obj/jitterometer.o obj/videodisplayprofile.o obj/mythcodecid.o obj/videooutwindow.o obj/videocolourspace.o obj/videovisual.o obj/mythdeinterlacer.o obj/mythvaapicontext.o obj/mythdrmprimecontext.o obj/mythopenglvideo.o obj/mythvideooutopengl.o obj/mythopenglinterop.o obj/mythvideotexture.o obj/mythopengltonemap.o obj/mythvaapiinterop.o obj/mythvaapiglxinterop.o obj/mythdrmprimeinterop.o obj/mythegldmabuf.o obj/mythvaapidrminterop.o obj/filters.o obj/goom_core.o obj/graphic.o obj/tentacle3d.o obj/ifs.o obj/ifs_display.o obj/lines.o obj/surf3d.o obj/zoom_filter_mmx.o obj/zoom_filter_xmmx.o obj/videovisualgoom.o obj/DetectLetterbox.o obj/mythairplayserver.o obj/mythraopdevice.o obj/mythraopconnection.o obj/dsmcc.o obj/dsmcccache.o obj/dsmccbiop.o obj/dsmccobjcarousel.o obj/mhegic.o obj/interactivetv.o obj/mhi.o obj/channelbase.o obj/dtvchannel.o obj/signalmonitor.o obj/dtvsignalmonitor.o obj/inputinfo.o obj/scanwizard.o obj/channelscan_sm.o obj/channelscanner.o obj/channelscanner_gui.o obj/channelscanner_gui_scan_pane.o obj/channelscanner_cli.o obj/frequencytablesetting.o obj/inputselectorsetting.o obj/multiplexsetting.o obj/paneanalog.o obj/scanmonitor.o obj/scanwizardconfig.o obj/externrecscanner.o obj/eithelper.o obj/eitscanner.o obj/eitfixup.o obj/eitcache.o obj/programdata.o obj/tv_rec.o obj/recordingquality.o obj/recorderbase.o obj/DeviceReadBuffer.o obj/dtvrecorder.o obj/importrecorder.o obj/RTjpegN.o obj/audioinput.o obj/audioinputalsa.o obj/audioinputoss.o obj/v4lrecorder.o obj/v4l2util.o obj/v4lchannel.o obj/analogsignalmonitor.o obj/v4l2encrecorder.o obj/v4l2encstreamhandler.o obj/v4l2encsignalmonitor.o obj/mythv4l2m2mcontext.o obj/firewirechannel.o obj/firewirerecorder.o obj/firewiresignalmonitor.o obj/firewiredevice.o obj/avcinfo.o obj/linuxfirewiredevice.o obj/linuxavcinfo.o obj/cetonrtsp.o obj/iptvchannel.o obj/iptvrecorder.o obj/iptvsignalmonitor.o obj/iptvstreamhandler.o obj/streamhandler.o obj/packetbuffer.o obj/rtppacketbuffer.o obj/httptsstreamhandler.o obj/hlsstreamhandler.o obj/HLSPlaylistWorker.o obj/HLSReader.o obj/HLSSegment.o obj/HLSStream.o obj/HLSStreamWorker.o obj/vboxutils.o obj/vboxchannelfetcher.o obj/mpegrecorder.o obj/ExternalChannel.o obj/ExternalRecChannelFetcher.o obj/ExternalRecorder.o obj/ExternalStreamHandler.o obj/ExternalSignalMonitor.o obj/dvbtypes.o obj/dvbchannel.o obj/dvbsignalmonitor.o obj/dvbcam.o obj/dvbrecorder.o obj/dvbstreamhandler.o obj/dvbci.o obj/moc_jobqueue.o obj/moc_recordingprofile.o obj/moc_videosource.o obj/moc_playgroup.o obj/moc_channelsettings.o obj/moc_previewgenerator.o obj/moc_previewgeneratorqueue.o obj/moc_transporteditor.o obj/moc_mythsystemevent.o obj/moc_diseqcsettings.o obj/moc_profilegroup.o obj/moc_tv_play.o obj/moc_tv_play_win.o obj/moc_netstream.o obj/moc_osd.o obj/moc_videooutwindow.o obj/moc_videocolourspace.o obj/moc_mythopenglvideo.o obj/moc_mythopenglinterop.o obj/moc_mythopengltonemap.o obj/moc_mythvaapiglxinterop.o obj/moc_mythairplayserver.o obj/moc_mythraopdevice.o obj/moc_mythraopconnection.o obj/moc_mhegic.o obj/moc_scanwizard.o obj/moc_channelscanner_gui.o obj/moc_channelscanner_gui_scan_pane.o obj/moc_inputselectorsetting.o obj/moc_multiplexsetting.o obj/moc_paneatsc.o obj/moc_panedvbutilsimport.o obj/moc_scanmonitor.o obj/moc_scanwizardconfig.o obj/moc_cetonrtsp.o obj/moc_iptvchannel.o obj/moc_iptvstreamhandler.o obj/moc_httptsstreamhandler.o -L/home/piotro/minimyth-dev/images/main/usr/lib -L../../external/libmythdvdnav -lmythdvdnav-32 -L../../external/libudfread -lmythudfread-32 -lva-glx -L../libmyth -L../../external/FFmpeg/libswresample -lmythswresample -L../../external/FFmpeg/libavutil -L../../external/FFmpeg/libavcodec -L../../external/FFmpeg/libavformat -L../../external/FFmpeg/libswscale -L../../external/FFmpeg/libpostproc -L../../external/FFmpeg/libavfilter -L../libmythui -L../libmythupnp -L../libmythbase -L../libmythservicecontracts -lmyth-32 -lmythswscale -lmythavformat -lmythavcodec -lmythavutil -lmythpostproc -lmythavfilter -lmythui-32 -lmythupnp-32 -lmythbase-32 -lmythservicecontracts-32 -L../libmythfreemheg -lmythfreemheg-32 -llzo2 -lXext -lXinerama -lXxf86vm -lXrandr -ldns_sd -lcrypto -lass -lEGL -lva-x11 -lX11 -lva-drm -lva -lasound -lfreetype -ldrm -lxml2 -lm -lz -lbluray -pthread -lsamplerate -lraw1394 -liec61883 -lavc1394 -lrom1394 -ldl -lpthread /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Widgets.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Gui.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Network.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Xml.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Sql.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Core.so -lGLESv2
Using built-in specs.
COLLECT_GCC=armv7a-minimyth-linux-gnueabihf-g++
COLLECT_LTO_WRAPPER=/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/lto-wrapper
Target: armv7a-minimyth-linux-gnueabihf
Configured with: .//../../../work/build_main.d/gcc-9.3.0/configure --prefix=/home/piotro/minimyth-dev/images/build/usr --exec_prefix=/home/piotro/minimyth-dev/images/build/usr --bindir=/home/piotro/minimyth-dev/images/build/usr/bin --sbindir=/home/piotro/minimyth-dev/images/build/usr/sbin --libexecdir=/home/piotro/minimyth-dev/images/build/usr/libexec --datadir=/home/piotro/minimyth-dev/images/build/usr/share --sysconfdir=/home/piotro/minimyth-dev/images/build/etc --sharedstatedir=/home/piotro/minimyth-dev/images/build/usr/share --localstatedir=/home/piotro/minimyth-dev/images/build/var --libdir=/home/piotro/minimyth-dev/images/build/usr/lib --infodir=/home/piotro/minimyth-dev/images/build/usr/info --includedir=/home/piotro/minimyth-dev/images/build/usr/include --oldincludedir=/home/piotro/minimyth-dev/images/build/usr/include --mandir=/home/piotro/minimyth-dev/images/build/usr/share/man --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=armv7a-minimyth-linux-gnueabihf --with-gnu-as --with-gnu-ld --with-local-prefix=/usr --enable-plugin --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ --enable-libatommic --enable-libgomp --enable-gold --enable-ld --disable-libquadmath --disable-libquadmath-support --disable-libada --disable-libssp --enable-lto --disable-multilib --enable-nls --enable-decimal-float --enable-shared --enable-host-shared --enable-threads=posix --enable-version-specific-runtime-libs --with-mpc-include=//home/piotro/minimyth-dev/images/build/usr/include --with-mpc-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-mpfr-include=//home/piotro/minimyth-dev/images/build/usr/include --with-mpfr-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-gmp-include=//home/piotro/minimyth-dev/images/build/usr/include --with-gmp-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-isl-include=//home/piotro/minimyth-dev/images/build/usr/include --with-isl-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-libelf-include=//home/piotro/minimyth-dev/images/build/usr/include --with-libelf-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-sysroot=/home/piotro/minimyth-dev/images/main
Thread model: posix
gcc version 9.3.0 (GCC)
COMPILER_PATH=/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/../../../../armv7a-minimyth-linux-gnueabihf/bin/
LIBRARY_PATH=/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/../../../../armv7a-minimyth-linux-gnueabihf/lib/:/home/piotro/minimyth-dev/images/main/lib/:/home/piotro/minimyth-dev/images/main/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-shared' '-o' 'libmythtv-32.so.32.0.0' '-L/home/piotro/minimyth-dev/images/main/usr/lib' '-L../../external/libmythdvdnav' '-L../../external/libudfread' '-L../libmyth' '-L../../external/FFmpeg/libswresample' '-L../../external/FFmpeg/libavutil' '-L../../external/FFmpeg/libavcodec' '-L../../external/FFmpeg/libavformat' '-L../../external/FFmpeg/libswscale' '-L../../external/FFmpeg/libpostproc' '-L../../external/FFmpeg/libavfilter' '-L../libmythui' '-L../libmythupnp' '-L../libmythbase' '-L../libmythservicecontracts' '-L../libmythfreemheg' '-pthread' '-shared-libgcc' '-mcpu=arm10tdmi' '-mtls-dialect=gnu' '-marm' '-march=armv5t'
/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/collect2 -plugin /home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/liblto_plugin.so -plugin-opt=/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccUX1bUc.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s --sysroot=/home/piotro/minimyth-dev/images/main --eh-frame-hdr -shared -X -m armelf_linux_eabi -o libmythtv-32.so.32.0.0 /home/piotro/minimyth-dev/images/main/usr/lib/crti.o /home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/crtbeginS.o -L/home/piotro/minimyth-dev/images/main/usr/lib -L../../external/libmythdvdnav -L../../external/libudfread -L../libmyth -L../../external/FFmpeg/libswresample -L../../external/FFmpeg/libavutil -L../../external/FFmpeg/libavcodec -L../../external/FFmpeg/libavformat -L../../external/FFmpeg/libswscale -L../../external/FFmpeg/libpostproc -L../../external/FFmpeg/libavfilter -L../libmythui -L../libmythupnp -L../libmythbase -L../libmythservicecontracts -L../libmythfreemheg -L/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0 -L/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/../../../../armv7a-minimyth-linux-gnueabihf/lib -L/home/piotro/minimyth-dev/images/main/lib -L/home/piotro/minimyth-dev/images/main/usr/lib -O1 -rpath /usr/lib/qt5/lib -rpath /usr/lib/qt5/lib -soname libmythtv-32.so.32 obj/cc.o obj/vbi.o obj/lang.o obj/recordinginfo.o obj/dbcheck.o obj/videodbcheck.o obj/httplivestreambuffer.o obj/m3u.o obj/profilegroup.o obj/tv_play.o obj/mythplayer.o obj/audioplayer.o obj/mythccextractorplayer.o obj/teletextextractorreader.o obj/playercontext.o obj/tv_play_win.o obj/deletemap.o obj/mythcommflagplayer.o obj/commbreakmap.o obj/tvbrowsehelper.o obj/netstream.o obj/mythiowrapper.o obj/textsubtitleparser.o obj/xine_demux_sputext.o obj/decoderbase.o obj/nuppeldecoder.o obj/avformatdecoder.o obj/privatedecoder.o obj/ifs_display.o obj/lines.o obj/surf3d.o obj/zoom_filter_mmx.o obj/channelscanner_gui_scan_pane.o obj/channelscanner_cli.o obj/frequencytablesetting.o obj/inputselectorsetting.o obj/multiplexsetting.o obj/paneanalog.o obj/scanmonitor.o obj/scanwizardconfig.o obj/externrecscanner.o obj/eithelper.o obj/eitscanner.o obj/eitfixup.o obj/eitcache.o obj/programdata.o obj/tv_rec.o obj/recordingquality.o obj/recorderbase.o obj/DeviceReadBuffer.o obj/dtvrecorder.o obj/importrecorder.o obj/RTjpegN.o obj/audioinput.o obj/audioinputalsa.o obj/audioinputoss.o obj/v4lrecorder.o obj/v4l2util.o obj/v4lchannel.o obj/analogsignalmonitor.o obj/v4l2encrecorder.o obj/v4l2encstreamhandler.o obj/v4l2encsignalmonitor.o obj/mythv4l2m2mcontext.o obj/firewirechannel.o obj/firewirerecorder.o obj/firewiresignalmonitor.o obj/firewiredevice.o obj/avcinfo.o obj/linuxfirewiredevice.o obj/linuxavcinfo.o obj/cetonrtsp.o obj/iptvchannel.o obj/iptvrecorder.o obj/iptvsignalmonitor.o obj/iptvstreamhandler.o obj/streamhandler.o obj/packetbuffer.o obj/rtppacketbuffer.o obj/httptsstreamhandler.o obj/hlsstreamhandler.o obj/HLSPlaylistWorker.o obj/HLSReader.o obj/HLSSegment.o obj/HLSStream.o obj/HLSStreamWorker.o obj/vboxutils.o obj/vboxchannelfetcher.o obj/mpegrecorder.o obj/ExternalChannel.o obj/ExternalRecChannelFetcher.o obj/ExternalRecorder.o obj/ExternalStreamHandler.o obj/ExternalSignalMonitor.o obj/dvbtypes.o obj/dvbchannel.o obj/dvbsignalmonitor.o obj/dvbcam.o obj/dvbrecorder.o obj/dvbstreamhandler.o obj/dvbci.o obj/moc_jobqueue.o obj/moc_recordingprofile.o obj/moc_videosource.o obj/moc_playgroup.o obj/moc_channelsettings.o obj/moc_previewgenerator.o obj/moc_previewgeneratorqueue.o obj/moc_transporteditor.o obj/moc_mythsystemevent.o obj/moc_diseqcsettings.o obj/moc_profilegroup.o obj/moc_tv_play.o obj/moc_tv_play_win.o obj/moc_netstream.o obj/moc_osd.o obj/moc_videooutwindow.o obj/moc_videocolourspace.o obj/moc_mythopenglvideo.o obj/moc_mythopenglinterop.o obj/moc_mythopengltonemap.o obj/moc_mythvaapiglxinterop.o obj/moc_mythairplayserver.o obj/moc_mythraopdevice.o obj/moc_mythraopconnection.o obj/moc_mhegic.o obj/moc_scanwizard.o obj/moc_channelscanner_gui.o obj/moc_channelscanner_gui_scan_pane.o obj/moc_inputselectorsetting.o obj/moc_multiplexsetting.o obj/moc_paneatsc.o obj/moc_panedvbutilsimport.o obj/moc_scanmonitor.o obj/moc_scanwizardconfig.o obj/moc_cetonrtsp.o obj/moc_iptvchannel.o obj/moc_iptvstreamhandler.o obj/moc_httptsstreamhandler.o -lmythdvdnav-32 -lmythudfread-32 -lva-glx -lmythswresample -lmyth-32 -lmythswscale -lmythavformat -lmythavcodec -lmythavutil -lmythpostproc -lmythavfilter -lmythui-32 -lmythupnp-32 -lmythbase-32 -lmythservicecontracts-32 -lmythfreemheg-32 -llzo2 -lXext -lXinerama -lXxf86vm -lXrandr -ldns_sd -lcrypto -lass -lEGL -lva-x11 -lX11 -lva-drm -lva -lasound -lfreetype -ldrm -lxml2 -lz -lbluray -lsamplerate -lraw1394 -liec61883 -lavc1394 -lrom1394 -ldl -lpthread /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Widgets.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Gui.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Network.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Xml.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Sql.so /home/piotro/minimyth-dev/images/main/usr/lib/qt5/lib/libQt5Core.so -lGLESv2 -lstdc++ -lm -lgcc_s -lpthread -lc -lgcc_s /home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/crtendS.o /home/piotro/minimyth-dev/images/main/usr/lib/crtn.o
/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/lto-wrapper -fresolution=/tmp/ccUX1bUc.res -flinker-output=dyn /home/piotro/minimyth-dev/images/main/usr/lib/liblzo2.a#0x93a84 /home/piotro/minimyth-dev/images/main/usr/lib/liblzo2.a#0xdd748
armv7a-minimyth-linux-gnueabihf-g++ #/tmp/ccBzlLps
Using built-in specs.
COLLECT_GCC=armv7a-minimyth-linux-gnueabihf-g++
Target: armv7a-minimyth-linux-gnueabihf
Configured with: .//../../../work/build_main.d/gcc-9.3.0/configure --prefix=/home/piotro/minimyth-dev/images/build/usr --exec_prefix=/home/piotro/minimyth-dev/images/build/usr --bindir=/home/piotro/minimyth-dev/images/build/usr/bin --sbindir=/home/piotro/minimyth-dev/images/build/usr/sbin --libexecdir=/home/piotro/minimyth-dev/images/build/usr/libexec --datadir=/home/piotro/minimyth-dev/images/build/usr/share --sysconfdir=/home/piotro/minimyth-dev/images/build/etc --sharedstatedir=/home/piotro/minimyth-dev/images/build/usr/share --localstatedir=/home/piotro/minimyth-dev/images/build/var --libdir=/home/piotro/minimyth-dev/images/build/usr/lib --infodir=/home/piotro/minimyth-dev/images/build/usr/info --includedir=/home/piotro/minimyth-dev/images/build/usr/include --oldincludedir=/home/piotro/minimyth-dev/images/build/usr/include --mandir=/home/piotro/minimyth-dev/images/build/usr/share/man --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=armv7a-minimyth-linux-gnueabihf --with-gnu-as --with-gnu-ld --with-local-prefix=/usr --enable-plugin --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ --enable-libatommic --enable-libgomp --enable-gold --enable-ld --disable-libquadmath --disable-libquadmath-support --disable-libada --disable-libssp --enable-lto --disable-multilib --enable-nls --enable-decimal-float --enable-shared --enable-host-shared --enable-threads=posix --enable-version-specific-runtime-libs --with-mpc-include=//home/piotro/minimyth-dev/images/build/usr/include --with-mpc-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-mpfr-include=//home/piotro/minimyth-dev/images/build/usr/include --with-mpfr-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-gmp-include=//home/piotro/minimyth-dev/images/build/usr/include --with-gmp-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-isl-include=//home/piotro/minimyth-dev/images/build/usr/include --with-isl-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-libelf-include=//home/piotro/minimyth-dev/images/build/usr/include --with-libelf-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-sysroot=/home/piotro/minimyth-dev/images/main
Thread model: posix
gcc version 9.3.0 (GCC)
COLLECT_GCC_OPTIONS='-c' '-fno-openmp' '-fno-openacc' '-fno-pie' '-mtune=cortex-a7' '-mfloat-abi=softfp' '-mfpu=neon-vfpv4' '-mtls-dialect=gnu' '-O2' '-v' '-shared' '-L/home/piotro/minimyth-dev/images/main/usr/lib' '-L../../external/libmythdvdnav' '-L../../external/libudfread' '-L../libmyth' '-L../../external/FFmpeg/libswresample' '-L../../external/FFmpeg/libavutil' '-L../../external/FFmpeg/libavcodec' '-L../../external/FFmpeg/libavformat' '-L../../external/FFmpeg/libswscale' '-L../../external/FFmpeg/libpostproc' '-L../../external/FFmpeg/libavfilter' '-L../libmythui' '-L../libmythupnp' '-L../libmythbase' '-L../libmythservicecontracts' '-L../libmythfreemheg' '-pthread' '-shared-libgcc' '-mcpu=arm10tdmi' '-mtls-dialect=gnu' '-marm' '-dumpdir' './' '-dumpbase' 'libmythtv-32.so.32.0.0.wpa' '-fltrans-output-list=/tmp/libmythtv-32.so.32.0.0.bfgQHe.ltrans.out' '-fwpa' '-fresolution=/tmp/ccUX1bUc.res' '-flinker-output=dyn' '-shared-libgcc' '-march=armv5t'
/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/lto1 -quiet -dumpdir ./ -dumpbase libmythtv-32.so.32.0.0.wpa -mtune=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mtls-dialect=gnu -mcpu=arm10tdmi -mtls-dialect=gnu -marm -march=armv5t -auxbase liblzo2 -O2 -version -fno-openmp -fno-openacc -fno-pie -fltrans-output-list=/tmp/libmythtv-32.so.32.0.0.bfgQHe.ltrans.out -fwpa -fresolution=/tmp/ccUX1bUc.res -flinker-output=dyn #/tmp/cckNBYDe
GNU GIMPLE (GCC) version 9.3.0 (armv7a-minimyth-linux-gnueabihf)
compiled by GNU C version 9.3.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU GIMPLE (GCC) version 9.3.0 (armv7a-minimyth-linux-gnueabihf)
compiled by GNU C version 9.3.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
COMPILER_PATH=/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/../../../../armv7a-minimyth-linux-gnueabihf/bin/:/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/../../../../armv7a-minimyth-linux-gnueabihf/bin/
LIBRARY_PATH=/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/:/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/../../../../armv7a-minimyth-linux-gnueabihf/lib/:/home/piotro/minimyth-dev/images/main/lib/:/home/piotro/minimyth-dev/images/main/usr/lib/
COLLECT_GCC_OPTIONS='-c' '-fno-openmp' '-fno-openacc' '-fno-pie' '-mtune=cortex-a7' '-mfloat-abi=softfp' '-mfpu=neon-vfpv4' '-mtls-dialect=gnu' '-O2' '-v' '-shared' '-L/home/piotro/minimyth-dev/images/main/usr/lib' '-L../../external/libmythdvdnav' '-L../../external/libudfread' '-L../libmyth' '-L../../external/FFmpeg/libswresample' '-L../../external/FFmpeg/libavutil' '-L../../external/FFmpeg/libavcodec' '-L../../external/FFmpeg/libavformat' '-L../../external/FFmpeg/libswscale' '-L../../external/FFmpeg/libpostproc' '-L../../external/FFmpeg/libavfilter' '-L../libmythui' '-L../libmythupnp' '-L../libmythbase' '-L../libmythservicecontracts' '-L../libmythfreemheg' '-pthread' '-shared-libgcc' '-mcpu=arm10tdmi' '-mtls-dialect=gnu' '-marm' '-dumpdir' './' '-dumpbase' 'libmythtv-32.so.32.0.0.wpa' '-fltrans-output-list=/tmp/libmythtv-32.so.32.0.0.bfgQHe.ltrans.out' '-fwpa' '-fresolution=/tmp/ccUX1bUc.res' '-flinker-output=dyn' '-shared-libgcc' '-march=armv5t'
armv7a-minimyth-linux-gnueabihf-g++ #/tmp/ccKCtvMG
Using built-in specs.
COLLECT_GCC=armv7a-minimyth-linux-gnueabihf-g++
Target: armv7a-minimyth-linux-gnueabihf
Configured with: .//../../../work/build_main.d/gcc-9.3.0/configure --prefix=/home/piotro/minimyth-dev/images/build/usr --exec_prefix=/home/piotro/minimyth-dev/images/build/usr --bindir=/home/piotro/minimyth-dev/images/build/usr/bin --sbindir=/home/piotro/minimyth-dev/images/build/usr/sbin --libexecdir=/home/piotro/minimyth-dev/images/build/usr/libexec --datadir=/home/piotro/minimyth-dev/images/build/usr/share --sysconfdir=/home/piotro/minimyth-dev/images/build/etc --sharedstatedir=/home/piotro/minimyth-dev/images/build/usr/share --localstatedir=/home/piotro/minimyth-dev/images/build/var --libdir=/home/piotro/minimyth-dev/images/build/usr/lib --infodir=/home/piotro/minimyth-dev/images/build/usr/info --includedir=/home/piotro/minimyth-dev/images/build/usr/include --oldincludedir=/home/piotro/minimyth-dev/images/build/usr/include --mandir=/home/piotro/minimyth-dev/images/build/usr/share/man --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=armv7a-minimyth-linux-gnueabihf --with-gnu-as --with-gnu-ld --with-local-prefix=/usr --enable-plugin --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ --enable-libatommic --enable-libgomp --enable-gold --enable-ld --disable-libquadmath --disable-libquadmath-support --disable-libada --disable-libssp --enable-lto --disable-multilib --enable-nls --enable-decimal-float --enable-shared --enable-host-shared --enable-threads=posix --enable-version-specific-runtime-libs --with-mpc-include=//home/piotro/minimyth-dev/images/build/usr/include --with-mpc-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-mpfr-include=//home/piotro/minimyth-dev/images/build/usr/include --with-mpfr-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-gmp-include=//home/piotro/minimyth-dev/images/build/usr/include --with-gmp-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-isl-include=//home/piotro/minimyth-dev/images/build/usr/include --with-isl-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-libelf-include=//home/piotro/minimyth-dev/images/build/usr/include --with-libelf-lib=//home/piotro/minimyth-dev/images/build/usr/lib --with-sysroot=/home/piotro/minimyth-dev/images/main
Thread model: posix
gcc version 9.3.0 (GCC)
COLLECT_GCC_OPTIONS='-c' '-fno-openmp' '-fno-openacc' '-fno-pie' '-mtune=cortex-a7' '-mfloat-abi=softfp' '-mfpu=neon-vfpv4' '-mtls-dialect=gnu' '-O2' '-v' '-shared' '-L/home/piotro/minimyth-dev/images/main/usr/lib' '-L../../external/libmythdvdnav' '-L../../external/libudfread' '-L../libmyth' '-L../../external/FFmpeg/libswresample' '-L../../external/FFmpeg/libavutil' '-L../../external/FFmpeg/libavcodec' '-L../../external/FFmpeg/libavformat' '-L../../external/FFmpeg/libswscale' '-L../../external/FFmpeg/libpostproc' '-L../../external/FFmpeg/libavfilter' '-L../libmythui' '-L../libmythupnp' '-L../libmythbase' '-L../libmythservicecontracts' '-L../libmythfreemheg' '-pthread' '-shared-libgcc' '-mcpu=arm10tdmi' '-mtls-dialect=gnu' '-marm' '-dumpdir' './' '-dumpbase' 'libmythtv-32.so.32.0.0.ltrans0' '-fltrans' '-o' '/tmp/libmythtv-32.so.32.0.0.bfgQHe.ltrans0.ltrans.o' '-shared-libgcc' '-march=armv5t'
/home/piotro/minimyth-dev/images/build/usr/libexec/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/lto1 -quiet -dumpdir ./ -dumpbase libmythtv-32.so.32.0.0.ltrans0 -mtune=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mtls-dialect=gnu -mcpu=arm10tdmi -mtls-dialect=gnu -marm -march=armv5t -auxbase-strip /tmp/libmythtv-32.so.32.0.0.bfgQHe.ltrans0.ltrans.o -O2 -version -fno-openmp -fno-openacc -fno-pie -fltrans #/tmp/ccD9DwUp -o /tmp/ccdmhKhE.s
GNU GIMPLE (GCC) version 9.3.0 (armv7a-minimyth-linux-gnueabihf)
compiled by GNU C version 9.3.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU GIMPLE (GCC) version 9.3.0 (armv7a-minimyth-linux-gnueabihf)
compiled by GNU C version 9.3.0, GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
In function ‘u2p’:
lto1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
lto-wrapper: fatal error: armv7a-minimyth-linux-gnueabihf-g++ returned 1 exit status
compilation terminated.
/home/piotro/minimyth-dev/images/build/usr/lib/gcc/armv7a-minimyth-linux-gnueabihf/9.3.0/../../../../armv7a-minimyth-linux-gnueabihf/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
Well - partial explanation/solution: my toolchain seems to be configured with LTO enabled by default. I'm not passing explicitly -fno-lto to turn it off at app. compilation. Adding this solves issue....
I am installing Janus WebRTC on Beaglebone Black(BBB).
I execute the janus_config.sh script file below to set environment variables:
#!/bin/bash
if [ $# -gt 1 ] || [ $# -eq 0 ]; then
echo "Usage: source /path/to/this/build_script.sh path/where/dependencies/built"
fi
JANUS_PATH=$1
if ! [ -d $JANUS_PATH ]; then
mkdir -v $JANUS_PATH
fi
BUILD==$(./config.guess)
unset JANUS_CFLAGS
JANUS_CFLAGS+="-I$1/include/glib-2.0 "
JANUS_CFLAGS+="-I$1/lib/glib-2.0/include "
JANUS_CFLAGS+="-I$1/include "
JANUS_CFLAGS+="-I$1/include/gio-unix-2.0/gio "
JANUS_CFLAGS+="-I$1/include/nice "
JANUS_CFLAGS+="-I/home/debian/usr/local/include/openssl "
JANUS_CFLAGS+="-I$1/include/opus "
JANUS_CFLAGS+="-I$1/include/sofia-sip-1.12/sofia-resolv "
JANUS_CFLAGS+="-I$1/include/srtp "
JANUS_CFLAGS+="-I$1/include/stun "
JANUS_CFLAGS+="-I$1/include/stun/usages "
JANUS_CFLAGS+="-I$1/lib/libffi-3.2.1/include "
export JANUS_CFLAGS
unset JANUS_LIBS
JANUS_LIBS+="-L$1/lib -lglib-2.0 "
JANUS_LIBS+="-L/home/debian/usr/local/lib -lssl -lcrypto "
JANUS_LIBS+="-L$1/lib -lsrtp -lcrypto "
JANUS_LIBS+="-L$1/lib -lusrsctp"
export JANUS_LIBS
unset LDFLAGS
LDFLAGS+="-L$1/lib "
LDFLAGS+="-L/home/debian/usr/local/lib"
export LDFLAGS
unset LIBS
LIBS+="-lsrtp -lcrypto -lusrsctp -lglib-2.0 -lnice -lgio-2.0 -lgobject-2.0 -lsofia-sip-ua -ljansson -lssl -lgmodule-2.0 "
LIBS+="-lffi -lgthread-2.0 -lz "
export LIBS
unset CPPFLAGS
CPPFLAGS+="-I$1/include "
CPPFLAGS+="-I$1/include/glib-2.0 "
CPPFLAGS+="-I$1/lib/glib-2.0/include "
CPPFLAGS+="-pthread -I$1/include/nice "
CPPFLAGS+="-I$1/include/sofia-sip-1.12"
export CPPFLAGS
unset TRANSPORTS_CFLAGS
TRANSPORTS_CFLAGS+="-I$1/include/glib-2.0 "
TRANSPORTS_CFLAGS+="-I$1/lib/glib-2.0/include "
TRANSPORTS_CFLAGS+="-I$1/include"
export TRANSPORTS_CFLAGS
unset TRANSPORTS_LIBS
TRANSPORTS_LIBS+="-L$1/lib -lglib-2.0 "
TRANSPORTS_LIBS+="-L/home/debian/usr/local/lib -lssl -lcrypto "
TRANSPORTS_LIBS+="-L$1/lib -lsrtp -lcrypto "
TRANSPORTS_LIBS+="-L$1/lib -lusrsctp"
export TRANSPORTS_LIBS
unset PLUGINS_CFLAGS
unset PLUGINS_LIBS
PLUGINS_CFLAGS=$JANUS_CFLAGS
PLUGINS_LIBS=$JANUS_LIBS
export PLUGINS_CFLAGS
export PLUGINS_LIBS
./configure --build=$BUILD --disable-plugin-voicemail --disable-plugin-videoroom --disable-plugin-videocall --disable-plugin-recordplay --disable-plugin-echotest --disable-plugin-audiobridge --disable-websockets --disable-rabbitmq --disable-plugin-sip --disable-docs --prefix=$JANUS_PATH
When run command source janus_config.sh $PREFIX,I get error, see config.log below for more detail:
/*
$ ./configure --build==armv7l-unknown-linux-gnueabihf --disable-plugin-voicemail --disable-plugin-videoroom --disable-plugin-videocall --disable-plugin-recordplay --disable-plugin-echotest --disable-plugin-audiobridge --disable-websockets --disable-rabbitmq --disable-plugin-sip --disable-docs --prefix=/home/debian/Janus/usr
## --------- ##
## Platform. ##
## --------- ##
hostname = beaglebone
uname -m = armv7l
uname -r = 3.8.13-bone70
uname -s = Linux
uname -v = #1 SMP Fri Jan 23 02:15:42 UTC 2015
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /home/debian/bin
PATH: /home/debian/.linuxbrew/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/local/games
PATH: /usr/games
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2466: checking for a BSD-compatible install
configure:2534: result: /usr/bin/install -c
configure:2545: checking whether build environment is sane
configure:2600: result: yes
configure:2751: checking for a thread-safe mkdir -p
configure:2790: result: /bin/mkdir -p
configure:2797: checking for gawk
configure:2827: result: no
configure:2797: checking for mawk
configure:2813: found /usr/bin/mawk
configure:2824: result: mawk
configure:2835: checking whether make sets $(MAKE)
configure:2857: result: yes
configure:2886: checking whether make supports nested variables
configure:2903: result: yes
configure:3040: checking whether make supports nested variables
configure:3057: result: yes
configure:3081: checking for style of include used by make
configure:3109: result: GNU
configure:3180: checking for gcc
configure:3196: found /usr/bin/gcc
configure:3207: result: gcc
configure:3436: checking for C compiler version
configure:3445: gcc --version >&5
gcc (Debian 4.9.2-10) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:3456: $? = 0
configure:3445: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.9.2 (Debian 4.9.2-10)
configure:3456: $? = 0
configure:3445: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3456: $? = 4
configure:3445: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:3456: $? = 4
configure:3476: checking whether the C compiler works
configure:3498: gcc -I/home/debian/Janus/usr/include -I/home/debian/Janus/usr/include/glib-2.0 -I/home/debian/Janus/usr/lib/glib-2.0/include -pthread -I/home/debian/Janus/usr/include/nice -I/home/debian/Janus/usr/include/sofia-sip-1.12 -L/home/debian/Janus/usr/lib -L/home/debian/usr/local/lib conftest.c -lsrtp -lcrypto -lusrsctp -lglib-2.0 -lnice -lgio-2.0 -lgobject-2.0 -lsofia-sip-ua -ljansson -lssl -lgmodule-2.0 -lffi -lgthread-2.0 -lz >&5
I think problem is here because openssl directory is not as I set in janus_config.sh, I install openssl in /home/debian/usr/local
/home/debian/Janus/usr/lib/libcrypto.a(mem_clr.o): In function `OPENSSL_cleanse':
mem_clr.c:(.text+0x0): multiple definition of `OPENSSL_cleanse'
/home/debian/Janus/usr/lib/libcrypto.a(armv4cpuid.o):(.text+0x1c): first defined here
/home/debian/Janus/usr/lib/libcrypto.a(armcap.o): In function `OPENSSL_cpuid_setup':
armcap.c:(.text.startup+0x0): multiple definition of `OPENSSL_cpuid_setup'
/home/debian/Janus/usr/lib/libcrypto.a(cryptlib.o):cryptlib.c:(.text+0x8d8): first defined here
collect2: error: ld returned 1 exit status
configure:3502: $? = 1
configure:3540: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Janus Gateway"
| #define PACKAGE_TARNAME "janus-gateway"
| #define PACKAGE_VERSION "0.1.0"
| #define PACKAGE_STRING "Janus Gateway 0.1.0"
| #define PACKAGE_BUGREPORT "https://github.com/meetecho/janus-gateway"
| #define PACKAGE_URL "https://janus.conf.meetecho.com"
| #define PACKAGE "janus-gateway"
| #define VERSION "0.1.0"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:3545: error: in `/home/debian/Janus/Dependencies/janus-gateway-master':
configure:3547: error: C compiler cannot create executables
See `config.log' for more details;
*/
Could you help me find out the problem here?
Multiples definitions for the same resource, problably, how did you configure it??? try this:
./config -fPIC -DOPENSSL_PIC
I'm completely new to D (coming from js) and I was trying to work through the tutorial, but I've gotten stuck:
My D:
/** Returns: argument times two */
int twice(int x) { return x+x; }
/** for example */
unittest {
assert (twice(-1) == -2);
assert (twice(2) == 4);
}
The error:
zxcv#human6:~$ dmd hello.d
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
--- errorlevel 1
System info:
uname -a:
Linux human6 3.13.0-19-generic #40-Ubuntu SMP Mon Mar 24 02:36:06 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
dmd version:
dmd_2.065.0-0_amd64.deb
gcc -v (because it's in the error):
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
Every program needs an entry point (a main function). Add void main() {} to your program, or add the -main switch to the compiler command line to tell the compiler to generate a main function for you.
I compiled a GCC 4.8.1 Cross-Compiler (BUILD/HOST: debian/glibc, TARGET: alpinelinux/uclibc). The C compiler is working great, but Ada won't work at moment.
juan#debian:~/HelloAda$ x86_64-alpine-linux-uclibc-gnatmake hello.adb
x86_64-alpine-linux-uclibc-gcc -c hello.adb
x86_64-alpine-linux-uclibc-gnatbind -x hello.ali
x86_64-alpine-linux-uclibc-gnatlink hello.ali
/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/adalib/libgnat.a(adaint.o): In function `__gnat_cpu_alloc':
/home/juan/GCC/obj/gcc/ada/rts/adaint.c:3797: undefined reference to `__sched_cpualloc'
/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/adalib/libgnat.a(adaint.o): In function `__gnat_cpu_free':
/home/juan/GCC/obj/gcc/ada/rts/adaint.c:3807: undefined reference to `__sched_cpufree'
collect2: error: ld returned 1 exit status
x86_64-alpine-linux-uclibc-gnatlink: error when calling /home/juan/opt/cross/bin/x86_64-alpine-linux-uclibc-gcc
x86_64-alpine-linux-uclibc-gnatmake: *** link failed.
/home/juan/GCC/obj/gcc/ada/rts/adaint.c: http://nopaste.info/ffcb612692.html
/usr/include/sched.h: http://nopaste.info/5332aed42a.html
/usr/include/bits/sched.h: http://nopaste.info/46323ab5d8.html
/opt/alpine/usr/include/sched.h: http://nopaste.info/998896bafe.html
/opt/alpine/usr/include/bits/sched.h: http://nopaste.info/e8cfbd2844.html
Does someone know, what's going wrong?
A more verbose output of what is going on:
juan#debian:~/HelloAda$ x86_64-alpine-linux-uclibc-gcc -c hello.adb
juan#debian:~/HelloAda$ x86_64-alpine-linux-uclibc-gnatbind hello
juan#debian:~/HelloAda$ x86_64-alpine-linux-uclibc-gnatlink -v -v hello
GNATLINK 4.8.1
Copyright (C) 1995-2013, Free Software Foundation, Inc.
x86_64-alpine-linux-uclibc-gcc -c -mtune=generic -march=x86-64 -gnatA -gnatWb -gnatiw -v -gnatws /home/juan/HelloAda/b~hello.adb
Using built-in specs.
COLLECT_GCC=/home/juan/opt/cross/bin/x86_64-alpine-linux-uclibc-gcc
Target: x86_64-alpine-linux-uclibc
Configured with: ../src/configure --prefix=/home/juan/opt/cross --build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu --target=x86_64-alpine-linux-uclibc --disable-altivec --disable-build-with-cxx --disable-checking --disable-fixed-point --disable-libssp --disable-libstdcxx-pch --disable-multilib --disable-nls --disable-werror --enable-languages=c,ada --enable-shared --with-dynamic-linker=ld64-uClibc.so.0.9.32 --with-dynamic-linker-prefix=/opt/alpine/lib --with-system-zlib --without-system-libunwindmake --with-sysroot=/opt/alpine
Thread model: posix
gcc version 4.8.1 (GCC)
COLLECT_GCC_OPTIONS='-c' '-mtune=generic' '-march=x86-64' '-gnatA' '-gnatWb' '-gnatiw' '-v' '-gnatws'
/home/juan/opt/cross/libexec/gcc/x86_64-alpine-linux-uclibc/4.8.1/gnat1 -quiet -dumpbase b~hello.adb -auxbase b~hello -mtune=generic -march=x86-64 -gnatA -gnatWb -gnatiw -gnatws /home/juan/HelloAda/b~hello.adb -o /tmp/ccG4vv8d.s
COLLECT_GCC_OPTIONS='-c' '-mtune=generic' '-march=x86-64' '-gnatA' '-gnatWb' '-gnatiw' '-v' '-gnatws'
/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/../../../../x86_64-alpine-linux-uclibc/bin/as -v --64 -o b~hello.o /tmp/ccG4vv8d.s
GNU assembler version 2.23.2 (x86_64-alpine-linux-uclibc) using BFD version (GNU Binutils) 2.23.2
COMPILER_PATH=/home/juan/opt/cross/libexec/gcc/x86_64-alpine-linux-uclibc/4.8.1/:/home/juan/opt/cross/libexec/gcc/x86_64-alpine-linux-uclibc/4.8.1/:/home/juan/opt/cross/libexec/gcc/x86_64-alpine-linux-uclibc/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/../../../../x86_64-alpine-linux-uclibc/bin/
LIBRARY_PATH=/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/../../../../x86_64-alpine-linux-uclibc/lib/../lib/:/opt/alpine/lib/../lib/:/opt/alpine/usr/lib/../lib/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/../../../../x86_64-alpine-linux-uclibc/lib/:/opt/alpine/lib/:/opt/alpine/usr/lib/
COLLECT_GCC_OPTIONS='-c' '-mtune=generic' '-march=x86-64' '-gnatA' '-gnatWb' '-gnatiw' '-v' '-gnatws'
/home/juan/opt/cross/bin/x86_64-alpine-linux-uclibc-gcc b~hello.o ./hello.o -v -o hello -L./ -L/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/adalib/ /home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/adalib/libgnat.a -static-libgcc
Using built-in specs.
COLLECT_GCC=/home/juan/opt/cross/bin/x86_64-alpine-linux-uclibc-gcc
COLLECT_LTO_WRAPPER=/home/juan/opt/cross/libexec/gcc/x86_64-alpine-linux-uclibc/4.8.1/lto-wrapper
Target: x86_64-alpine-linux-uclibc
Configured with: ../src/configure --prefix=/home/juan/opt/cross --build=x86_64-cross-linux-gnu --host=x86_64-cross-linux-gnu --target=x86_64-alpine-linux-uclibc --disable-altivec --disable-build-with-cxx --disable-checking --disable-fixed-point --disable-libssp --disable-libstdcxx-pch --disable-multilib --disable-nls --disable-werror --enable-languages=c,ada --enable-shared --with-dynamic-linker=ld64-uClibc.so.0.9.32 --with-dynamic-linker-prefix=/opt/alpine/lib --with-system-zlib --without-system-libunwindmake --with-sysroot=/opt/alpine
Thread model: posix
gcc version 4.8.1 (GCC)
COMPILER_PATH=/home/juan/opt/cross/libexec/gcc/x86_64-alpine-linux-uclibc/4.8.1/:/home/juan/opt/cross/libexec/gcc/x86_64-alpine-linux-uclibc/4.8.1/:/home/juan/opt/cross/libexec/gcc/x86_64-alpine-linux-uclibc/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/../../../../x86_64-alpine-linux-uclibc/bin/
LIBRARY_PATH=/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/../../../../x86_64-alpine-linux-uclibc/lib/../lib/:/opt/alpine/lib/../lib/:/opt/alpine/usr/lib/../lib/:/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/../../../../x86_64-alpine-linux-uclibc/lib/:/opt/alpine/lib/:/opt/alpine/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'hello' '-L./' '-L/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/adalib/' '-static-libgcc' '-mtune=generic' '-march=x86-64'
/home/juan/opt/cross/libexec/gcc/x86_64-alpine-linux-uclibc/4.8.1/collect2 --sysroot=/opt/alpine --eh-frame-hdr -m elf_x86_64 -dynamic-linker /opt/alpine/lib/ld64-uClibc.so.0.9.32 -o hello /opt/alpine/usr/lib/../lib/crt1.o /opt/alpine/usr/lib/../lib/crti.o /home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/crtbegin.o -L./ -L/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/adalib/ -L/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1 -L/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/../../../../x86_64-alpine-linux-uclibc/lib/../lib -L/opt/alpine/lib/../lib -L/opt/alpine/usr/lib/../lib -L/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/../../../../x86_64-alpine-linux-uclibc/lib -L/opt/alpine/lib -L/opt/alpine/usr/lib b~hello.o ./hello.o /home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/adalib/libgnat.a -lgcc -lgcc_eh -lc -lgcc -lgcc_eh /home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/crtend.o /opt/alpine/usr/lib/../lib/crtn.o
/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/adalib/libgnat.a(adaint.o): In function `__gnat_cpu_alloc':
/home/juan/GCC/obj/gcc/ada/rts/adaint.c:3797: undefined reference to `__sched_cpualloc'
/home/juan/opt/cross/lib/gcc/x86_64-alpine-linux-uclibc/4.8.1/adalib/libgnat.a(adaint.o): In function `__gnat_cpu_free':
/home/juan/GCC/obj/gcc/ada/rts/adaint.c:3807: undefined reference to `__sched_cpufree'
collect2: error: ld returned 1 exit status
x86_64-alpine-linux-uclibc-gnatlink: error when calling /home/juan/opt/cross/bin/x86_64-alpine-linux-uclibc-gcc
It's quite clear that __sched_cpualloc/free* functions are either specific to Glibc 2.7 or not implemented in uclibc.
$ objdump -T libc.so.6 | grep __sched
000c4c30 g DF .text 00000043 GLIBC_2.0 __sched_getparam
000c4d10 g DF .text 00000037 GLIBC_2.0 __sched_yield
000c5540 g DF .text 00000029 GLIBC_2.7 __sched_cpualloc
000c4d50 g DF .text 0000003f GLIBC_2.0 __sched_get_priority_max
000c5570 g DF .text 00000020 GLIBC_2.7 __sched_cpufree
000c4d90 g DF .text 0000003f GLIBC_2.0 __sched_get_priority_min
000c5500 g iD .text 0000003f GLIBC_2.6 __sched_cpucount
000c4c80 g DF .text 00000045 GLIBC_2.0 __sched_setscheduler
000c4cd0 g DF .text 0000003f GLIBC_2.0 __sched_getscheduler
I guess these required for the CPU concurrency tasks.
If you have access to uclibc source, perhaps it will be possible to define these functions and recompile the library by referencing Glibc here.. Or better yet, just make a small library with these two functions and link that when creating the binary ELF image.
__sched_cpualloc and __sched_cpufree aren't rocket science, as it turns out. Here is the code as it appears in Glibc:
9 #include <sched.h>
20 #include <stdlib.h>
21
22
23 cpu_set_t *
24 __sched_cpualloc (size_t count)
25 {
26 return malloc (CPU_ALLOC_SIZE (count));
27 }
and
23 void
24 __sched_cpufree (cpu_set_t *set)
25 {
26 free (set);
27 }
finally, CPU_ALLOC_SIZE is also simple:
165 # define __CPU_ALLOC_SIZE(count) \
166 ((((count) + __NCPUBITS - 1) / __NCPUBITS) * 8)
So I guess you can write your own wrappers for uclibc now and test to see if it works.
I'm having trouble getting a boost program to compile. The example I'm trying to compile is here: http://rosettacode.org/wiki/Web_scraping#C.2B.2B
This is what happens when I try to compile:
% g++ -Wall test.c -lboost_regex -lboost_system -lboost_thread
/tmp/ccJSxOji.o: In function `boost::exception_detail::error_info_injector<std::length_error>::error_info_injector(boost::exception_detail::error_info_injector<std::length_error> const&)':
test.c:(.text._ZN5boost16exception_detail19error_info_injectorISt12length_errorEC2ERKS3_[_ZN5boost16exception_detail19error_info_injectorISt12length_errorEC5ERKS3_]+0x53): undefined reference to `std::length_error::~length_error()'
/tmp/ccJSxOji.o: In function `boost::exception_detail::error_info_injector<std::length_error>::~error_info_injector()':
test.c:(.text._ZN5boost16exception_detail19error_info_injectorISt12length_errorED2Ev[_ZN5boost16exception_detail19error_info_injectorISt12length_errorED5Ev]+0x2e): undefined reference to `std::length_error::~length_error()'
collect2: ld returned 1 exit status
I think I've narrowed the problem down to this line:
boost::asio::streambuf response ;
I'm using gcc 4.6.0, linux of course:
% gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-linux-gnu/4.6.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: /build/src/gcc-4.6-20110429/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --enable-gnu-unique-object --enable-linker-build-id --with-ppl --enable-cloog-backend=isl --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --disable-multilib --disable-libstdcxx-pch --enable-checking=release
Thread model: posix
gcc version 4.6.0 20110429 (prerelease) (GCC)
Possibly related thread:
Code using boost::asio::streambuf causes segfault
I hate to answer my own question, but as it turns out, I was bitten by this: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
I did some more digging:
% ldd /usr/lib/libboost_regex.so
/usr/lib/libboost_regex.so: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/libboost_regex.so)
linux-gate.so.1 => (0xb77b3000)
libicuuc.so.46 => /usr/lib/libicuuc.so.46 (0xb7553000)
libicui18n.so.46 => /usr/lib/libicui18n.so.46 (0xb7389000)
libicudata.so.46 => /usr/lib/libicudata.so.46 (0xb650a000)
librt.so.1 => /lib/librt.so.1 (0xb6501000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6412000)
libm.so.6 => /lib/libm.so.6 (0xb63e8000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb63cc000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb63b1000)
libc.so.6 => /lib/libc.so.6 (0xb624b000)
libdl.so.2 => /lib/libdl.so.2 (0xb6246000)
/lib/ld-linux.so.2 (0xb77b4000)
% ldd /usr/lib/libboost_date_time.so
/usr/lib/libboost_date_time.so: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/libboost_date_time.so)
linux-gate.so.1 => (0xb78cf000)
librt.so.1 => /lib/librt.so.1 (0xb788f000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb77a1000)
libm.so.6 => /lib/libm.so.6 (0xb7777000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb775b000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb773f000)
libc.so.6 => /lib/libc.so.6 (0xb75d9000)
/lib/ld-linux.so.2 (0xb78d0000)
In sum, my gcc-libs were out of date. To fix it, I did:
# pacman -Q -o /usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6 is owned by gcc-libs 4.6.0-5
# pacman -S gcc-libs
Thanks to everyone who commented, you got me thinking in the right direction.