Danke, Sauerland!
Beiträge von Rehs
-
-
Eventuell suchst Du falsch?
https://www.google.de/search?q…r&ei=KOA0VcTWE8OrPOnjgagINein. Ich möchte das Webkit nicht selbst für Windows bauen. Alle DLLs, die ich benötige, sind vom Fedora-MinGW-Projekt bereits cross gebaut. Alle entsprechenden passenden mingw32-*-devel packages standen mir ja beim Bauen unter openSUSE bereits zur Verfügung.
Ich habe leider noch nicht verstanden, ob und wie die rpm-Pakete von Fedora nach openSUSE hinüber gelangen und wie man Dateien aus einem rpm-Paket extrahiert.
-
Hallo!
Ich habe unter openSUSE eine Anwendung (pidgin 3.0.0) cross für Windows gebaut. Die Anwendung kann jedoch unter Windows noch nicht starten, weil viele dependente DLLs fehlen. Als Beispiel sei hier "libwebkitgtk-3.0-0.dll" genannt. Wenn man danach googelt findet man z.B. folgende Seite: http://www.rpmfind.net/linux/r…libwebkitgtk-3.0-0.dll%29. Dort sind für verschiedene Fedora-Releases und Architekturen rpm-Dateien aufgeführt.
Wie bekommt man die DLL aus so einer rpm-Datei?
Codezypper se mingw32 | grep libwebkitgtk3 i | mingw32-libwebkitgtk3 | Library for rendering web content, GTK+ 3 Port | package i | mingw32-libwebkitgtk3-devel | Library for rendering web content, GTK+ 3 Port (development files) | package
Benötigt man überhaupt ein rpm von der Fedora-Seite oder ist ein solches passendes vielleicht bereits vorhanden?
Gruß & Dank,
Rehs -
Installation!?
RootterminalCodelinux-r7zz:~ # cd /home/libnicex/rpmbuild/RPMS/noarch/ linux-r7zz:/home/libnicex/rpmbuild/RPMS/noarch # ls mingw32-gstreamer-0_10-libnice-0.1.10-8.11.noarch.rpm mingw32-libnice-debug-0.1.10-8.11.noarch.rpm mingw32-libnice-tools-0.1.10-8.11.noarch.rpm mingw32-gstreamer-libnice-0.1.10-8.11.noarch.rpm mingw32-libnice-devel-0.1.10-8.11.noarch.rpm mingw32-libnice10-0.1.10-8.11.noarch.rpm linux-r7zz:/home/libnicex/rpmbuild/RPMS/noarch # rpm -U mingw32-gstreamer-0_10-libnice-0.1.10-8.11.noarch.rpm linux-r7zz:/home/libnicex/rpmbuild/RPMS/noarch # rpm -U mingw32-gstreamer-libnice-0.1.10-8.11.noarch.rpm linux-r7zz:/home/libnicex/rpmbuild/RPMS/noarch # rpm -U mingw32-libnice-debug-0.1.10-8.11.noarch.rpm linux-r7zz:/home/libnicex/rpmbuild/RPMS/noarch # rpm -U mingw32-libnice-devel-0.1.10-8.11.noarch.rpm linux-r7zz:/home/libnicex/rpmbuild/RPMS/noarch # rpm -U mingw32-libnice-tools-0.1.10-8.11.noarch.rpm linux-r7zz:/home/libnicex/rpmbuild/RPMS/noarch # rpm -U mingw32-libnice10-0.1.10-8.11.noarch.rpm
-
Habe den Patch der rejected wurde rausgeschmissen und einen weiteren der danach auftrat ebenfalls.
Anschließend lief der Build durch (s.u.).ZitatWer weiss, was da als requires vorhanden sein muss.
./configure fragt die dependenten Bibliotheken ab. Ausserdem baue ich das Paket für mich. Ich rechne ganz sicher damit, dass es noch jede Menge Probleme geben wird, wenn ich das Endresultat, also den Pidgin-3.0.0-Build unter Windows installiere. Aber ich muss installieren, um überhaupt feststellen zu können, welche Probleme es gibt.Jetzt ist die Frage, wie ich das gebaute minwg32-libnice -0.1.10 unter openSUSE für die weiteren Builds installiere. Oder wie ich ggf. feststelle, ob noch etwas schief gelaufen ist.
Code
Alles anzeigen... Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/libnicex/rpmbuild/BUILDROOT/mingw32-libnice-0.1.10-8.11.x86_64 Wrote: /home/libnicex/rpmbuild/SRPMS/mingw32-libnice-0.1.10-8.11.src.rpm Wrote: /home/libnicex/rpmbuild/RPMS/noarch/mingw32-libnice10-0.1.10-8.11.noarch.rpm Wrote: /home/libnicex/rpmbuild/RPMS/noarch/mingw32-gstreamer-libnice-0.1.10-8.11.noarch.rpm Wrote: /home/libnicex/rpmbuild/RPMS/noarch/mingw32-gstreamer-0_10-libnice-0.1.10-8.11.noarch.rpm Wrote: /home/libnicex/rpmbuild/RPMS/noarch/mingw32-libnice-devel-0.1.10-8.11.noarch.rpm Wrote: /home/libnicex/rpmbuild/RPMS/noarch/mingw32-libnice-tools-0.1.10-8.11.noarch.rpm Wrote: /home/libnicex/rpmbuild/RPMS/noarch/mingw32-libnice-debug-0.1.10-8.11.noarch.rpm Executing(%clean): /bin/sh -e /home/libnicex/rpmbuild/tmp/rpm-tmp.0LQ8VS + umask 022 + cd /home/libnicex/rpmbuild/BUILD + cd libnice-0.1.10 + /usr/bin/rm -rf /home/libnicex/rpmbuild/BUILDROOT/mingw32-libnice-0.1.10-8.11.x86_64 + rm -rf filelists
-
Offenbar ist der Paketier-Patch von 0.1.7 in der Version 0.1.10 misslungen. Werde mir die Unterschiede in den Versionen genauer anschauen.
-
-
Habe mir einen neuen user "libnicex" angelegt,
Vorbereiten des rpmbuild-Verzeichnisses
Codelibnicex@linux-r7zz:~> mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp} libnicex@linux-r7zz:~> echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros libnicex@linux-r7zz:~> echo '%_tmppath %(echo $HOME)/rpmbuild/tmp' >> ~/.rpmmacros
Zuweisen des mingw-repositories (root-terminal)
CodePassword: linux-r7zz:~ # zypper ar -f http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_13.2/ Windows Adding repository 'Windows' ..............................................[done] Repository named 'Windows' already exists. Please use another alias. linux-r7zz:~ #
Holen der libnice-0.1.7-Quellen von mingw
Code
Alles anzeigenlibnicex@linux-r7zz:~> zypper si mingw32-libnice Reading installed packages... Loading repository data... Resolving package dependencies... The following source package is going to be installed: mingw32-libnice 1 source package to install. Overall download size: 812.8 KiB. Already cached: 0 B After the operation, additional 815.7 KiB will be used. Continue? [y/n/? shows all options] (y): Retrieving: mingw32-libnice-0.1.7-8.11.src.rpm .............[done (397.4 KiB/s)] Checking for file conflicts: .............................................[done] libnicex@linux-r7zz:~> ls -la rpmbuild/SOURCES/ total 824 drwxr-xr-x 2 libnicex users 4096 Mar 30 11:40 . drwxr-xr-x 8 libnicex users 4096 Mar 30 11:37 .. -rw-r--r-- 1 libnicex users 1630 Jun 11 2014 libnice-0.1.7.patch -rw-r--r-- 1 libnicex users 827258 Jun 11 2014 libnice-0.1.7.tar.gz -rw-r--r-- 1 libnicex users 405 Jun 11 2014 libnice-0.1.7-win64.patch
Holen von libnice-0.1.10 von der libnice-Projektseite
Codelibnicex@linux-r7zz:~> ls Downloads/ libnice-0.1.10.tar.gz libnicex@linux-r7zz:~> ls rpmbuild/SOURCES/ libnice-0.1.7.patch libnice-0.1.7.tar.gz libnice-0.1.7-win64.patch libnicex@linux-r7zz:~> mv Downloads/libnice-0.1.10.tar.gz rpmbuild/SOURCES/
Ersetzen von "0.1.7" durch "0.1.10"
Code
Alles anzeigenlibnicex@linux-r7zz:~> cd rpmbuild/SOURCES/ libnicex@linux-r7zz:~/rpmbuild/SOURCES> ls libnice-0.1.10.tar.gz libnice-0.1.7.tar.gz libnice-0.1.7.patch libnice-0.1.7-win64.patch libnicex@linux-r7zz:~/rpmbuild/SOURCES> rm libnice-0.1.7.tar.gz libnicex@linux-r7zz:~/rpmbuild/SOURCES> mv libnice-0.1.7.patch libnice-0.1.10.patch libnicex@linux-r7zz:~/rpmbuild/SOURCES> mv libnice-0.1.7-win64.patch libnice-0.1.10-win64.patch libnicex@linux-r7zz:~/rpmbuild/SOURCES> find . -name "*0.1.7*" libnicex@linux-r7zz:~/rpmbuild/SOURCES> cd .. libnicex@linux-r7zz:~/rpmbuild> cd .. libnicex@linux-r7zz:~> find . -name "*0.1.10*" ./rpmbuild/SOURCES/libnice-0.1.10.patch ./rpmbuild/SOURCES/libnice-0.1.10.tar.gz ./rpmbuild/SOURCES/libnice-0.1.10-win64.patch libnicex@linux-r7zz:~> find . -name "*0.1.7*" libnicex@linux-r7zz:~> grep -r "0.1.7" * rpmbuild/SPECS/mingw32-libnice.spec:Version: 0.1.7 rpmbuild/SPECS/mingw32-libnice.spec:Patch0: libnice-0.1.7.patch rpmbuild/SPECS/mingw32-libnice.spec:Patch1: libnice-0.1.7-win64.patch rpmbuild/SOURCES/libnice-0.1.10.patch: AC_INIT([libnice],[0.1.7]) libnicex@linux-r7zz:~> grep -r "0.1.7" * libnicex@linux-r7zz:~> grep -r "0.1.10" * rpmbuild/SPECS/mingw32-libnice.spec:Version: 0.1.10 rpmbuild/SPECS/mingw32-libnice.spec:Patch0: libnice-0.1.10.patch rpmbuild/SPECS/mingw32-libnice.spec:Patch1: libnice-0.1.10-win64.patch rpmbuild/SOURCES/libnice-0.1.10.patch: AC_INIT([libnice],[0.1.10])
Bauen des "neuen" Pakets
Code
Alles anzeigenlibnicex@linux-r7zz:~> export PKG_CONFIG_PATH=/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig libnicex@linux-r7zz:~> export PKG_CONFIG=/usr/bin/i686-w64-mingw32-pkg-config libnicex@linux-r7zz:~> cd rpmbuild/SPECS/ libnicex@linux-r7zz:~/rpmbuild/SPECS> rpmbuild -ba mingw32-libnice.spec Executing(%prep): /bin/sh -e /home/libnicex/rpmbuild/tmp/rpm-tmp.sYC0wU + umask 022 + cd /home/libnicex/rpmbuild/BUILD + cd /home/libnicex/rpmbuild/BUILD + rm -rf libnice-0.1.10 + /usr/bin/gzip -dc /home/libnicex/rpmbuild/SOURCES/libnice-0.1.10.tar.gz + /bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd libnice-0.1.10 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + echo 'Patch #0 (libnice-0.1.10.patch):' Patch #0 (libnice-0.1.10.patch): + /usr/bin/cat /home/libnicex/rpmbuild/SOURCES/libnice-0.1.10.patch + /usr/bin/patch -p0 --fuzz=0 patching file agent/address.c Hunk #1 succeeded at 62 (offset 4 lines). patching file agent/pseudotcp.h Hunk #1 FAILED at 60. 1 out of 1 hunk FAILED -- saving rejects to file agent/pseudotcp.h.rej patching file configure.ac patching file gst/Makefile.am error: Bad exit status from /home/libnicex/rpmbuild/tmp/rpm-tmp.sYC0wU (%prep) RPM build errors: Bad exit status from /home/libnicex/rpmbuild/tmp/rpm-tmp.sYC0wU (%prep)
Buildproblem!
Diff
Alles anzeigenlibnicex@linux-r7zz:~/rpmbuild/SPECS> cd ~ libnicex@linux-r7zz:~> find . -name "*pseudotcp*" ./rpmbuild/BUILD/libnice-0.1.10/docs/reference/libnice/tmpl/pseudotcp.sgml ./rpmbuild/BUILD/libnice-0.1.10/agent/pseudotcp.h.rej ./rpmbuild/BUILD/libnice-0.1.10/agent/pseudotcp.h ./rpmbuild/BUILD/libnice-0.1.10/agent/pseudotcp.c ./rpmbuild/BUILD/libnice-0.1.10/agent/pseudotcp.h.orig ./rpmbuild/BUILD/libnice-0.1.10/tests/test-pseudotcp-fuzzy.c ./rpmbuild/BUILD/libnice-0.1.10/tests/test-pseudotcp-fin.c ./rpmbuild/BUILD/libnice-0.1.10/tests/test-pseudotcp-random.sh ./rpmbuild/BUILD/libnice-0.1.10/tests/test-pseudotcp.c ./rpmbuild/BUILD/libnice-0.1.10/win32/vs9/test-pseudotcp.vcproj libnicex@linux-r7zz:~> cat ./rpmbuild/BUILD/libnice-0.1.10/agent/pseudotcp.h.rej --- agent/pseudotcp.h +++ agent/pseudotcp.h @@ -60,10 +60,18 @@ #ifdef G_OS_WIN32 # include <winsock2.h> -# define ECONNABORTED WSAECONNABORTED -# define ENOTCONN WSAENOTCONN -# define EWOULDBLOCK WSAEWOULDBLOCK -# define ECONNRESET WSAECONNRESET +# ifndef ECONNABORTED +# define ECONNABORTED WSAECONNABORTED +# endif +# ifndef ENOTCONN +# define ENOTCONN WSAENOTCONN +# endif +# ifndef EWOULDBLOCK +# define EWOULDBLOCK WSAEWOULDBLOCK +# endif +# ifndef ECONNRESET +# define ECONNRESET WSAECONNRESET +# endif #endif #include "agent.h" libnicex@linux-r7zz:~>
-
Erstmal vielen Dank für Deine Hilfe!
Mein Ergebnis ist allerdings noch seltsam: Ich bekomme beim Bauen Linkerfehler. Habe mir dann die Version 0.1.7 direkt von der Projektseite geholt, direkt gebaut und bekomme genau die gleichen Linkerfehler. Daraufhin habe ich mir die neueste Version 0.1.10 von der Projektseite geholt und die lief durch.
Offenbar wurde früher die libnice nur nativ unter Windows gebaut, während wir ja jetzt mit mingw cross bauen.
Ich werde also morgen mit Hilfe Deiner Instuktionen bei mir ein 0.1.10-Paket bauen und installieren.So baue ich direkt:
-
"We believe in building great technology through open collaboration, without barriers or bureaucrats."