Du bist nicht angemeldet.

Eine Antwort schreiben

Schreibe deinen Beitrag und versende ihn
Beitragsoptionen
Deine Antwort

Zurück

Themen-Übersicht (Neuester Beitrag zuerst)

stefanhusmann
24.11.2019 09:16:30
vmp schrieb:

@stefanhausmann
Ich habe PKGBUILD von qdvdauthor und ffmpeg063-static nach https://aur.archlinux.org gestellt. Kannst du schauen ob man die Pakete bauen kann.

Bei mir lassen sich beide Pakete nicht bauen.

blub
24.11.2019 03:50:50

@vmp
Du solltest dir mal durchlesen, welche Aufgabe provides=() im PKGBUILD hat. Und dein ffmpeg Paket hat keinerlei Abhängigkeiten?!

vmp
23.11.2019 22:32:34

@stefanhausmann
Ich habe PKGBUILD von qdvdauthor und ffmpeg063-static nach https://aur.archlinux.org gestellt. Kannst du schauen ob man die Pakete bauen kann.

skull-y
22.11.2019 05:26:48

Warum probierst du es nicht selbst?

vmp
21.11.2019 21:41:12

Hat jemand das Paket qdvdauthor-2.3.1-10-x86_64.pkg.tar.xz ausprobiert?

vmp
18.11.2019 19:45:20

Ich meinte das PKGBUILD von Antwort #10 (ffmpeg067-static).
Unter dem Link von Antwort #1 gibt es die fertigen Pakete von qdvdauthor für Arch und Arch Extra.

stefanhusmann
18.11.2019 18:18:37

Was heißt "in meinem PKGBUILD". Ich habe keines zu qdvdauthor hier gepostet. Und bei mir baut es noch nicht einmal die build-Function zuende, geschweige denn irgendwas zu installieren.

vmp
18.11.2019 17:44:26

Ich habe wie in deinem PKGBUILD folgendes geändert (im PKGBUILD von qdvdauthor):
make DESTDIR="${pkgdir}" install
zu:
make DESTDIR="$pkgdir" install
und das Paket qdvdauthor-2.3.1-10-x86_64.pkg.tar.xz für Arch hat eine Größe von 1,9MiB.

vmp
17.11.2019 17:31:50

Das Paket qdvdauthor-2.3.1-10-x86_64.pkg.tar.xz für  Arch Extra hat jetzt eine Große von 1,7MiB also es ist mit Dateien gefüllt.
Dasjenige für Arch eine Größe von 3,1KiB also ist es immer noch leer. Eigentlich durch Zufall (immer wieder kompilieren) habe ich das vollgefüllte Paket erhalten.

vmp
17.11.2019 04:37:46

Ich habe qdvdauthor-2.3.1-010a.tar.gz für Arch Linux nach sf.net/p/qdvd verschoben.
Ich kann es mit PKGBUILD fehlerfrei kompilieren aber nach qdvdauthor-2.3.1-10-x86_64.pkg.tar.xz werden keine Dateien "installiert".
Bei ffmpeg063-static habe ich die PATHS anders gesetzt wegen ffmpeg-1:4.2.1-4.

vmp
16.11.2019 23:57:24

Ich habe qdvdauthor wieder auf ffmpeg063-static umgestellt mit dem Linker Fehler:

[  180s] [ 33%] Linking CXX executable qrender
[  180s] cd /usr/src/packages/BUILD/qdvdauthor/src/qdvdauthor-2.3.1/build/qrender && /usr/bin/cmake -E cmake_link_script CMakeFiles/qrender.dir/link.txt --verbose=1
[  180s] /usr/bin/c++  -march=x86-64 -mtune=generic -O2 -pipe -fno-plt   -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -rdynamic CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o CMakeFiles/qrender.dir/encoder.cpp.o CMakeFiles/qrender.dir/filter.cpp.o CMakeFiles/qrender.dir/logger.cpp.o CMakeFiles/qrender.dir/main.cpp.o CMakeFiles/qrender.dir/parser.cpp.o CMakeFiles/qrender.dir/render.cpp.o CMakeFiles/qrender.dir/server.cpp.o CMakeFiles/qrender.dir/slideshow.cpp.o CMakeFiles/qrender.dir/utils.cpp.o CMakeFiles/qrender.dir/__/qdvdauthor/xml_slideshow.cpp.o CMakeFiles/qrender.dir/engine/moc_ffmpeg_enc.cpp.o CMakeFiles/qrender.dir/moc_encoder.cpp.o CMakeFiles/qrender.dir/moc_filter.cpp.o CMakeFiles/qrender.dir/moc_logger.cpp.o CMakeFiles/qrender.dir/moc_parser.cpp.o CMakeFiles/qrender.dir/moc_render.cpp.o CMakeFiles/qrender.dir/moc_server.cpp.o CMakeFiles/qrender.dir/moc_shared.cpp.o CMakeFiles/qrender.dir/moc_slideshow.cpp.o CMakeFiles/qrender.dir/moc_utils.cpp.o CMakeFiles/qrender.dir/__/qdvdauthor/moc_xml_slideshow.cpp.o  -o qrender /usr/lib/libQt5Widgets.so.5.13.2 /usr/lib/libQt5Xml.so.5.13.2 -lxine -lX11 /usr/lib/libQt5Network.so.5.13.2 -lavcodec -lavformat -lavutil -lswscale /usr/lib/libQt5Gui.so.5.13.2 /usr/lib/libQt5Core.so.5.13.2
[  181s]  /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::qrender_avcodec_open(AVCodecContext*, AVCodec*, void*)':
[  181s] ffmpeg_enc.cpp:(.text+0x92): undefined reference to `avcodec_open'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Audio::resample() [clone .part.0]':
[  181s] ffmpeg_enc.cpp:(.text+0x1cd): undefined reference to `audio_resample'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Audio::decode(AVPacket*)':
[  181s] ffmpeg_enc.cpp:(.text+0x369): undefined reference to `avcodec_decode_audio3'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Audio::decodeAudio(bool&)':
[  181s] ffmpeg_enc.cpp:(.text+0x6ff): undefined reference to `audio_resample_init'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Audio::decodeAudio(AVPacket*)':
[  181s] ffmpeg_enc.cpp:(.text+0x84e): undefined reference to `audio_resample_init'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Vid::allocPicture(unsigned char*&, PixelFormat, int, int)':
[  181s] ffmpeg_enc.cpp:(.text+0x916): undefined reference to `avcodec_alloc_frame'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Vid::getNextPacket(AVStream*, AVStream*, int&)':
[  181s] ffmpeg_enc.cpp:(.text+0xf3e): undefined reference to `avcodec_alloc_frame'
[  181s] /usr/bin/ld: ffmpeg_enc.cpp:(.text+0x10c0): undefined reference to `avcodec_encode_video'
[  181s] /usr/bin/ld: ffmpeg_enc.cpp:(.text+0x117e): undefined reference to `avcodec_encode_video'
[  181s] /usr/bin/ld: ffmpeg_enc.cpp:(.text+0x11b6): undefined reference to `avcodec_encode_video'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Media::closeStream()':
[  181s] ffmpeg_enc.cpp:(.text+0x1599): undefined reference to `av_close_input_file'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Audio::closeStream()':
[  181s] ffmpeg_enc.cpp:(.text+0x15d5): undefined reference to `audio_resample_close'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Media::openStream(QString)':
[  181s] ffmpeg_enc.cpp:(.text+0x1cff): undefined reference to `av_open_input_file'
[  181s] /usr/bin/ld: ffmpeg_enc.cpp:(.text+0x1d57): undefined reference to `av_find_stream_info'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::addVideoStream(int, Encoder::Encoder::enVideo, int)':
[  181s] ffmpeg_enc.cpp:(.text+0x2428): undefined reference to `av_new_stream'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::addAudioStream(int)':
[  181s] ffmpeg_enc.cpp:(.text+0x28a5): undefined reference to `av_new_stream'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::writeVideoFrame()':
[  181s] ffmpeg_enc.cpp:(.text+0x295e): undefined reference to `avcodec_encode_video'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::endStream()':
[  181s] ffmpeg_enc.cpp:(.text+0x2ab3): undefined reference to `url_fclose'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::FFmpeg()':
[  181s] ffmpeg_enc.cpp:(.text+0x33f9): undefined reference to `avcodec_init'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Vid::getFrame(AVFrame*, int, int)':
[  181s] ffmpeg_enc.cpp:(.text+0x34f0): undefined reference to `avcodec_alloc_frame'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::Vid::getFrame(double)':
[  181s] ffmpeg_enc.cpp:(.text+0x36f8): undefined reference to `avcodec_alloc_frame'
[  181s] /usr/bin/ld: CMakeFiles/qrender.dir/engine/ffmpeg_enc.cpp.o: in function `Encoder::FFmpeg::initStream(QString, Encoder::Encoder::enVideo, Encoder::Encoder::enAudio, unsigned int)':
[  181s] ffmpeg_enc.cpp:(.text+0x3990): undefined reference to `guess_format'
[  181s] /usr/bin/ld: ffmpeg_enc.cpp:(.text+0x3aeb): undefined reference to `guess_format'
[  181s] /usr/bin/ld: ffmpeg_enc.cpp:(.text+0x3b40): undefined reference to `av_set_parameters'
[  181s] /usr/bin/ld: ffmpeg_enc.cpp:(.text+0x3b9e): undefined reference to `url_fopen'
[  181s] /usr/bin/ld: ffmpeg_enc.cpp:(.text+0x3c07): undefined reference to `av_write_header'
[  181s] collect2: error: ld returned 1 exit status
[  181s] make[2]: *** [qrender/CMakeFiles/qrender.dir/build.make:455: qrender/qrender] Error 1
[  181s] make[2]: Leaving directory '/usr/src/packages/BUILD/qdvdauthor/src/qdvdauthor-2.3.1/build'
[  181s] make[1]: *** [CMakeFiles/Makefile2:246: qrender/CMakeFiles/qrender.dir/all] Error 2

stefanhusmann
16.11.2019 22:52:20

ffmpg067-static konnte ich hier bauen.

Mit diesem PKGBUILD

# Maintainer: Suchan Roland <snrd@arcor.de>


pkgname=ffmpeg067-static
pkgver=0.6.7
pkgrel=1
pkgdesc='Complete solution to record, convert and stream audio and video'
arch=('i586' 'x86_64')
url='https://ffmpeg.org/'
license=('GPL2')
depends=()
provides=(
  libavcodec.so
  libavdevice.so
  libavformat.so
  libavutil.so
  libswscale.so
  libavcodec.a
  libavdevice.a
  libavformat.a
  libavutil.a
  libswscale.a
)
options=('staticlibs')
source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.gz" nodocs.patch)
md5sums=('8afa86b7b8e91645ba93015c0561a424'
         '496b425db8835d1d964bc295ae927fb5')

prepare() {
  cd ffmpeg-${pkgver}
  patch -Np1 < "$srcdir"/nodocs.patch
}

build() {
  cd ffmpeg-${pkgver}
  
  sed -i 's@-Werror@@g' configure

  ./configure \
    --prefix=/usr \
    --libdir=/usr/lib \
    --incdir=/usr/include/ffmpeg067 \
    --shlibdir=/usr/lib \
    --enable-gpl \
    --enable-static \
    --enable-shared \
    --disable-ffserver
    make clean
    make
}

package() {
  cd ffmpeg-${pkgver}
  
  #pkg-config --modversion libavcodec

  make DESTDIR="$pkgdir" install
  rm -rf "$pkgdir"/usr/bin/ffprobe
  rm -rf "$pkgdir"/usr/share
  rm -rf "$pkgdir"/usr/lib/{*.so,pkgconfig/*}
  
  echo '***'
  ls "${pkgdir}"/usr/include
  #ls "${pkgdir}"/usr/lib/ffmpeg067
  echo '***'
  ls "${pkgdir}"/usr/lib
  echo '***'
  ls "${pkgdir}"/usr/lib/pkgconfig

  find "${pkgdir}"/usr/bin -type f -exec mv {} {}067 \;
}

plus diesem Patch (der das Bauen der Doku unterbindet, da diese nicht texinfo-konform ist)

diff -Naur ffmpeg-0.6.7.orig/Makefile ffmpeg-0.6.7.new/Makefile
--- ffmpeg-0.6.7.orig/Makefile	2013-09-23 02:37:52.000000000 +0200
+++ ffmpeg-0.6.7.new/Makefile	2019-11-16 20:51:00.262442234 +0100
@@ -40,7 +40,6 @@
 FF_EXTRALIBS := $(FFEXTRALIBS)
 FF_DEP_LIBS  := $(DEP_LIBS)
 
-ALL_TARGETS-$(CONFIG_DOC)       += documentation
 
 ifdef PROGS
 INSTALL_TARGETS-yes             += install-progs install-data

Die qdvdathor-Sourcen aus dem opensuse-Repo konnte ich nicht downloaden, da man dafür einen Acoount braucht, und die originale Software möchte sich wohl gerne gegen ffmpeg063 (nicht 067) linken.

vmp
16.11.2019 22:43:57

Ich habe folgendes im Internet gefunden:
For building static libraries just append  -static to the package name, eg. mingw-w64-qt5-base-static
Also habe ich ffmpeg067 zu ffmpeg067-static umbenannt und die static libraries .a wurden ins Paket übernommen (ffmpeg067-static-0.6.7-1-x86_64.pkg.tar.xz).

Bei Antwort #4 steht der Link grau hinterlegt unter "OpenSuSE build service" versteckt wo ich qdvdauthor bauen kann.  ffmpeg067-static installiere ich über PKGBUILD von qdvdauthor mit
depends=('qt5-base' 'ffmpeg067-static' 'vlc' 'xine-lib').

Trotz libavcodec.a in im Paket ffmpeg067-static scheitert das kompilieren von qdvdauthor am Linker wegen z.B.: 'avcodec_open' aus der Datei <libavcodec/avcodec.h>.
Ich versuche noch OPTIONS=('staticlibs') zu options=('staticlibs') zu ändern.

stefanhusmann
16.11.2019 21:29:09
vmp schrieb:

Ich habe in Netz folgendes dazu gefunden:
Any reason the PKGBUILD only installs the dynamic .so file and not the static .a one?
Antwort:
Arch doesn't provide static libraries

Das ist so, aber das sollte dich nicht hindern, es für deine Gegebenheiten anders zu machen.

Du solltest mal genau beschreiben, was du gemacht hast und was dabei passiert ist.

options=('staticlibs') steht da übrigens nicht, sondern OPTIONS=('staticlibs'). Ersteres wäre korrekt.

Fußzeile des Forums

Powered by FluxBB