LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 11-22-2023, 04:26 AM   #1
Toutatis
Member
 
Registered: Feb 2013
Posts: 415

Rep: Reputation: Disabled
mpv and libplacebo


Hello,

I tried to compile the new mpv-0.37.0, and now libplacebo-6 is required.
So I tried to compile libplacebo-6 with the slackbuilds.org slackbuild for libplacebo-5. First I installed successfully python3-glad. Then the following error appears in the compilation of libplacebo-6

Quote:
usr/bin/ld: demos/plplay.p/plplay.c.o*: dans la fonction «*main*»*:
plplay.c.text.startup+0x6b): undefined reference to `parse_args'
collect2: erreur: ld a retourné le statut de sortie 1
ninja: build stopped: subcommand failed.
Since plplay is in the demos, I removed the option "demos" in meson-buid.txt, and libplacebo-6 compiled successfully.

mpv-0.37 was also compiled successfully after that, and it works correctly so far.

So my question is: in which library is the function "parse_args" ?
 
Old 11-22-2023, 05:01 AM   #2
giomat
Member
 
Registered: Jul 2017
Posts: 341

Rep: Reputation: 241Reputation: 241Reputation: 241
parse_args is declared in demos/plplay.p/plplay.h and implemented in demos/plplay.p/settings.c.
However, the implementation is defined only if the flag "HAVE_NUKLEAR" is declared, but to me it doesn't seem to depend on nuklear, it's just parsing cli arguments.
Try to move the implementation outside the "#ifdef HAVE_NUKLEAR" line (it's on line 17 of demos/plplay.p/settings.c) and see if it works.
 
Old 11-22-2023, 05:52 AM   #3
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,131

Rep: Reputation: 4202Reputation: 4202Reputation: 4202Reputation: 4202Reputation: 4202Reputation: 4202Reputation: 4202Reputation: 4202Reputation: 4202Reputation: 4202Reputation: 4202
you can also just pass the -Ddemos=false parameter between the meson options.

On an unrelated note, I hope I am wrong, but most probably libplacebo won't be updated to 6.x on 15.0 because that version requires a vulkan-sdk newer than the one provided by Slackware...

Last edited by ponce; 11-22-2023 at 07:53 AM.
 
Old 11-23-2023, 12:41 AM   #4
Mark Pettit
Member
 
Registered: Dec 2008
Location: Cape Town, South Africa
Distribution: Slackware 15.0
Posts: 625

Rep: Reputation: 301Reputation: 301Reputation: 301Reputation: 301
Of course the real issue here is : does libplacebo work because you think it does ?

Last edited by Mark Pettit; 11-23-2023 at 12:56 AM.
 
1 members found this post helpful.
Old 11-23-2023, 12:41 AM   #5
Mark Pettit
Member
 
Registered: Dec 2008
Location: Cape Town, South Africa
Distribution: Slackware 15.0
Posts: 625

Rep: Reputation: 301Reputation: 301Reputation: 301Reputation: 301
Of course the real issue here is : does libplacebo work because you think it does ?

Last edited by Mark Pettit; 11-23-2023 at 12:56 AM.
 
1 members found this post helpful.
Old 11-23-2023, 02:05 AM   #6
Toutatis
Member
 
Registered: Feb 2013
Posts: 415

Original Poster
Rep: Reputation: Disabled
Thank you for the answers.

@giomat Compilation is successful if I put the parse_args function outside the "#ifdef HAVE_NUKLEAR" part of demos/plplay.p/settings.c . And the libplacebo.so.338 file is identical to the previous one. So the change only affects the demos.
 
Old 11-23-2023, 02:18 AM   #7
giomat
Member
 
Registered: Jul 2017
Posts: 341

Rep: Reputation: 241Reputation: 241Reputation: 241
Quote:
Originally Posted by Toutatis View Post
Thank you for the answers.

@giomat Compilation is successful if I put the parse_args function outside the "#ifdef HAVE_NUKLEAR" part of demos/plplay.p/settings.c . And the libplacebo.so.338 file is identical to the previous one. So the change only affects the demos.
Great! Perhaps worth to leave an issue on their github
 
Old 11-23-2023, 08:57 PM   #8
chris.willing
Member
 
Registered: Jun 2014
Location: Sydney, Australia
Distribution: Slackware,LFS
Posts: 920

Rep: Reputation: 621Reputation: 621Reputation: 621Reputation: 621Reputation: 621Reputation: 621
On 15.0 the main problems for mpv-0.37.0 are the versions of meson and, because of that, the version of libplacebo that is able to be built.

Here is a hack that adds the latest version of meson into /opt which can be used to then build libplacebo and then mpv-0.37.0. Run:
Code:
python3 -m pip install --target /opt meson
Now edit /opt/bin/meson: after the line 'import sys', add a new line with
Code:
sys.path.append('/opt/')
In SBO's libplacebo, update all the versions to 6.338.1. Also in the libplacebo.SlackBuild file at line 92, change 'meson' to '/opt/bin/meson'. Add another line just after that containing (thanks ponce)
Code:
-Ddemos=false \
You should now be able to build (and install when done) the latest libplacebo.

Make similar changes in /multimedia/mpv (version numbers and change 'meson' to '/opt/bin/meson'). mpv-0.37.0 should now build (works for me).

It's not very clean - a proper SlackBuild for meson-1.3.0 (meson-latest?) installing into /opt would make it nicer.

chris

Last edited by chris.willing; 11-23-2023 at 09:03 PM.
 
Old 11-23-2023, 10:29 PM   #9
fourtysixandtwo
Member
 
Registered: Jun 2021
Location: Alberta
Distribution: Slackware...mostly
Posts: 328

Rep: Reputation: 217Reputation: 217Reputation: 217
Quote:
Originally Posted by chris.willing View Post
On 15.0 the main problems for mpv-0.37.0 are the versions of meson and, because of that, the version of libplacebo that is able to be built.

Here is a hack that adds the latest version of meson into /opt which can be used to then build libplacebo and then mpv-0.37.0. Run:
Code:
python3 -m pip install --target /opt meson
Now edit /opt/bin/meson: after the line 'import sys', add a new line with
Code:
sys.path.append('/opt/')
In SBO's libplacebo, update all the versions to 6.338.1. Also in the libplacebo.SlackBuild file at line 92, change 'meson' to '/opt/bin/meson'. Add another line just after that containing (thanks ponce)
Code:
-Ddemos=false \
You should now be able to build (and install when done) the latest libplacebo.

Make similar changes in /multimedia/mpv (version numbers and change 'meson' to '/opt/bin/meson'). mpv-0.37.0 should now build (works for me).

It's not very clean - a proper SlackBuild for meson-1.3.0 (meson-latest?) installing into /opt would make it nicer.

chris
Hey Chris, I submitted a slackbuild for python3-meson-opt a while back. I haven't upgraded it to 1.3.0 yet if that's what needed, I can get it updated for tomorrow. Then all you need to do is set PYTHONPATH in your slackbuild to use it (see the slackbuild README). I also haven't found that the newer meson bin is needed so far just the module, but the slackbuild installs it to /opt/meson/bin/meson just in case.

I'll try building libplacebo with it shortly.
 
Old 11-23-2023, 10:43 PM   #10
fourtysixandtwo
Member
 
Registered: Jun 2021
Location: Alberta
Distribution: Slackware...mostly
Posts: 328

Rep: Reputation: 217Reputation: 217Reputation: 217
libplacebo builds fine with the following diff and works fine with meson-1.2.3:

Code:
diff --git a/graphics/libplacebo/libplacebo.SlackBuild b/graphics/libplacebo/libplacebo.SlackBuild
index b4e0709e2..0a23508bc 100644
--- a/graphics/libplacebo/libplacebo.SlackBuild
+++ b/graphics/libplacebo/libplacebo.SlackBuild
@@ -26,7 +26,7 @@
 cd $(dirname $0) ; CWD=$(pwd)
 
 PRGNAM=libplacebo
-VERSION=${VERSION:-5.264.1}
+VERSION=${VERSION:-6.338.1}
 BUILD=${BUILD:-1}
 TAG=${TAG:-_SBo}
 PKGTYPE=${PKGTYPE:-tgz}
@@ -87,6 +87,8 @@ else
   RELEASE=plain
 fi
 
+export PYTHONPATH=/opt/python3.9/site-packages/
+
 CFLAGS="$SLKCFLAGS" \
 CXXFLAGS="$SLKCFLAGS" \
 meson \
@@ -95,6 +97,7 @@ meson \
   -Dstrip=$NDEBUG \
   -Db_ndebug=$NDEBUG \
   -Dbuildtype=$RELEASE \
+  -Ddemos=false \
   build
 
 "${NINJA:=ninja}" -C build
diff --git a/graphics/libplacebo/libplacebo.info b/graphics/libplacebo/libplacebo.info
index 2a226fac8..0bbbb982d 100644
--- a/graphics/libplacebo/libplacebo.info
+++ b/graphics/libplacebo/libplacebo.info
@@ -1,10 +1,10 @@
 PRGNAM="libplacebo"
-VERSION="5.264.1"
+VERSION="6.338.1"
 HOMEPAGE="https://code.videolan.org/videolan/libplacebo"
-DOWNLOAD="https://code.videolan.org/videolan/libplacebo/-/archive/v5.264.1/libplacebo-v5.264.1.tar.gz"
+DOWNLOAD="https://code.videolan.org/videolan/libplacebo/-/archive/v6.338.1/libplacebo-v6.338.1.tar.gz"
-MD5SUM="965a8a64da4e72e0cb8a7434c95e158a"
+MD5SUM="36f5d178cc8a5366e35fe1e7400c19c3"
 DOWNLOAD_x86_64=""
 MD5SUM_x86_64=""
-REQUIRES="python3-glad"
+REQUIRES="python3-meson-opt python3-glad"
edit:
And mpv 0.37.0 seems to build and run fine with or without the newer meson. Like ponce said vulkan is disabled though.

Code:
diff --git a/multimedia/mpv/mpv.SlackBuild b/multimedia/mpv/mpv.SlackBuild
index afb213f97..68d4a5f0f 100644
--- a/multimedia/mpv/mpv.SlackBuild
+++ b/multimedia/mpv/mpv.SlackBuild
@@ -27,7 +27,7 @@
 cd $(dirname $0) ; CWD=$(pwd)
 
 PRGNAM=mpv
-VERSION=${VERSION:-0.36.0}
+VERSION=${VERSION:-0.37.0}
 BUILD=${BUILD:-3}
 TAG=${TAG:-_SBo}
 PKGTYPE=${PKGTYPE:-tgz}
@@ -94,6 +94,8 @@ pipewire="-Dpipewire=disabled" ; [ "${USE_PIPEWIRE:-no}" != "no" ] && pipewire="
 # See `meson configure` to see what's available.
 BUILD_OPTS=${BUILD_OPTS:-""}
 
+export PYTHONPATH=/opt/python3.9/site-packages/
+
 CFLAGS="$SLKCFLAGS -ldl" \
 CXXFLAGS="$SLKCFLAGS" \
 meson \
diff --git a/multimedia/mpv/mpv.info b/multimedia/mpv/mpv.info
index d1d708f6d..4536eda71 100644
--- a/multimedia/mpv/mpv.info
+++ b/multimedia/mpv/mpv.info
@@ -1,8 +1,8 @@
 PRGNAM="mpv"
-VERSION="0.36.0"
+VERSION="0.37.0"
 HOMEPAGE="https://mpv.io/"
-DOWNLOAD="https://github.com/mpv-player/mpv/archive/v0.36.0/mpv-0.36.0.tar.gz"
+DOWNLOAD="https://github.com/mpv-player/mpv/archive/v0.37.0/mpv-0.37.0.tar.gz"
-MD5SUM="3ac8bb1fec1c09293a574e615446bb3b"
+MD5SUM="54bd6864cc831f1fee6dee693a0421eb"
 DOWNLOAD_x86_64=""
 MD5SUM_x86_64=""
 REQUIRES="libass libplacebo luajit mujs"

Last edited by fourtysixandtwo; 11-23-2023 at 11:15 PM.
 
Old 11-25-2023, 02:18 AM   #11
chris.willing
Member
 
Registered: Jun 2014
Location: Sydney, Australia
Distribution: Slackware,LFS
Posts: 920

Rep: Reputation: 621Reputation: 621Reputation: 621Reputation: 621Reputation: 621Reputation: 621
Quote:
Originally Posted by fourtysixandtwo View Post
Hey Chris, I submitted a slackbuild for python3-meson-opt a while back.
Yes I thought I'd seen something like before that but when I searched for "meson" at the SBo website yesterday, python3-meson-opt didn't come up (it does today). So thanks - I've update the SlackBuild for libplacebo to use it, as well as mpv's update to 0.37.0.

chris
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Libplacebo won't build for me 3rensho Slackware 4 01-20-2023 03:40 AM
[SOLVED] [INF] Still recommending mpv-0.27 after new mpv release and -current update 1337_powerslacker Slackware 16 12-31-2017 01:17 AM
[SOLVED] How do I get xdg-open (and Chromium) to open FLV files in mpv? dugan Slackware 2 08-15-2015 04:51 PM
LXer: Using mpv to escape start and end of videos (like in anime, tv shows etc) LXer Syndicated Linux News 0 05-04-2014 06:01 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:24 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration