vsxu slackbuilds fail - for vlc - sort of SOLVED

The SARPi project forum. For anything and everything relating to Slackware ARM on a Raspberry Pi 1, 2, and 3. This forum is NOT a replacement or substitute for the Slackware (ARM) forums on Linux Questions website! Please try to seek help there first about any issues you may be experiencing, or question you might have, before posting on here.
User avatar
glorsplitz
Registered user
Registered user
Posts: 36
Joined: Sun Aug 07 2016 - 22:54:24

vsxu slackbuilds fail - for vlc - sort of SOLVED

Postby glorsplitz » Tue Dec 27 2016 - 06:19:59

Hi everyone

Yea I know what you said Exaga about having issues with building slackbuilds kodi on rpi.

I'm trying to learn how to do this stuff and was curious about slackbuilds vlc. I stepped thru all the vlc prerequisites, I got ffmpeg built nice and even transcode because everything else built I figured why not.

Then I get to https://slackbuilds.org/repository/14.2/graphics/vsxu/?search=vsxu. I found this related link https://patchwork.ozlabs.org/patch/559204/ but it's not clear to me if the issue is/was solved. I don't see if/how ‘-mtune=nocona’ was addressed.

I think I also found vsxu can't be omitted in vlc configure.

Really? I got 75 slackbuilds built and installed, all their prerequisites and I can't finish because of just one?

See below, I'd attached text file instead but don't see how. Thanks!

./vsxu.SlackBuild
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
---------------------------------------------------------------------
Configuring Vovoid VSXu
=====================================================================
configuring vsxu_engine
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
configuring vsxu_engine_audiovisual
-- Found OpenGL: /usr/lib/libGL.so
configuring vsxu_engine_graphics
-- Found GLEW: /usr/include
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.8")
-- Found PNG: /usr/lib/libpng.so (found version "1.6.23")
-- Found JPEG: /usr/lib/libjpeg.so
-- Found Freetype: /usr/lib/libfreetype.so (found version "2.6.5")
CMake Warning (dev) in plugins/CMakeLists.txt:
Syntax Warning in cmake code at

/tmp/SBo/vsxu-0.5.1/plugins/CMakeLists.txt:6:126

Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.

configuring vsxu module bitmap.modifiers
configuring vsxu module bitmap.generators
configuring vsxu module _deprecated
configuring vsxu module math
configuring vsxu module math.oscillators
configuring vsxu module mesh.generators
configuring vsxu module mesh.importers
configuring vsxu module mesh.modifiers
configuring vsxu module mesh.render
configuring vsxu module opengl
configuring vsxu module particlesystem.generators
configuring vsxu module particlesystem.modifiers
configuring vsxu module particlesystem.render
configuring vsxu module render.basic
configuring vsxu module render.glsl
configuring vsxu module lines
configuring vsxu module render.opengl
configuring vsxu module render.skybox
configuring vsxu module render.text
configuring vsxu module selectors
configuring vsxu module sound.rtaudio
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libpulse>=0.9.9'
-- Found libpulse, version 9.0-rebootstrapped
-- Checking for module 'libpulse-mainloop-glib'
-- Found libpulse-mainloop-glib, version 9.0-rebootstrapped
-- Found PULSEAUDIO: /usr/lib/libpulse.so
-- Checking for module 'jack'
-- Found jack, version 0.124.1
-- Found jack: /usr/lib/libjack.so
-- Found ALSA: /usr/lib/libasound.so (found version "1.1.2")
configuring vsxu module system
configuring vsxu module texture
configuring vsx_widget
-- Found GLFW: /usr/lib/libglfw.so
configuring vsxu_artiste
configuring vsxu_player
configuring vsxu_profiler
configuring vsxu_server
configuring vsxz
configuring vxm
configuring vsxl
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/SBo/vsxu-0.5.1/build
Scanning dependencies of target vsxu_engine
[ 0%] Building CXX object engine/CMakeFiles/vsxu_engine.dir/src/vsxfst/Common/StringConvert.cpp.o
c++: error: unrecognized argument in option â-mtune=noconaâ
c++: note: valid arguments to â-mtune=â are: arm1020e arm1020t arm1022e arm1026ej-s arm10e arm10tdmi
arm1136j-s arm1136jf-s arm1156t2-s arm1156t2f-s arm1176jz-s arm1176jzf-s arm2 arm250 arm3 arm6 arm60
arm600 arm610 arm620 arm7 arm70 arm700 arm700i arm710 arm7100 arm710c arm710t arm720 arm720t arm740t
arm7500 arm7500fe arm7d arm7di arm7dm arm7dmi arm7m arm7tdmi arm7tdmi-s arm8 arm810 arm9 arm920 arm920t
arm922t arm926ej-s arm940t arm946e-s arm966e-s arm968e-s arm9e arm9tdmi cortex-a12 cortex-a15
cortex-a15.cortex-a7 cortex-a17 cortex-a17.cortex-a7 cortex-a5 cortex-a53 cortex-a57 cortex-a57.cortex-a53
cortex-a7 cortex-a72 cortex-a72.cortex-a53 cortex-a8 cortex-a9 cortex-m0 cortex-m0.small-multiply
cortex-m0plus cortex-m0plus.small-multiply cortex-m1 cortex-m1.small-multiply cortex-m3 cortex-m4
cortex-m7 cortex-r4 cortex-r4f cortex-r5 cortex-r7 ep9312 exynos-m1 fa526 fa606te fa626 fa626te
fa726te fmp626 generic-armv7-a iwmmxt iwmmxt2 marvell-pj4 mpcore mpcorenovfp native strongarm
strongarm110 strongarm1100 strongarm1110 xgene1 xscale
engine/CMakeFiles/vsxu_engine.dir/build.make:62: recipe for target
'engine/CMakeFiles/vsxu_engine.dir/src/vsxfst/Common/StringConvert.cpp.o' failed
make[2]: *** [engine/CMakeFiles/vsxu_engine.dir/src/vsxfst/Common/StringConvert.cpp.o] Error 1
CMakeFiles/Makefile2:117: recipe for target 'engine/CMakeFiles/vsxu_engine.dir/all' failed
make[1]: *** [engine/CMakeFiles/vsxu_engine.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
Last edited by glorsplitz on Fri Dec 30 2016 - 05:05:05, edited 3 times in total.

User avatar
Exaga
FatDog Network Administrator
FatDog Network Administrator
Posts: 198
Joined: Wed Apr 18 2012 - 02:01:03
Location: England [UK]

Re: vsxu slackbuilds fail

Postby Exaga » Tue Dec 27 2016 - 10:15:19

This Kodi forum thread might be of some use: http://forum.kodi.tv/showthread.php?tid=114617&page=2.
Exaga

====
__ KEEP THE DOG ALIVE!!!
()'`; /
/\|` W00f W00f W00f
www.fatdog.eu

User avatar
glorsplitz
Registered user
Registered user
Posts: 36
Joined: Sun Aug 07 2016 - 22:54:24

Re: vsxu slackbuilds fail

Postby glorsplitz » Wed Dec 28 2016 - 01:50:28

I found that page too. Thanks.

Some progress. Changed -mtune=nocona in CMakeLists.txt to -mtune=arm7.

make got farther, chugged along about 25 minutes, got to
[ 94%] Building CXX object profiler/CMakeFiles/vsxu_profiler.dir/src/profiler_main.cpp.o
then failed with the same error "vsx_profiler_rdtsc was not declared in this scope" in different functions:
/vsxu-0.5.1/profiler/include/vsx_profiler.h: In member function void vsx_profiler::maj_end():
/vsxu-0.5.1/profiler/include/vsx_profiler.h:211:37: error: vsx_profiler_rdtsc was not declared in this scope
uint64_t t = vsx_profiler_rdtsc();

So now I'm wondering in vsx_profiler.h, vsx_profiler_rdtsc() doesn't get set properly because __i386, __amd64 are undefined?

Code: Select all

#ifdef __i386
__inline__ uint64_t vsx_profiler_rdtsc()
{
  uint64_t x;
  __asm__ volatile ("rdtsc" : "=A" (x));
  return x;
}
#elif __amd64
inline uint64_t vsx_profiler_rdtsc()
{
  uint64_t a, d;
  __asm__ volatile ("rdtsc" : "=a" (a), "=d" (d));
  return (d<<32) | a;
}
#endif


And I'm also wondering if I add the following before #endif will that allow it to get vsx_profiler_rdtsc() proper?

Code: Select all

#elif __arm
inline uint64_t vsx_profiler_rdtsc()
{
  uint64_t a, d;
  __asm__ volatile ("rdtsc" : "=a" (a), "=d" (d));
  return (d<<32) | a;
}

User avatar
glorsplitz
Registered user
Registered user
Posts: 36
Joined: Sun Aug 07 2016 - 22:54:24

Re: vsxu slackbuilds fail

Postby glorsplitz » Wed Dec 28 2016 - 05:07:32

end of the road

I made change I posted about #elif __arm__ ... "vsx_profiler_rdtsc was not declared in this scope" messages stopped showing up.

Then got "error: impossible constraint in asm".

Searched for that found this http://stackoverflow.com/questions/30918170/impossible-constraint-in-asm-error which says
"This is inline x86 assembly. It will not compile for ARM."

poop

User avatar
Exaga
FatDog Network Administrator
FatDog Network Administrator
Posts: 198
Joined: Wed Apr 18 2012 - 02:01:03
Location: England [UK]

Re: vsxu slackbuilds fail

Postby Exaga » Wed Dec 28 2016 - 22:57:45

glorsplitz wrote:end of the road

Searched for that found this http://stackoverflow.com/questions/30918170/impossible-constraint-in-asm-error which says
"This is inline x86 assembly. It will not compile for ARM."

poop


Yep. As that thread I referred you to states; patches required. :pray:
Exaga

====
__ KEEP THE DOG ALIVE!!!
()'`; /
/\|` W00f W00f W00f
www.fatdog.eu

User avatar
glorsplitz
Registered user
Registered user
Posts: 36
Joined: Sun Aug 07 2016 - 22:54:24

found some help

Postby glorsplitz » Thu Dec 29 2016 - 22:44:49

Hello again, here's an update if anyone's interested.

I found this http://intensecode.blogspot.com/2013/10/tutorial-vlc-with-hardware-acceleration.html.

My sarpi3 set up did not have /usr/lib/libglut.la, found /usr/lib64/libglut.la on my main slackware computer, modified that for sarpi3.

I used slackbuilds vlc files. I changed vlc.Slackbuild to what the link says.

Added step for ./bootstrap, make clean, added the three --enable... to ./configure step.

slackpkg got built, installpkg, cvlc website is playing music. Haven't tried vlc gui yet.

Interestingly I got all the vlc, ffmpeg, transcode required dependencies built, except vsxu-0.5.1.
in ./transcode.SlackBuild removed this line: --enable-nuv \

I didn't bother with couple optional like libquicktime and didn't bother with anything listed in the tutorial link above.

df 32% went to 34%.

CHEERS!

<edit> I didn't know cvlc could stream music or video, both seem to work from the sarpi3 to other slackware computers
http://raspberrypi.tomasgreno.cz/streaming-with-vlc.html

User avatar
chris.willing
Registered user
Registered user
Posts: 4
Joined: Thu Jan 12 2017 - 07:06:33

Re: vsxu slackbuilds fail - for vlc - sort of SOLVED

Postby chris.willing » Fri Jan 13 2017 - 01:04:09

Although using a copy of the missing libglut.la from a regular 14.2 system may be good enough to let the compile work, it will have the wrong file paths (/usr/lib64) and wrong shared object versions for -current (which uses a more recent version of freeglut,which used to provide libglu.la). Therefore whatever runtime functionality the libglut.la file enables will most probably not work as expected.

Instead of copying a libglut.la from somewhere else, its best to create a new one that reflects the version and architecture being used; something like:

Code: Select all

libtool --mode=link gcc -o libglut.la libglut.so.3.10.0 -rpath /usr/lib -lX11 -lXxf86vm -Xrandr -lGL -lm -version-info 13:0:10 -shared
will do the job in this case. This will produce a valid libglut.la in the current directory from where it should be copied into /usr/lib.

The problematic vsxu is to be made optional in SBo's vlc SlackBuild, so shouldn't be a problem in future.

The live555 SlackBuild is also being modified to work correctly with arm architecture, so building of vlc and all its requirements should be 'easy' in future.

chris

User avatar
glorsplitz
Registered user
Registered user
Posts: 36
Joined: Sun Aug 07 2016 - 22:54:24

Re: vsxu slackbuilds fail - for vlc - sort of SOLVED

Postby glorsplitz » Sat Jan 14 2017 - 19:29:08

chris, thanks for the information. I used /usr/lib64/libglut.la as a model and changed it accordingly to what I found and what should be system wise on the rpi.

I will add how you said to create it to my notes in chase I run in similar circumstance in the future.

Return to “SARPi Project - Slackware ARM on a Raspberry Pi”

Who is online

Users browsing this forum: CommonCrawl [Bot] and 0 guests