[Problem] libxml in Eigenes Programm/empty einbinden

ep00172

Neuer User
Mitglied seit
20 Okt 2007
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo Zusammen,

dieses Problem bezieht sich auf freetz und configure.
Ich möchte ein eigenes Programm in Freetz einbinden und dabei auf die libxml die in ulibc vorhanden ist zugreifen.
Kann mir jemand helfen, welche parameter hier in Config.in empty.mk oder Makefile.in zu machen sind, damit das Programm fehlerfrei compiliert werden kann.
Derzeit wird ständig folgender Fehler ausgegeben.

Code:
freetz-1.1.3/toolchain/target/bin/mipsel-linux-uclibc-gcc -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/libxml2 -lxml2    solwatch.c   -o solwatch
solwatch.c:11:20: error: parser.h: No such file or directory
solwatch.c:12:18: error: tree.h: No such file or directory
solwatch.c:13:19: error: xpath.h: No such file or directory



Makefile:
Code:
CC=/usr/bin/gcc -I/usr/include/libxml2/libxml -lxml2
BINARY=solwatch
OBJS=solwatch.o
#CFLAGS=`xml2-config --cflags --libs`
CFLAGS=
IDIR=./libxmlx
all: $(BINARY)

#$(BINARY): $(OBJS)  
$(CC) $(CFLAGS) $(BINARY): solwatch.c
# $(CC) -I$(IDIR) $(BINARY): solwatch.c

#all: solwatch

#solwatch: $(OBJS)
 # $(CC) $(OBJS) -o $(BINARY) 
#  $(CC) $(CFLAGS) $(BINARY): $(OBJS)

in Config.in, Makefile.in und empty.mk habe ich noch nichts geändert.
Vielen Dank für eure Hilfe!

Meine Hard/Softwareconfig:
Freetz 1.1.3 auf Ubuntu 10.04 für Fritzbox 7270 V3
 
Dafür sind die Dateien: Config.in, Makefile.in und empty.mk massgeblich oder ?
Wird das Makefile im Quellverzeichnis auch aufgerufen oder wird diese beim Compilieren ignoriert?
 
Das "empty" in "empty.mk" ist der Name für ein konkretes Paket. Es ist auch nicht die Vorlage für ein leeres Paket, auch wenn man es vom Namen her vermuten könnte. Schau also mal nach anderen Dateien XXX.mk, die libxml verwenden. (Tip: "grep xml make/*/*.mk").

Ich bin nicht ganz sicher, was Du meinst mit "Makefile im Quellverzeichnis", aber im Zweifelsfall wird es verwendet. Das Makefile von Freetz enthält normalerweise einen Aufruf von Make in dem Verzeichnis, in dem sich das ausgepackte Programm befindet. Die meisten Programme haben schon ein passendes Makefile, und es wäre unnötig, dessen Funktion neu zu schreiben in Freetz. Das Freetz Makefile kümmert sich hauptsächlich um das Auspacken der Quellen, Aufruf des Buid-Prozesses des entsprechenden Programms und kopieren der dabei erstellten Dateien an die richtigen Stellen.
 
..
Ich möchte ein eigenes Programm in Freetz einbinden und dabei auf die libxml die in ulibc vorhanden ist zugreifen.
...
Hier (>>> klick <<<) ein Thread als Beispiel, in dem auch eigener Quellcode in/mit Freetz kompiliert worden ist. xml findest Du, z. B. in den Paketen "openconnect" und "php" im trunk.
 
Schönenn Dank für die Info,
ich bin jetzt hoffentlich ein Srück weiter.
Ich hab mir das generierte Makefile von PHP angeschaut.

Mit dem folgenden Makefile werden die Include-Files angezogen, die Library wird aber leider nicht mit eingebunden, kannst Du mir sagen ob der Pfad hier der richtige ist ?

Befehl und Fehler:

Code:
/home/ibb/Downloads/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -static -L/home/ibb/Downloads/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/lib -lxml2 -I/home/ibb/Downloads/freetz-trunk/source/target-mipsel_uClibc-0.9.29/libxml2-2.7.8/include -static  -D_XPG_IV   solwatch.c   -o solwatch
/tmp/ccRvQRNv.o: In function `print_element_address':
solwatch.c:(.text+0xcc): undefined reference to `xmlStrcmp'
solwatch.c:(.text+0xe0): undefined reference to `xmlNodeListGetString'
/tmp/ccRvQRNv.o: In function `register_namespaces':
solwatch.c:(.text+0x588): undefined reference to `xmlFree'
solwatch.c:(.text+0x580): undefined reference to `xmlFree'
/tmp/ccRvQRNv.o: In function `print_element_address':
solwatch.c:(.text+0xbc): undefined reference to `xmlFree'
solwatch.c:(.text+0x110): undefined reference to `xmlFree'
/tmp/ccRvQRNv.o: In function `register_namespaces':
solwatch.c:(.text+0x4a4): undefined reference to `xmlStrdup'
solwatch.c:(.text+0x4f0): undefined reference to `xmlStrchr'
solwatch.c:(.text+0x514): undefined reference to `xmlFree'
solwatch.c:(.text+0x518): undefined reference to `xmlFree'
solwatch.c:(.text+0x534): undefined reference to `xmlStrchr'
solwatch.c:(.text+0x554): undefined reference to `xmlXPathRegisterNs'
solwatch.c:(.text+0x594): undefined reference to `xmlFree'
solwatch.c:(.text+0x598): undefined reference to `xmlFree'
/tmp/ccRvQRNv.o: In function `execute_xpath_expression':
solwatch.c:(.text+0x638): undefined reference to `xmlParseFile'
solwatch.c:(.text+0x668): undefined reference to `xmlXPathNewContext'
solwatch.c:(.text+0x68c): undefined reference to `xmlFreeDoc'
solwatch.c:(.text+0x6d0): undefined reference to `xmlXPathEvalExpression'
solwatch.c:(.text+0x6fc): undefined reference to `xmlXPathFreeContext'
solwatch.c:(.text+0x720): undefined reference to `xmlXPathFreeObject'
solwatch.c:(.text+0x728): undefined reference to `xmlXPathFreeContext'
solwatch.c:(.text+0x730): undefined reference to `xmlFreeDoc'
/tmp/ccRvQRNv.o: In function `main':
solwatch.c:(.text+0x9c4): undefined reference to `xmlCheckVersion'
solwatch.c:(.text+0x9cc): undefined reference to `xmlInitParser'
solwatch.c:(.text+0x9dc): undefined reference to `xmlReadFile'
solwatch.c:(.text+0xa0c): undefined reference to `xmlDocGetRootElement'
solwatch.c:(.text+0xa5c): undefined reference to `xmlCleanupParser'
solwatch.c:(.text+0xa64): undefined reference to `xmlMemoryDump'
collect2: ld returned 1 exit status
make: *** [solwatch] Fehler 1

Normalerweise lässt sich der Code Problemfrei unter Ubuntu mit dem Befehl:
gcc -o solwatch -I/usr/include/libxml2 solwatch.c -lxml2
Compilieren.
Ist der Pfad zu Lib nicht korrekt ?
-L.../toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/lib
 
Der Pfad sieht gut aus, und es steht ja nichts davon, daß die Datei nicht gefunden würde.

Du schreibst, unter Ubuntu geht es so:
gcc ... -lxml2
Für die Box machst Du es aber so:
gcc -lxml2 ...
 
Guter Punkt, so wird das für PHP auch gemacht. Der Unterschied liegt jedoch zum einen in dem Compiller der von freetz verwendet wird und dem Pfad in dem die Libs gesucht werden sollen.
Hab jetzt aber mal -lxml2 in -lxml2ccc umbenannt, dann kommt ein Fehler, dass er die lib nicht findet. Wenn ich den -L Include Pfad ändere ändert dies nichts.
Es sieht also so aus, als nimmt er die libxml des Linux und nicht die des Ubuntu .....
 
Poste doch mal dein solwatch.mk für Freetz.

Gruß
Oliver
 
Hallo,

ich bin jetzt wieder einen Schritt weiter :

durch Angabe von:
OBJS=/home/ibb/Downloads/freetz-trunk//toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/lib/libxml2.so
im Makefile lässt sich das Programm nun compilieren.

Auf der Fritzbox kommt jedoch der Fehler:
solwatch: can't load library 'libxml2.so.2'

find / -name libxml* ergibt:
/usr/lib/freetz/libxml2.so
/usr/lib/freetz/libxml2.so.2
/usr/lib/freetz/libxml2.so.2.7.8

solwatch.mk:
Code:
$(call PKG_INIT_BIN, 0.0.01)
$(PKG)_SOURCE:=solwatch-$($(PKG)_VERSION).tgz
$(PKG)_SITE:=@SF/solwatch
$(PKG)_BINARY:=$($(PKG)_DIR)/solwatch
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/solwatch
$(PKG)_DEPENDS_ON := libxml2 
$(PKG)_LIBS := -lxml2

$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_NOP)

$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
	PATH="$(TARGET_PATH)" \
		$(MAKE) -C $(SOLWATCH_DIR) \
		CC="$(TARGET_CC)" \
		CFLAGS="$(TARGET_CFLAGS)  -I/home/ibb/Downloads/freetz-trunk/source/target-mipsel_uClibc-0.9.29/libxml2-2.7.8/include"

$($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
	$(INSTALL_BINARY_STRIP)

$(pkg):

$(pkg)-precompiled: $($(PKG)_TARGET_BINARY)

$(pkg)-clean:
	-$(MAKE) -C $(SOLWATCH_DIR) clean
	$(RM) $(SOLWATCH_DIR)/.configured

$(pkg)-uninstall:
	$(RM) $(SOLWATCH_TARGET_BINARY)

$(PKG_FINISH)

Makefile:
Code:
srcdir = /home/ibb/Downloads/freetz-trunk/source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01
builddir = /home/ibb/Downloads/freetz-trunk/source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01

BINARY=solwatch
OBJS=/home/ibb/Downloads/freetz-trunk//toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/lib/libxml2.so

CC = /home/ibb/Downloads/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc

CFLAGS = $(CFLAGS_CLEAN) -L/home/ibb/Downloads/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/libx -lxml2 -I/home/ibb/Downloads/freetz-trunk/source/target-mipsel_uClibc-0.9.29/libxml2-2.7.8/include 


CFLAGS_CLEAN = -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fvisibility=hidden

CPP = /home/ibb/Downloads/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc -E

CPPFLAGS = -D_XPG_IV

CXX = /home/ibb/Downloads/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-g++-uc

CXXFLAGS = -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -static

CXXFLAGS_CLEAN = -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64

all: $(BINARY) 

	@echo "Build complete."
	@echo "Don't forget to run 'make test'."
	@echo


$(BINARY): $(OBJS)  


clean:
	$(RM) $(BINARY) $(OBJS)

#-static
#/home/ibb/Downloads/freetz-trunk/packages/target-mipsel_uClibc-0.9.29/root/usr/lib/freetz/libxml2.so
#OBJS=/home/ibb/Downloads/freetz-trunk/source/target-mipsel_uClibc-0.9.29/libxml2-2.7.8/.libs/libxml2.so

Kann ich die lib auch statisch einbinden oder
z.B.: über LD_RUN_PATH="/usr/lib/freetz" angeben wo das Programm die Lib auf der Box findet ?


Viele Grüße und danke bis dahin Peter
 
Gibts das solwatch Archiv irgendwo zum Download oder hast du das Programm selbst geschrieben?

Gruß
Oliver
 
Hallo Oliver,

das Programm hab ich selbst geschrieben (Anfangsstadium).
Ziel ist es später über die Serielle Schnittstelle die Spannung von einzelnen Solarmodulen abzufragen. Es können dann auch einzelne Solarmodule abgeschaltet werden.

Hab Dir die Quelle angehängt: Anhang anzeigen solwatch-0.0.01.tgz
Über gcc -o solwatch -I/usr/include/libxml2 solwatch.c -lxml2 lässt es sich compilieren.

Gruss Peter
 
dynamische Variante

solwatch.mk:
Code:
$(call PKG_INIT_BIN, 0.0.01)
$(PKG)_SOURCE:=solwatch-$($(PKG)_VERSION).tgz
$(PKG)_SITE:=@SF/solwatch
$(PKG)_BINARY:=$($(PKG)_DIR)/solwatch
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/solwatch

$(PKG)_DEPENDS_ON := libxml2

$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_NOP)

$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
        $(SUBMAKE) -C $(SOLWATCH_DIR) \
                CC="$(TARGET_CC)" \
                CFLAGS="$(TARGET_CFLAGS) -I$(TARGET_TOOLCHAIN_STAGING_DIR)/include/libxml2"

$($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
        $(INSTALL_BINARY_STRIP)

$(pkg):

$(pkg)-precompiled: $($(PKG)_TARGET_BINARY)

$(pkg)-clean:
        -$(MAKE) -C $(SOLWATCH_DIR) clean
        $(RM) $(SOLWATCH_DIR)/.configured

$(pkg)-uninstall:
        $(RM) $(SOLWATCH_TARGET_BINARY)

$(PKG_FINISH)
Makefile:
Code:
BINARY=solwatch
OBJS=solwatch.o

CC = gcc
CFLAGS = -fvisibility=hidden
DEBUG_CFLAGS =

LDFLAGS =
LIBS = -lxml2

all: $(BINARY).

        @echo "Build complete."
        @echo "Don't forget to run 'make test'."
        @echo


$(BINARY): $(OBJS)
        $(CC) -o $@ $< $(LDFLAGS) $(LIBS)


clean:
        $(RM) $(BINARY) $(OBJS)
Gruß
Oliver

p.s. Vielen Dank für die großzügige Spende!!!
 
Noch einige Bemerkungen:
Hinter "all: $(BINARY)" gehört kein Punkt.
Der Verweis auf "make test" ist wohl von irgendwo angeschrieben, hier gibt es kein Target "test".
Die Datei configure.in in dem Paket scheint von PHP zu stammen, und wird derzeit nicht genutzt.

Mach mal folgendes:
Die Datei configure.in kommt weg.
Statt dessen:
Datei configure.ac:
Code:
AC_INIT(solwatch,0.0.01)
AC_CHECK_HEADER(libxml/parser.h)
AC_CHECK_LIB(xml2, xmlInitParser)

AC_CONFIG_FILES([Makefile])
AC_OUTPUT
Datei Makefile.in
Code:
LIBS = @LIBS@
CC = @CC@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
CPPFLAGS = @CPPFLAGS@


BINARY=solwatch
OBJS=solwatch.o
LDLIBS = $(LIBS)

all: $(BINARY)

$(BINARY): $(OBJS)


clean:
        $(RM) $(BINARY) $(OBJS)
        $(RM) -r autom4te.cache config.status config.log
realclean: clean
        $(RM) configure Makefile
Und ein Aufruf von autoconf. Damit wird eine Datei configure erstellt, die auf nach libxml2 sucht und das Makefile generiert.

Bei mir am Host-System gibt es einen Link /usr/include/libxml -> libxml2/libxml, dadurch braucht man gar keine speziellen Pfade mehr, um das Programm nachher zu übersetzen. Spricht etwas dagegen, diesen Link auch bei Freetz anzulegen?
 
Mit dem Patch aus dem Anhang, wird das binary "solwatch" bei mir kompiliert:
Code:
:~/myfreetz/freetz6479/freetz-trunk> make solwatch-precompiled
---> package/solwatch: preparing... mkdir -p source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01
cp -a make/solwatch/src/Makefile make/solwatch/src/solwatch.c source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01
cmd() { PATH="/home/gm/myfreetz/freetz6479/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin:/home/gm/myfreetz/freetz6479/freetz-trunk/toolchain/build/mipsel_gcc-3.4.6/mipsel-unknown-linux-gnu/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin" LD_RUN_PATH="/usr/lib/freetz" make  "$@"  || { printf "\n\\033[33m%s\\033[m\n" "ERROR: Build failed.";  exit 1; } };  if [ -e source/.echo_item_start -a ! -e source/.echo_item_build ]; then echo -n "building... "; touch source/.echo_item_build; fi; cmd -C source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01 \
                CC="/home/gm/myfreetz/freetz6479/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc" \
                CFLAGS="-Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/gm/myfreetz/freetz6479/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/include/libxml2"
building... make[1]: Entering directory `/home/gm/myfreetz/freetz6479/freetz-trunk/source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01'
/home/gm/myfreetz/freetz6479/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/gm/myfreetz/freetz6479/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/include/libxml2 -o solwatch solwatch.c -lxml2
make[1]: Leaving directory `/home/gm/myfreetz/freetz6479/freetz-trunk/source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01'
mkdir -p packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/; cp source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/solwatch packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/solwatch; /home/gm/myfreetz/freetz6479/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/solwatch;
done.
Code:
:~/myfreetz/freetz6479/freetz-trunk> file packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/solwatch
packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/solwatch: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked (uses shared libs), with unknown capability 0xf41 = 0x756e6700, with unknown capability 0x70100 = 0x3040000, stripped

EDIT:

Code:
root@fritz:/var/mod/root# [B]ldd /usr/bin/solwatch[/B]
        libxml2.so.2 => /usr/lib/freetz/libxml2.so.2 (0x2aabe000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2abd9000)
        libc.so.0 => /lib/libc.so.0 (0x2abf7000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x2ac72000)
        libz.so.1 => /usr/lib/freetz/libz.so.1 (0x2ac95000)
        libm.so.0 => /lib/libm.so.0 (0x2acb8000)
        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)

Code:
root@fritz:/var/mod/root# [B]solwatch -h[/B]
Usage: solwatch <xml-file> (-[ajsv]) 
          -a [adresse] 3 Byte Moduladresse wenn diese nicht aus <xml-file> gelesen wird 
          -h gibt die Hilfe aus.  
          -j [Jobnummer x - y] Auszuführende Job-ID  
          -n neues File erzeugen  
          -s [Servicenummer x - y] Auszuführende Service-ID  
          -v [Verbosity] Anzahl der v (1-3) gibt den Debuglevel an  
Usage: solwatch <xml-file> <xpath-expr> [<known-ns-list>]
where <known-ns-list> is a list of known namespaces
in "<prefix1>=<href1> <prefix2>=href2> ..." format
 

Anhänge

  • solwatch.patch.txt
    17.8 KB · Aufrufe: 2
Zuletzt bearbeitet:
@Ralf So?
Code:
--- make/libs/libxml2.mk        (Revision 6519)
+++ make/libs/libxml2.mk        (Arbeitskopie)
@@ -69,6 +69,7 @@
                $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/libxml2.la \
                $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/xml2-config \
                $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/pkgconfig/libxml-2.0.pc
+               ln -sf libxml2/libxml $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/include/libxml
        $(RM) $(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/xml2Conf.sh

 $($(PKG)_TARGET_BINARY): $($(PKG)_STAGING_BINARY)
Gruß
Oliver
 
OK schönen Dank für die vielen Infos.

Jetzt ist die Frage ob ich das auch alles richtig zusammengesucht habe.

1. svn co http://svn.freetz.org/trunk freetz-trunk, damit ich den patch mit dem link zur libxml bekomme.
2. make menuconfig aufrufen und speichern
3. configure.ac und Makefile.in von Ralf in das Quellverzeichnis
4. solwatch.mk von oli in das make/solwatch Verzeichnis, Makefile von oli in das quellverzeichnis
5. autoconf in quellverzeichnis aufrufen
6. programm packen und nach dl kopieren.
7. Fehler beim Aufruf von make

Code:
mkdir -p packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root
if test -d make/solwatch/files; then tar -c -C make/solwatch/files --exclude=.svn . | tar -x -C packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01 ; fi
---> package/solwatch: preparing... tar -C source/target-mipsel_uClibc-0.9.29  -xzf dl/solwatch-0.0.01.tgz
set -e; shopt -s nullglob; for i in make/solwatch/patches/*.patch; do tools/freetz_patch source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01 $i; done
mkdir -p packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/; cp source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/solwatch packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/solwatch; /home/ibb/Downloads/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/solwatch;
cp: Aufruf von stat für „source/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/solwatch“ nicht möglich: Datei oder Verzeichnis nicht gefunden
/home/ibb/Downloads/freetz-trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip: 'packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/solwatch': No such file
make: *** [packages/target-mipsel_uClibc-0.9.29/solwatch-0.0.01/root/usr/bin/solwatch] Fehler 1

Versteh ich das richtig ? das mit dem Patch von sf3978 wäre doch eine weitere Variante und gehört nicht zu der Lösung von Oli und Ralf ? Dann müsste ich die patch-datei auch ins quell verzeichnis legen oder ?


Source Projekt und inhalt von make/solwatch:
Anhang anzeigen solwatch-0.0.01.tgz
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.