-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug: 2.4.x not compiling with ffmpeg 7 #1578
Comments
It looks like your system is using ffmpeg 7 which introduced some breaking changes. I should point out that we generally only recommend using the LTS versions of ubuntu, those are what we test with.
What did you need to install that wasn't documented? |
Thanks for reply. Let me point out things one by one.
Well, I should mention that I tested it on LTS as well.
Build was failing even on ffmpeg6 , then I tested on ffmpeg built from
source that was 7 you right , I did not notice that maybe because Macports
still uses version 6 :( and I was so frustrated that I wanted to write
Caspar from scratch.
Haven’t checked that on Linux but on MacOS ffmpeg 6 so probably also 7
installs his corresponding headers in /opt/local/libexec/ffmpeg6/include
instead of /opt/local/include - I don’t know the reason but it must taken
into considerations when using as dependency.
I cannot tell you at the moment what was missing , I would have to repeat
whole process. Whenever I did make command there was always something
missing like even OpenGL, GLX, SFMTL. The system version of ffmpeg install
different set of dependencies that your installation script inside source
code. Cmake is weird conf system e.g. in Macports it install python as
dependency which is really not necessary.
Also my concern is that your script downloading code that uses boost
library but the code is copyrighted in 2001! 23 years is a lot of time.
I currently have difficulties to analyze and correct code because Visual
Studio Code does not respect searchPaths for includes :(
The binary version from Ubuntu crashes on Mint - why? They are both based
on Debian.
I think 2 years ago I wanted macOS version and only one person wanted to
help me with this, sad. So I am going to work on CasparCg using MGL project
or to create it just in Metal. Unless you do mind because licensing.
Cheers
W dniu pon., 7.10.2024 o 10:47 Julian Waller ***@***.***>
napisał(a):
… It looks like your system is using ffmpeg 7 which introduced some breaking
changes.
This is fixed in master, which I suppose would be reasonable to backport
to 2.4.1
I should point out that we generally only recommend using the LTS versions
of ubuntu, those are what we test with.
Install lot of dependencies - cmake doest not suggest what to install so
the BUILDING.md is incomplete
What did you need to install that wasn't documented?
—
Reply to this email directly, view it on GitHub
<#1578 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEQPFVSMTOBWSKL66LUOZ3Z2JDANAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJWGMYDANBRGU>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Strange, we are running builds in ubuntu 22.04 and 24.04 in github actions, using solely system dependencies to ensure that it remains building successfully on those. As well as one on ubuntu 22.04 which uses our packaged dependencies server/.github/workflows/linux-system.yml Lines 23 to 48 in d37b9d0
and you can see a successful run from it last week https://github.com/CasparCG/server/actions/runs/11076901193/job/30780996777 so it should work locally too. I can't speak for mint though.
Both of those paths are rather non standard for linux, so they sound like a macos 'quirk', that as we don't support macos don't handle currently. I don't have a problem with supporting other paths, but don't know where that should fit into the cmake config
Strange, I can't explain this assuming you were using ubuntu/mint there.
The version we use in 2.4 is from 2018, but it is likely that some of the copyright notices haven't been updated.
Personally, I don't mind the idea of having some code in this repository to make it buildable/usable on macos. But I am hesitant to accept an implementation using metal. |
@Behinder if you'd like, you can try Server builds from my repo: https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcg |
or from mine https://launchpad.net/~casparcg/+archive/ubuntu/ppa I forgot to reply to this part, its going to be some library version mismatch. The zip files are too agressive at what they include, (see #1532) but including less means requiring some packages to be manually installed on the system. |
@Julusian maybe some day you will accept my CEF patches, so that my builds can live in your repo 😃 |
Give me some time for that, I will test your builds.
pon., 7 paź 2024 o 16:34 D-mo ***@***.***> napisał(a):
… or from mine https://launchpad.net/~casparcg/+archive/ubuntu/ppa
@Julusian <https://github.com/Julusian> maybe some day you will accept my
CEF patches, so that my builds can live in your repo 😃
—
Reply to this email directly, view it on GitHub
<#1578 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEQPFRQFBB7LHVP72IO54LZ2KLWXAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJXGEYDONRYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Linux Mint MachineDistributor ID: Linuxmint Build from https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcg[2024-10-10 14:02:20.053790] [0x000074a8cc372700] [error] 0# 0x000056B44EC94B04 Type "q" to close application. There is no GUI turned on on remote machine so I this is error for launching with --noconsole flag. Build from https://launchpad.net/~casparcg/+archive/ubuntu/ppa[2024-10-10 14:25:05.884910] [0x00007f6f90d0d700] [error] 0# 0x0000608D0CFA0B04 So both apps coredumped REMEMBER: add system information log Docker container with Ubuntu on M2ProBuild from https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcgcasparcg-server-2.4 [2024-10-10 12:37:00.080767] [0x0000ffff8182d040] [error] 0# 0x0000AAAAACEB449C Type "q" to close application. Build from https://launchpad.net/~casparcg/+archive/ubuntu/pparepository was added but casparcg-server-2.4 has no installation candidate, DEBIAN MachineBuild https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcgWarning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). Build from https://launchpad.net/~casparcg/+archive/ubuntu/ppaAn 'unofficial' PPA for CasparCG server (made by one of the maintainers) gpg: keybox ,,/tmp/tmpdtf1tzk4/pubring.gpg'' utworzony so unable to test builds on debian. |
Its not a case of docker, but I haven't made any arm64 builds, which is what your m2 mac will be looking for.
This is 'normal' behaviour when it tries and fails to find a config file, could that be what you are hitting?
tbh I didn't know that debian had any support for ppas, those are a very ubuntu convention. Its complaining something about gpg keys, no clue what to do with that tbh. |
@Behinder try this: sudo apt install gpg-agent
sudo mkdir -p /root/.gnupg
sudo add-apt-repository ppa:ppa-verse/casparcg
sudo apt install casparcg-server |
I thought default config is shipped with installer as it is in binary
shipped as gzip.
I had problems when config file was corrupted or perhaps something was
wrong in XML syntax but with default config it should run and I assumed
core dump was because of OPenGL not the config so I don't know.
I don't know either that PPA is convention of Ubuntu. Since Ubuntu uses
same deb system like Debian I assumed it should work apparently it's not.
I have launched latest Ubuntu LTS in UTM - Caspar probably not run anyway
but at least I could do arm64 build for Linux.
pt., 11 paź 2024 o 14:47 Julian Waller ***@***.***>
napisał(a):
… Build from launchpad.net/~casparcg/+archive/ubuntu/ppa
repository was added but casparcg-server-2.4 has no installation candidate,
apt update does nothing so I guess this is repository not for docker
builds.
Its not a case of docker, but I haven't made any arm64 builds, which is
what your m2 mac will be looking for.
I suspect it wouldn't even run though, because macos doesn't support the
version of opengl we need. But perhaps there is some docker tooling that
will run some metal translation layer that could be used. Either way, it
logs when it fails to initialise opengl, and that happens much later in
startup, after a bunch of logging has already happened.
So both apps coredumped
This is 'normal' behaviour when it tries and fails to find a config file,
could that be what you are hitting?
so unable to test builds on debian.
tbh I didn't know that debian had any support for ppas, those are a very
ubuntu convention. Its complaining something about gpg keys, no clue what
to do with that tbh.
—
Reply to this email directly, view it on GitHub
<#1578 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEQPFXPDR2DOAHCJVSALIDZ27CH5AVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXGM2DIMBZGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Problem with gpg behaviour gone but application quit so I assume coredumped
(i am launching it remotely or with --noconsole mode)
pt., 11 paź 2024 o 18:22 D-mo ***@***.***> napisał(a):
… Build https://launchpad.net/~ppa-verse/+archive/ubuntu/casparcg
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d
instead (see apt-key(8)).
gpg: nie odnaleziono poprawnych danych w formacie OpenPGP.
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
self.run()
File "/usr/lib/python3.9/threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File
"/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py",
line 688, in addkey_func
func(**kwargs)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 386,
in add_key
return apsk.add_ppa_signing_key()
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 273,
in add_ppa_signing_key
cleanup(tmp_keyring_dir)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 234,
in cleanup
shutil.rmtree(tmp_keyring_dir)
File "/usr/lib/python3.9/shutil.py", line 718, in rmtree
_rmtree_safe_fd(fd, path, onerror)
File "/usr/lib/python3.9/shutil.py", line 675, in _rmtree_safe_fd
onerror(os.unlink, fullname, sys.exc_info())
File "/usr/lib/python3.9/shutil.py", line 673, in _rmtree_safe_fd
os.unlink(entry.name, dir_fd=topfd)
FileNotFoundError: [Errno 2] Nie ma takiego pliku ani katalogu:
'S.gpg-agent.extra'
@Behinder <https://github.com/Behinder> try this:
sudo apt install gpg-agent
sudo mkdir -p /root/.gnupg
sudo add-apt-repository ppa:ppa-verse/casparcg
sudo apt install casparcg-server
—
Reply to this email directly, view it on GitHub
<#1578 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEQPFRX4DMOIHEGHYS7HALZ273NDAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXG42DENRUGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
An example config file is included in my ppa packages, at |
Annying that casparcg does not accept any standard flag like -v --version
--help -h so I don't know how to give it path.
I launched it in directory where casparcg.config is located and behavior is
the same.
pt., 11 paź 2024 o 18:57 Julian Waller ***@***.***>
napisał(a):
… An example config file is included in my ppa packages, at
/usr/share/casparcg-server-2.4/casparcg.config.example, but casparcg
won't find it by itself. I think it is looking for a casparcg.config in
the current working directory, or you can specify a path to a config file.
—
Reply to this email directly, view it on GitHub
<#1578 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEQPFVWZTIEZG2RITZVPA3Z277ONAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXG44TMOJRHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
What's the |
ChatGPT suggest --noconsole option is for server in headless mode without
GUI my observation suggest it is true. Surprising you ask me about that now
and not right after I posted :)
Yes via ssh but on remote server - first I tried ssx -X and launch server
on my side but that won't work because OpenGL. ( I was able to compile mesa
with Zink driver but cannot force system to use it)
pt., 11 paź 2024 o 20:26 D-mo ***@***.***> napisał(a):
… i am launching it remotely or with --noconsole mode
What's the --noconsole option?... Where did it come from?
How are you launching the server remotely? Via ssh?
—
Reply to this email directly, view it on GitHub
<#1578 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEQPFRPC432FCHHMX5P5S3Z3AJ7BAVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXHEZDONRXGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
FWIW, I ship .desktop file with my .deb package, which copies demo.mp4 |
LOL at ChatGPT... Sorry, I've missed the first time you've mentioned the
Try demo.mp4 |
chatgpt is trained on Stack Overflow so I don't uderstand your LOL here
pt., 11 paź 2024 o 21:06 D-mo ***@***.***> napisał(a):
… ChatGPT suggest --noconsole option is for server in headless mode without
GUI my observation suggest it is true. Surprising you ask me about that now
and not right after I posted :)
LOL at ChatGPT... Sorry, I've missed the first time you've mentioned the
--noconsole option. The only option Server supports is the path to the
casparcg.config file. There is an outstanding issue (see #1571
<#1571>) that prevents the
server from properly reporting command-line errors.
Yes via ssh but on remote server - first I tried ssx -X and launch server
on my side but that won't work because OpenGL. ( I was able to compile mesa
with Zink driver but cannot force system to use it)
Try sshing into the remote machine without the -X option. Then run DISPLAY=:0
casparcg-server.
https://github.com/user-attachments/assets/48be68ab-f71d-4dbe-842e-ef2d989a0ad5
—
Reply to this email directly, view it on GitHub
<#1578 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEQPFWALJUDC7FDYTUXPJDZ3AOU3AVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXHE4DANBTGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Besides every server app should have headless mode whatever you called it.
ChatGPT did not take that info from nowhere.
niedz., 13 paź 2024 o 21:10 Sebastian Szwarc ***@***.***>
napisał(a):
… chatgpt is trained on Stack Overflow so I don't uderstand your LOL here
pt., 11 paź 2024 o 21:06 D-mo ***@***.***> napisał(a):
> ChatGPT suggest --noconsole option is for server in headless mode without
> GUI my observation suggest it is true. Surprising you ask me about that now
> and not right after I posted :)
>
> LOL at ChatGPT... Sorry, I've missed the first time you've mentioned the
> --noconsole option. The only option Server supports is the path to the
> casparcg.config file. There is an outstanding issue (see #1571
> <#1571>) that prevents the
> server from properly reporting command-line errors.
>
> Yes via ssh but on remote server - first I tried ssx -X and launch server
> on my side but that won't work because OpenGL. ( I was able to compile
> mesa
> with Zink driver but cannot force system to use it)
>
> Try sshing into the remote machine without the -X option. Then run DISPLAY=:0
> casparcg-server.
>
>
> https://github.com/user-attachments/assets/48be68ab-f71d-4dbe-842e-ef2d989a0ad5
>
> —
> Reply to this email directly, view it on GitHub
> <#1578 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAEQPFWALJUDC7FDYTUXPJDZ3AOU3AVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXHE4DANBTGE>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
I don't have direct access (e.g. via VNC) to GUI environment so I don't
know how the casparcg could run even with DIsplay set to :0 very confusing.
I have GUI on Ubuntu 24.04 in UTM but that does not solve a thing since it
is launched on Silicon.
I don't know - just write on your webpage Caspar is not running on anything
other than Ubuntu and problem solved. I give up - no proper error reporting
makes it a no go for me.
Now I have to collect mana to rewrite Caspar for Metal and delete all
Ubuntu/Windows dependency.
niedz., 13 paź 2024 o 21:11 Sebastian Szwarc ***@***.***>
napisał(a):
… Besides every server app should have headless mode whatever you called it.
ChatGPT did not take that info from nowhere.
niedz., 13 paź 2024 o 21:10 Sebastian Szwarc ***@***.***>
napisał(a):
> chatgpt is trained on Stack Overflow so I don't uderstand your LOL here
>
> pt., 11 paź 2024 o 21:06 D-mo ***@***.***> napisał(a):
>
>> ChatGPT suggest --noconsole option is for server in headless mode
>> without GUI my observation suggest it is true. Surprising you ask me about
>> that now and not right after I posted :)
>>
>> LOL at ChatGPT... Sorry, I've missed the first time you've mentioned the
>> --noconsole option. The only option Server supports is the path to the
>> casparcg.config file. There is an outstanding issue (see #1571
>> <#1571>) that prevents the
>> server from properly reporting command-line errors.
>>
>> Yes via ssh but on remote server - first I tried ssx -X and launch server
>> on my side but that won't work because OpenGL. ( I was able to compile
>> mesa
>> with Zink driver but cannot force system to use it)
>>
>> Try sshing into the remote machine without the -X option. Then run DISPLAY=:0
>> casparcg-server.
>>
>>
>> https://github.com/user-attachments/assets/48be68ab-f71d-4dbe-842e-ef2d989a0ad5
>>
>> —
>> Reply to this email directly, view it on GitHub
>> <#1578 (comment)>,
>> or unsubscribe
>> <https://github.com/notifications/unsubscribe-auth/AAEQPFWALJUDC7FDYTUXPJDZ3AOU3AVCNFSM6AAAAABPNRS4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXHE4DANBTGE>
>> .
>> You are receiving this because you were mentioned.Message ID:
>> ***@***.***>
>>
>
|
If I search stackoverflow for
I don't know what you expect from a headless mode here tbh. Seeing as the server is a command line application, it already is pretty headless. But it does require a X server, which is unavoidable if you want to be able to use html templates. And when I lasted looked a few years ago, getting a gpu handle without x was still patchy at best and inconsistent vendor support. This is probably better by now, but seeing as html support still needs it, I don't see the point in changing that. Only supporting ubuntu is noted in the readme https://github.com/casparcg/server?tab=readme-ov-file#linux |
I gave up but could not sleep so I spent few hours fighting with Ubuntu and digging through various wrong answer on Internet and I finally did it. So this is summary:
Additional note: I used ffmpeg6 and option for use system ffmpeg, not sure how with 7 Ubuntu was not shipped with that version I think. Also I had to turn off CEF library completely, for some reasons it is not compatible with ARM64 architecture and that creates problem during linking. |
Observed Behavior
error during make
wyn.txt
Expected behaviour
creating binary
Steps to reproduce
Environment
Tested on Linux Mint and Ubuntu latest - arm64 and MacOS Apple Silicon inside ubuntu in docker container
The text was updated successfully, but these errors were encountered: