justdan96 / tsMuxer

tsMuxer is a transport stream muxer for remuxing/muxing elementary streams, EVO/VOB/MPG, MKV/MKA, MP4/MOV, TS, M2TS to TS to M2TS. Supported video codecs H.264/AVC, H.265/HEVC, VC-1, MPEG2. Supported audio codecs AAC, AC3 / E-AC3(DD+), DTS/ DTS-HD.
Apache License 2.0
871 stars 147 forks source link

can't Use Nightly build from 2022-01-15-02-09-45 on Ubuntu 20.04 LTS #545

Closed ted423 closed 2 years ago

ted423 commented 2 years ago

Nightly build from 2022-01-13-02-13-31 worked tsmuxer can't run and I use 2022-01-15-02-09-45's tsMuxerGUI-938eefb-x86_64.AppImage with 2022-01-13-02-13-31's tsmuxer still show can't find tsmuxer.

justdan96 commented 2 years ago

Can you please paste the full error logs?

ted423 commented 2 years ago

Can you please paste the full error logs?

the tsMuseR show no such file or folder when I run. but the old one show the command line help the gui worked , but when select mpls it show can't find tsMuxeR

andrej-peterka commented 2 years ago

@justdan96 I believe this is a problem for linux builds. I'm having the same issue. See logs below.

I suspect this is because the binary is now dynamically linked. I think previously it was static?

➜  tsmuxer curl -LO https://github.com/justdan96/tsMuxer/releases/download/nightly-2022-01-26-02-08-33/lnx.zip

...

➜  tsmuxer unzip lnx.zip
Archive:  lnx.zip
   creating: bin/lnx/
  inflating: bin/lnx/tsMuxeR
  inflating: bin/lnx/tsMuxerGUI-6c8e72e-x86_64.AppImage

➜  tsmuxer docker run -it -v $(pwd):/work ubuntu:20.04 bash
root@6d5b3ac5cd33:/# /work/bin/lnx/tsMuxeR
bash: /work/bin/lnx/tsMuxeR: No such file or directory

root@6d5b3ac5cd33:/# file /work/bin/lnx/tsMuxeR
/work/bin/lnx/tsMuxeR: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=5d26f28f0d6bbfd4793d7bac2029c2994835aacc, for GNU/Linux 3.2.0, not stripped
andrej-peterka commented 2 years ago

Fyi, as a workaround I had to do:

ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld64.so.1
apt install libpng16-16

Then I can run it. I found a hint to this here: https://stackoverflow.com/a/13990567

justdan96 commented 2 years ago

I'm assuming the builds from OBS are working okay? I'll have to check our latest Linux build logs to see if something isn't working quite right.

andrej-peterka commented 2 years ago

What is OBS? Where can i test them?

andrej-peterka commented 2 years ago

If i build via docker, e654d6331fbaebde3d1da42fefb15eba02020328 is the latest that works for me.

ted423 commented 2 years ago

here the Nightly build from 2022-01-26-02-08-33 can't work too libpng16-16 installed before

ted423 commented 2 years ago

worked after use ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld64.so.1

gacopl commented 2 years ago

i have built by latest docker and still had the issue ln -s fixed it thank you !!!!

justdan96 commented 2 years ago

Sorry for the long delay on this one - I will do some testing and let you know where the issue is.

justdan96 commented 2 years ago

I found the issue, despite our best efforts GCC was still trying to link dependencies as dynamic rather than static. I suspect this bug was introduced when we changed how freetype was handled by CMake, as I now see libpng turns up in FREETYPE_LDFLAGS.