Linux - XBMC for MIPSEL - BroadCom 7425

  Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
BMCMaster Offline
Junior Member
Posts: 17
Joined: Jun 2013
Reputation: 0
Post: #1
Hello guys,

I have a question, I am commpiling and portin XBMC to mipsel.

I have following problem:

Code:
mipsel-oe-linux-g++  -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/media/hdd/tmp/build/builds/egami//inihdp/tmp/sysroots/inihdp -Os -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -O2 -Os -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -O2 -D_LINUX -fPIC -I/home/test/tmp/frodo/lib/snesapu -Os -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -O2 -Wl,-O1  -Wl,--as-needed -Wl,-O1  -Wl,--as-needed -Wl,-O1  -Wl,--as-needed -shared -o /home/test/tmp/frodo/system/players/paplayer//SNESAPU-mips.so SPC700.o APU.o DSP.o SNESAPU.o      -Wl,--unresolved-symbols=ignore-all \
        `cat /home/test/tmp/frodo/xbmc/cores/DllLoader/exports/wrapper.def` /home/test/tmp/frodo/xbmc/cores/DllLoader/exports/wrapper.o
/media/hdd/tmp/build/builds/egami//inihdp/tmp/sysroots/i686-linux/usr/libexec/mipsel-oe-linux/gcc/mipsel-oe-linux/4.9.1/ld: SPC700.o: Relocations in generic ELF (EM: 3)
/media/hdd/tmp/build/builds/egami//inihdp/tmp/sysroots/i686-linux/usr/libexec/mipsel-oe-linux/gcc/mipsel-oe-linux/4.9.1/ld: SPC700.o: Relocations in generic ELF (EM: 3)
SPC700.o: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
Makefile:24: recipe for target '/home/test/tmp/frodo/system/players/paplayer//SNESAPU-mips.so' failed
make[1]: *** [/home/test/tmp/frodo/system/players/paplayer//SNESAPU-mips.so] Error 1
make[1]: Leaving directory '/media/kieszen/prism/tmp/frodo/lib/snesapu/SNES/SNESAPU'
Makefile:284: recipe for target 'papcodecs' failed


My configure


Code:
./configure --disable-rpath
--enable-gles
--enable-libusb
--disable-nfs
--disable-airplay
--disable-libblueray
--disable-optical-drive
--enable-external-libraries
--disable-ssh
--disable-external_ffmpeg
--disable-x11
--disable-sdl
--disable-joystick
--disable-alsa
--enable-rtmp
--disable-debug
--disable-vdpau  
--disable-vaapi
--disable-crystalhd  
--disable-vdadecoder  
--disable-vtbdecoder
--disable-openmax  
--disable-joystick
--disable-xrandr  
--disable-rsxs  
--disable-projectm
--disable-rtmp  
--disable-airplay
--disable-airtunes
--disable-dvdcss
--disable-optical-drive  
--disable-libbluray
--disable-libusb  
--disable-libcec  
--disable-libmp3lame  
--disable-libcap


Is there a way to fix it ? As nasm is x86 assemm...
(This post was last modified: 2014-09-11 09:18 by BMCMaster.)
find quote
BMCMaster Offline
Junior Member
Posts: 17
Joined: Jun 2013
Reputation: 0
Post: #2
I fixed that.

Last step is that LD has some issues with references

Code:
AR      /home/test/tmp/frodo/xbmc/cores/paplayer/paplayer.a
LD      /home/test/tmp/frodo/xbmc.bin
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessageQueue.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessageQueue.o): In function `IDVDResourceCounted<CDVDMsg>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessageQueue.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessageQueue.o): In function `IDVDResourceCounted<CDVDMsg>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessageQueue.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessageQueue.o): In function `IDVDResourceCounted<CDVDMsg>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessageQueue.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessageQueue.o): In function `__gnu_cxx::new_allocator<DVDMessageListItem>::destroy(DVDMessageListItem*)':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDOverlayContainer.o): In function `CDVDOverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:83: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDOverlayContainer.o): In function `CDVDOverlay::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDOverlayContainer.o): In function `CDVDOverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:83: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDOverlayContainer.o): In function `CDVDOverlay::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayer.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayer.o):/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: more undefined references to `AtomicDecrement(long volatile*)' follow
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayer.o): In function `IDVDResourceCounted<CDVDMsg>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayer.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayer.o):/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: more undefined references to `AtomicDecrement(long volatile*)' follow
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayer.o): In function `IDVDResourceCounted<CDVDMsg>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayer.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayer.o):/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: more undefined references to `AtomicDecrement(long volatile*)' follow
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayerAudio.o): In function `IDVDResourceCounted<CDVDMsg>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayerAudio.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayerSubtitle.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayerSubtitle.o): In function `CDVDOverlay::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayerTeletext.o):/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: more undefined references to `AtomicDecrement(long volatile*)' follow
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayerVideo.o): In function `IDVDResourceCounted<CDVDMsg>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayerVideo.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayerVideo.o): In function `IDVDResourceCounted<CDVDMsg>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDPlayerVideo.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecCC.o): In function `CDVDOverlay::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecSSA.o): In function `IDVDResourceCounted<CDVDSubtitlesLibass>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecSSA.o): In function `CDVDOverlayCodecSSA::Dispose()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecSSA.cpp:62: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecSSA.o): In function `CDVDOverlay::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecSSA.o): In function `IDVDResourceCounted<CDVDSubtitlesLibass>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecSSA.o): In function `IDVDResourceCounted<CDVDSubtitlesLibass>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecSSA.o): In function `IDVDResourceCounted<CDVDSubtitlesLibass>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecSSA.o): In function `IDVDResourceCounted<CDVDSubtitlesLibass>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecText.o): In function `CDVDOverlayCodecText::Reset()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecText.cpp:129: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecText.o): In function `CDVDOverlayCodecText::Flush()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecText.cpp:135: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecText.o): In function `CDVDOverlayCodecText::Dispose()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecText.cpp:52: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a(DVDOverlayCodecText.o):/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:92: more undefined references to `AtomicDecrement(long volatile*)' follow
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleParserMicroDVD.o): In function `CDVDOverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDSubtitles/../DVDCodecs/Overlay/DVDOverlay.h:83: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleParserSami.o): In function `CDVDOverlay::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDSubtitles/../DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleParserSami.o): In function `CDVDOverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDSubtitles/../DVDCodecs/Overlay/DVDOverlay.h:83: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleParserSSA.o): In function `IDVDResourceCounted<CDVDSubtitlesLibass>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleParserSSA.o): In function `IDVDResourceCounted<CDVDSubtitlesLibass>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleParserSSA.o): In function `CDVDOverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDSubtitles/../DVDCodecs/Overlay/DVDOverlay.h:83: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleParserSubrip.o): In function `CDVDOverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDSubtitles/../DVDCodecs/Overlay/DVDOverlay.h:83: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/DllLoader/dllloader.a(DllLoader.o): In function `DllLoader::~DllLoader()':
/home/test/tmp/frodo/xbmc/cores/DllLoader/DllLoader.cpp:142: undefined reference to `Restore_LDT_Keeper'
xbmc/cores/DllLoader/dllloader.a(DllLoader.o): In function `DllLoader::DllLoader(char const*, bool, bool, bool, Export*)':
/home/test/tmp/frodo/xbmc/cores/DllLoader/DllLoader.cpp:95: undefined reference to `Setup_LDT_Keeper'
xbmc/cores/VideoRenderers/VideoRenderer.a(OverlayRenderer.o): In function `OVERLAY::COverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:63: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/VideoRenderers/VideoRenderer.a(OverlayRenderer.o): In function `OVERLAY::COverlay::Release()':
/home/test/tmp/frodo/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:69: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/VideoRenderers/VideoRenderer.a(OverlayRenderer.o): In function `OVERLAY::CRenderer::Release(std::vector<OVERLAY::CRenderer::SElement, std::allocator<OVERLAY::CRenderer::SElement> >&)':
/home/test/tmp/frodo/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:137: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/VideoRenderers/VideoRenderer.a(OverlayRenderer.o): In function `OVERLAY::COverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:63: undefined reference to `AtomicIncrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:63: undefined reference to `AtomicIncrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:63: undefined reference to `AtomicIncrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:63: undefined reference to `AtomicIncrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:63: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/VideoRenderers/VideoRenderer.a(OverlayRenderer.o):/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlay.h:83: more undefined references to `AtomicIncrement(long volatile*)' follow
xbmc/cores/VideoRenderers/VideoRenderer.a(OverlayRenderer.o): In function `OVERLAY::COverlayMainThread::Release()':
/home/test/tmp/frodo/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:78: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/interfaces/python/xbmcmodule/xbmcmodule.a(PythonMonitor.o): In function `CPythonMonitor::Acquire()':
/home/test/tmp/frodo/xbmc/interfaces/python/xbmcmodule/PythonMonitor.cpp:94: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/interfaces/python/xbmcmodule/xbmcmodule.a(PythonMonitor.o): In function `CPythonMonitor::Release()':
/home/test/tmp/frodo/xbmc/interfaces/python/xbmcmodule/PythonMonitor.cpp:88: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleParserMPL2.o): In function `CDVDOverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDSubtitles/../DVDCodecs/Overlay/DVDOverlay.h:83: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleParserVplayer.o): In function `CDVDOverlay::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDSubtitles/../DVDCodecs/Overlay/DVDOverlay.h:83: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessage.o): In function `CDVDMsgGeneralSynchronize::Wait(bool volatile*, unsigned int)':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDMessage.cpp:46: undefined reference to `AtomicIncrement(long volatile*)'
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDMessage.cpp:48: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessage.o): In function `IDVDResourceCounted<CDVDMsg>::Acquire()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:33: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/cores/dvdplayer/DVDPlayer.a(DVDMessage.o): In function `IDVDResourceCounted<CDVDMsg>::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDResource.h:39: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a(DVDSubtitleLineCollection.o): In function `CDVDOverlay::Release()':
/home/test/tmp/frodo/xbmc/cores/dvdplayer/DVDSubtitles/../DVDCodecs/Overlay/DVDOverlay.h:92: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/interfaces/python/xbmcmodule/xbmcmodule.a(PythonPlayer.o): In function `CPythonPlayer::Release()':
/home/test/tmp/frodo/xbmc/interfaces/python/xbmcmodule/PythonPlayer.cpp:81: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/interfaces/python/xbmcmodule/xbmcmodule.a(PythonPlayer.o): In function `CPythonPlayer::Acquire()':
/home/test/tmp/frodo/xbmc/interfaces/python/xbmcmodule/PythonPlayer.cpp:87: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/threads/threads.a(Atomics.o): In function `CAtomicSpinLock::CAtomicSpinLock(long&)':
/home/test/tmp/frodo/xbmc/threads/Atomics.cpp:503: undefined reference to `cas(long volatile*, long, long)'
xbmc/threads/threads.a(LockFree.o): In function `lf_stack_push(lf_stack*, lf_node*)':
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:51: undefined reference to `cas2(long long volatile*, long long, long long)'
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:53: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/threads/threads.a(LockFree.o): In function `lf_stack_pop(lf_stack*)':
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:69: undefined reference to `cas2(long long volatile*, long long, long long)'
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:59: undefined reference to `AtomicDecrement(long volatile*)'
xbmc/threads/threads.a(LockFree.o): In function `lf_heap_grow(lf_heap*, unsigned int)':
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:117: undefined reference to `cas(long volatile*, long, long)'
xbmc/threads/threads.a(LockFree.o): In function `lf_queue_enqueue(lf_queue*, void*)':
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:214: undefined reference to `cas2(long long volatile*, long long, long long)'
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:214: undefined reference to `cas2(long long volatile*, long long, long long)'
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:203: undefined reference to `cas2(long long volatile*, long long, long long)'
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:226: undefined reference to `AtomicIncrement(long volatile*)'
xbmc/threads/threads.a(LockFree.o): In function `lf_queue_dequeue(lf_queue*)':
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:265: undefined reference to `cas2(long long volatile*, long long, long long)'
/home/test/tmp/frodo/xbmc/threads/LockFree.cpp:272: undefined reference to `AtomicDecrement(long volatile*)'
collect2: error: ld returned 1 exit status
Makefile:343: recipe for target 'xbmc.bin' failed
make: *** [xbmc.bin] Error 1


Seeems Atomics.cpp source code does not include thos efunctions, so I added them


Code:
/usr/bin/ccache mipsel-oe-linux-g++ -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/media/kieszen/test/build-enviroment-core-23/builds/egami/inihdp/tmp/sysroots/inihdp -Os -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -O2 -Os -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -O2 -D_LINUX -fPIC -I/home/builder/kieszen/prism/tmp/frodo/lib/snesapu -Os -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -O2 -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -shared -o /home/builder/kieszen/prism/tmp/frodo/system/players/paplayer//SNESAPU-mips.so SPC700.o APU.o DSP.o SNESAPU.o -Wl,--unresolved-symbols=ignore-all -Wl,-wrap,_IO_getc -Wl,-wrap,_IO_getc_unlocked -Wl,-wrap,_IO_putc -Wl,-wrap,__fxstat64 -Wl,-wrap,__lxstat64 -Wl,-wrap,__xstat64 -Wl,-wrap,_stat -Wl,-wrap,calloc -Wl,-wrap,clearerr -Wl,-wrap,close -Wl,-wrap,closedir -Wl,-wrap,fclose -Wl,-wrap,fdopen -Wl,-wrap,feof -Wl,-wrap,ferror -Wl,-wrap,fflush -Wl,-wrap,fgetc -Wl,-wrap,fgetpos -Wl,-wrap,fgetpos64 -Wl,-wrap,fgets -Wl,-wrap,fileno -Wl,-wrap,flockfile -Wl,-wrap,fopen -Wl,-wrap,fopen64 -Wl,-wrap,fprintf -Wl,-wrap,fputc -Wl,-wrap,fputs -Wl,-wrap,fread -Wl,-wrap,free -Wl,-wrap,freopen -Wl,-wrap,fseek -Wl,-wrap,fseeko64 -Wl,-wrap,fsetpos -Wl,-wrap,fsetpos64 -Wl,-wrap,fstat -Wl,-wrap,fstatvfs64 -Wl,-wrap,ftell -Wl,-wrap,ftello64 -Wl,-wrap,ftrylockfile -Wl,-wrap,funlockfile -Wl,-wrap,fwrite -Wl,-wrap,getc -Wl,-wrap,getc_unlocked -Wl,-wrap,getmntent -Wl,-wrap,ioctl -Wl,-wrap,lseek -Wl,-wrap,lseek64 -Wl,-wrap,malloc -Wl,-wrap,open -Wl,-wrap,open64 -Wl,-wrap,opendir -Wl,-wrap,popen -Wl,-wrap,printf -Wl,-wrap,read -Wl,-wrap,readdir -Wl,-wrap,readdir64 -Wl,-wrap,realloc -Wl,-wrap,rewind -Wl,-wrap,rewinddir -Wl,-wrap,setvbuf -Wl,-wrap,ungetc -Wl,-wrap,vfprintf -Wl,-wrap,write /home/builder/kieszen/prism/tmp/frodo/xbmc/cores/DllLoader/exports/wrapper.o
make[1]: Leaving directory '/media/kieszen/prism/tmp/frodo/lib/snesapu/SNES/SNESAPU'
LD      /media/kieszen/prism/tmp/frodo/xbmc.bin
-----------------------
XBMC built successfully
-----------------------

Mipsel Commpilation for BroadCom CPU. Smile Smile
(This post was last modified: 2014-09-10 22:55 by BMCMaster.)
find quote
BMCMaster Offline
Junior Member
Posts: 17
Joined: Jun 2013
Reputation: 0
Post: #3
Code:
[email protected]:~# /usr/lib/xbmc/xbmc.bin -h
Usage: xbmc [OPTION]... [FILE]...

Arguments:
  -d <n>                delay <n> seconds before starting
  -fs                   Runs XBMC in full screen
  --standalone          XBMC runs in a stand alone environment without a window
                        manager and supporting applications. For example, that
                        enables network settings.
  -p or --portable      XBMC will look for configurations in install folder instead of ~/.xbmc
  --legacy-res          Enables screen resolutions such as PAL, NTSC, etc.
  -l or --lircdev       LircDevice to use default is /dev/lircd .
  -n or --nolirc        do not use Lirc, i.e. no remote input.
  --debug               Enable debug logging
  --version             Print version information
  --test                Enable test mode. [FILE] required.
  --settings=<filename>         Loads specified file after advancedsettings.xml replacing any settings specified
                                specified file must exist in special://xbmc/system/

Code:
[email protected]:~# /usr/lib/xbmc/xbmc.bin -b
ALSA lib /home/admin/oecore23/builds/egami/inihdp/tmp/work/mips32el-oe-linux/alsa-lib/alsa-lib-1.0.27.2-r0/alsa-lib-1.0.27.2/src/pcm/pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM
gbm_create_device: invalid fd: -1
ERROR: Unable to create application. Exiting
Segmentation fault

Code:
[email protected]:~# /usr/lib/xbmc/xbmc.bin -v
XBMC Media Center 12.0-ALPHA2 Git:20120531-1495cbe
Copyright (C) 2005-2011 Team XBMC - http://www.xbmc.org

Code:
[email protected]:~# cat /proc/cpuinfo
system type             : BCM7425B2 STB platform
machine                 : Unknown
processor               : 0
cpu model               : Broadcom BMIPS5000 V1.1  FPU V0.1
BogoMIPS                : 864.25
cpu MHz                 : 1305.100
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 64
extra interrupt vector  : yes
hardware watchpoint     : no
isa                     : mips1 mips2 mips32r1
ASEs implemented        :
shadow register sets    : 1
kscratch registers      : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

processor               : 1
cpu model               : Broadcom BMIPS5000 V1.1  FPU V0.1
BogoMIPS                : 655.36
cpu MHz                 : 1305.100
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 64
extra interrupt vector  : yes
hardware watchpoint     : no
isa                     : mips1 mips2 mips32r1
ASEs implemented        :
shadow register sets    : 1
kscratch registers      : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available


So now is time to wait for opengl driver for BCM STB Smile
(This post was last modified: 2014-09-10 23:37 by BMCMaster.)
find quote
da-anda Offline
Team-Kodi Member
Posts: 5,744
Joined: Jun 2009
Reputation: 75
Location: germany
Post: #4
sorry for the probably stupid question, but why are you working with 12.0 (Frodo) and not latest version?
find quote
BMCMaster Offline
Junior Member
Posts: 17
Joined: Jun 2013
Reputation: 0
Post: #5
After I will finish toolchain, I will move to KODI Smile
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,387
Joined: Nov 2013
Reputation: 65
Post: #6
warning: you'll find that the build system has changed substantially, and the dependencies has as well (versions, some removed, some added, ...) you will risk having to redo large chunks of your work.
find quote
BMCMaster Offline
Junior Member
Posts: 17
Joined: Jun 2013
Reputation: 0
Post: #7
(2014-09-11 10:23)ironic_monkey Wrote:  warning: you'll find that the build system has changed substantially, and the dependencies has as well (versions, some removed, some added, ...) you will risk having to redo large chunks of your work.

Do not worry, toolchain will base on thing which already exist, so it won't cause problems as You think, as it will use current versions of each lib and build with current revision.

It will generete rootfs as well and everything else.
(This post was last modified: 2014-09-11 11:01 by BMCMaster.)
find quote
MrMC Offline
Posting Freak
Posts: 757
Joined: Jun 2014
Reputation: 31
Post: #8
You might check into https://github.com/theuni/xbmc/commits/mips

Cory and I (davilla) did a xbmc for mips long ago for sigma.
find quote
BMCMaster Offline
Junior Member
Posts: 17
Joined: Jun 2013
Reputation: 0
Post: #9
(2014-09-11 15:14)MeatGrinder Wrote:  You might check into https://github.com/theuni/xbmc/commits/mips

Cory and I (davilla) did a xbmc for mips long ago for sigma.

Thanks for infromations, but how do You commpile it ?

Do You have any toolchain ?
find quote
MrMC Offline
Posting Freak
Posts: 757
Joined: Jun 2014
Reputation: 31
Post: #10
Sigma's toolchain. best not to try to compile but take the applicable/relevant code changes. I think there is another branch somewhere, this looks like early work. Not sure if Sigma ever released source changes, as not sure if it was ever a released product.
find quote
BMCMaster Offline
Junior Member
Posts: 17
Joined: Jun 2013
Reputation: 0
Post: #11
(2014-09-11 21:34)MeatGrinder Wrote:  Sigma's toolchain. best not to try to compile but take the applicable/relevant code changes. I think there is another branch somewhere, this looks like early work. Not sure if Sigma ever released source changes, as not sure if it was ever a released product.

I am planning to adapt changes to KODI, but just changes and source change are usless if You have no tools to commpile it.

Does SIGMA enviroment is public ? I did not find it anywhere.
find quote
MrMC Offline
Posting Freak
Posts: 757
Joined: Jun 2014
Reputation: 31
Post: #12
nothing public, best you can do is talk to https://github.com/gvsigma
find quote
RockerC Offline
Posting Freak
Posts: 1,436
Joined: May 2011
Reputation: 27
Post: #13
(2014-09-10 23:35)BMCMaster Wrote:  
Code:
[email protected]:~# /usr/lib/xbmc/xbmc.bin -v
XBMC Media Center 12.0-ALPHA2 Git:20120531-1495cbe
Copyright (C) 2005-2011 Team XBMC - http://www.xbmc.org
(2014-09-11 09:10)da-anda Wrote:  sorry for the probably stupid question, but why are you working with 12.0 (Frodo) and not latest version?
Sorry to again ask the probably not so stupid question, but

WHY NOT at least begin with latest stable 13.2 (Gotham) or the master which now is 14.0 Alpha (Helix)? Why are you trying to start by compiling an Alpha of XBMC 12.0 which is over 2-years old?

I think that you are that way making it much harder for yourself than it needs to be. And you will be able to get more support here if you instead was trying to compile master as its mainline.


I was also wondering if you will be only looking at Linux for BCM7425, or if you later plan on Kodi on MIPS for Android too?


Other than that I want to wish you good luck!
(This post was last modified: 2014-09-12 17:47 by RockerC.)
find quote
MrMC Offline
Posting Freak
Posts: 757
Joined: Jun 2014
Reputation: 31
Post: #14
No opengl driver is going to hurt, no opengl user libs is going to hurt even more. Those are typically closed source and if you don't have them matched to your GPU, this port will be useless.

Next up is hardware video decode. Without that, this port will be useless unless you are happy watching SD video content and doing software decode.
find quote
Memphiz Offline
Kodi MVP
Posts: 15,935
Joined: Feb 2011
Reputation: 221
Location: germany
Post: #15
mhhh mips for android should only be a switch to the correct toolchain (similar to android arm vs x86 now)

AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
find quote
Post Reply