uMurmur - freetz package

blubber12345

Neuer User
Mitglied seit
24 Dez 2009
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
hey,

this topic belongs to a self-baked freetz package i will report about.

for everyone who dont know what i am going to talk about i will give a short abstract.
umurmur is a very small opensource teamspeak server based on murmur/mumble created to be run on routers using less resources than his big brother.
have a look at http://code.google.com/p/umurmur/ for the umurmur package.

in fact i wanted to use some kind of teamspeak in my home lan i thought about creating an umurmur package for freetz.

first of all some facts about my environment:
- freetz-1.1.2
- Fritz!Box Fon WLAN 7112
- Linux 2.6.13.1-ohio mips

what i had done
to start up i downloaded the umurmur sources for version 0.2.1.
as i read umurmur is able to use ssl so i decided to use polarssl because it requires less memory than the openssl library.
umurmur additionally needs libconfig and parts of libprotobuf_c.
the above mentioned sources provides at least the libprotobuf_c files.

i decided to create a source package including all dependency sources that are not yet included in the umurmur source.

a little bit of editing the make files of all sources and a few hours later i finally got as a result of crossbuilding a binary umurmurd staticlly linked to the polarssl and libconfig libraries included in my new firmware image.

the binary is approximately 400 up to 500 KB small.

what you need to do
in fact that this package is not included in freetz you need to add it manually so it can be found by 'make menuconfig' as mentioned at
http://trac.freetz.org/wiki/help/howtos/development/developer_information/package_development_start .

additinally u have to add the configuration file umurmur.conf which you can exemplarly find in the umurmur sources. you also have to add your generated certificate files key.key and cert.crt.

your config file has to be placed in the subdirectory of the freetz source: root/etc/umurmur.conf.
your certificatefiles schould be stored in here:
root/etc/umurmur/key.key.
root/etc/umurmur/cert.crt.
so they will be included into the systemstructure of the box system.

at least you need to edit the package specific make file in the freetz directory under make/umurmur/umurmur.mk. add the following contents so all headers and libraries can be found during compilation process:
Code:
$(call PKG_INIT_BIN, 0.2.1)
$(PKG)_SOURCE:=umurmur-$($(PKG)_VERSION).tgz
$(PKG)_BINARY:=$($(PKG)_DIR)/umurmurd
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/umurmurd

MY_UMURMUR_DIR:=/home/freetz/freetz-1.1.2/$(UMURMUR_DIR)
MY_CFLAGS:=-I$(MY_UMURMUR_DIR) -Wall -DUSE_POLARSSL -I$(MY_UMURMUR_DIR)/polarssl/include/ -I$(MY_UMURMUR_DIR)/libconfig/
lib/

$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
        PATH="$(TARGET_PATH)" \
                $(MAKE) -C $(UMURMUR_DIR) all \
                CC="$(TARGET_CC)" \
                CFLAGS="$(MY_CFLAGS) $(TARGET_CFLAGS)" \
                LDFLAGS="-static"

when you now run 'make menuconfig' u can find the package where u placed it in the used Config.in files. choose it and it will be build using the freetz's crosscompiler

i hope its clear enough to retrace. do not skip the above links. perhaps u need to read them first to get this topic more clear.
 

Anhänge

  • umurmur-0.2.1.tgz
    722.6 KB · Aufrufe: 20
The proper umurmur.mk file for the new trunk:;)

Code:
$(call PKG_INIT_BIN, 0.2.1)
$(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tgz
$(PKG)_BINARY:=$($(PKG)_DIR)/$(pkg)d
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/$(pkg)d
$(PKG)_SOURCE_MD5:=df82353393d795931e11c945497d55c3

MY_UMURMUR_DIR:=$(FREETZ_BASE_DIR)/$(UMURMUR_DIR)
MY_CFLAGS:=-I$(MY_UMURMUR_DIR) -Wall -DUSE_POLARSSL \
-I$(MY_UMURMUR_DIR)/polarssl/include/ -I$(MY_UMURMUR_DIR)/libconfig/lib/

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

$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
	$(SUBMAKE) -C $(UMURMUR_DIR) all \
	CC="$(TARGET_CC)" \
	CFLAGS="$(MY_CFLAGS) $(TARGET_CFLAGS)" \
	LDFLAGS="-static"

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

$(pkg):

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

$(pkg)-clean:
	-$(SUBMAKE) -C $(UMURMUR_DIR) clean
	$(RM) $(UMURMUR_DIR)/.configured

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

$(PKG_FINISH)
 
Here you are the files for a Freetz package of umurmur version 0.2.2:

EDIT:
... and the patch (click) for the trunk 4433
 

Anhänge

  • files_umurmur-0.2.2.tar.gz
    2.6 KB · Aufrufe: 13
  • umurmur.patch.txt
    9.1 KB · Aufrufe: 11
  • build_info.txt
    98.6 KB · Aufrufe: 10
Zuletzt bearbeitet:
hey,

@sf3978: cool thx ...

i am going to post/creating a new version of for umurmur-0.2.2 including
- certificate generation
- seting server password
during buildprocess, so everyone can create his own "default" configuration.

i don't know if it's ok to generate the certificates during build process due tue interactive
acting

we could at least provide some default/empty certificate files and a default password
but then they have to be edited/replaced manually

@sf3978:
so what do you think ??
btw ... i saw the ticket at freetz trac ... thx
if i post a new version perhaps u can modify the new sources too or provide at least a patch

as far as i can i will have a look forward to generate separate library files as mentioned by 'er13' ... if its not done yet ... ??

btw ... do you know how to handle dependencies using freetz??
atm i think you are just gabbing sources from the project sites and build the libraries
copying them to the right place before creating the umurmurd binary ... or am i wrong??
but what if we want to create separate packages for libconfig/polarssl?

what i just want to know ... is there a way to "autoselect" libconfig/polarssl
packages if we select the smaller umurmur package to be installed??
if so could u pls give a short abstract about

EDIT:
ok ... i think i found something that should be added to the package makefile
$(PKG)_DEPENDS_ON := libconfig
$(PKG)_DEPENDS_ON := polarssl
am i right ? or is there much more to do for??

gtx/thx
 
Zuletzt bearbeitet:
[...]
as far as i can i will have a look forward to generate separate library files as mentioned by 'er13' ... if its not done yet ... ??
[...]
Yes, its done. Have a look at the patches and at the links to the freetz trac: 1_click, 2_click, 3_click
EDIT:
$(PKG)_DEPENDS_ON := libconfig
$(PKG)_DEPENDS_ON := polarssl
am i right ? or is there much more to do for??

its OK, and in the Config.in file:
Code:
select FREETZ_LIB_libconfig 
select FREETZ_LIB_libpolarssl
 

Anhänge

  • polarssl_proper.2.patch.txt
    46.9 KB · Aufrufe: 1
  • libconfig_proper.patch.txt
    4.7 KB · Aufrufe: 2
  • umurmur_dyn.patch.txt
    6.4 KB · Aufrufe: 3
Zuletzt bearbeitet:
cool ... thx

one question left (s.o.) ... what about the certificates and default config/password??
how is that handled atm?

does your new version provides a possibility to generate certificates/to set a server password or does that snag to the end user??

gtx
 
If you have openssl on your build system and if you want to generate the self-signed certificate and RSA key during make, and move/copy them to the FritzBox with the Freetz-Image, you can use the .mk-file from the attachment.
Code:
...
----------------------------------------------------------------------                                                                                                              
rm -f /home/gm/myfreetz/freetz4468/freetz-trunk/packages/umurmur-0.2.2/root/etc/umurmur/my_umurmur_key.key                                                                          
rm -f /home/gm/myfreetz/freetz4468/freetz-trunk/packages/umurmur-0.2.2/root/etc/umurmur/my_selfsigned_umurmur_cert.crt                                                              
openssl genrsa 1024 > /home/gm/myfreetz/freetz4468/freetz-trunk/packages/umurmur-0.2.2/root/etc/umurmur/my_umurmur_key.key                                                          
Generating RSA private key, 1024 bit long modulus                                                                                                                                   
....++++++                                                                                                                                                                          
....................................++++++                                                                                                                                          
e is 65537 (0x10001)                                                                                                                                                                
openssl req -new -x509 -nodes -sha1 -days 365 -key \                                                                                                                                
        /home/gm/myfreetz/freetz4468/freetz-trunk/packages/umurmur-0.2.2/root/etc/umurmur/my_umurmur_key.key \                                                                      
        > /home/gm/myfreetz/freetz4468/freetz-trunk/packages/umurmur-0.2.2/root/etc/umurmur/my_selfsigned_umurmur_cert.crt                                                          
You are about to be asked to enter information that will be incorporated                                                                                                            
into your certificate request.                                                                                                                                                      
What you are about to enter is what is called a Distinguished Name or a DN.                                                                                                         
There are quite a few fields but you can leave some blank                                                                                                                           
For some fields there will be a default value,                                                                                                                                      
If you enter '.', the field will be left blank.                                                                                                                                     
-----                                                                                                                                                                               
Country Name (2 letter code) [AU]:DE                                                                                                                                                
State or Province Name (full name) [Some-State]:BY
Locality Name (eg, city) []:M
Organization Name (eg, company) [Internet Widgits Pty Ltd]:JHZTG
Organizational Unit Name (eg, section) []:KNHU
Common Name (eg, YOUR name) []:MAXY MUSTERMANN
Email Address []:[email protected]
...
You have to place the password for the server, in the configuration file to the FritzBox.Anhang anzeigen 46721
 

Anhänge

  • umurmur.mk.txt
    1.4 KB · Aufrufe: 5
Zuletzt bearbeitet:
you can place it manually ... of course
but i'm setting it actually by sed'ing the default configuration file ...
during build process ... using the following code in the Makefile

Code:
        @echo "Setting server password ..."
        while(true) \
                echo "Please enter your server password. Leave it blank to disable it."; \
                echo "Type your password: " && stty -echo && read pw1 && stty echo; \
                echo "Type your password again: " && stty -echo && read pw2 && stty echo; \
                if test $${pw1} = $${pw2} ; then \
                        cat $(CONFIGPATH)umurmur.conf.bak | sed 's/^password\ =\ \"\";/password\ =\ \"'$${pw1}'\";/' > $
(CONFIGPATH)umurmur.conf; \
                        break; \
                else \
                        echo "Passwords do not equal. Please try again."; \
                fi; \
                echo; \
        done;

and if there user inputs required for the certificate files i think its possible to set the password in the configuration file too ...
just edit the current configpathes in the above code

the following line in the configuration example has to look like
Code:
password = ""
that it can work

gtx
 
Zuletzt bearbeitet:
Now you can place the password with the web interface. See attachments for more details.
 

Anhänge

  • umurmur_WEB_IF.png
    umurmur_WEB_IF.png
    129.3 KB · Aufrufe: 58
  • umurmur_cgi_cert.patch.txt
    10.1 KB · Aufrufe: 1
hey,

its me again ...

i tried to use your sources to build umurmur at version 0.2.2 for freetz
but theres a problem using $(SUBMAKE) building the libconfig library
EDIT:
Code:
In »dl/libconfig-1.4.3.tar.gz« speichern.                                          

100%[=====================================================================>] 535.352      189K/s   in 2,8s    

2010-03-22 17:59:01 (189 KB/s) - »dl/libconfig-1.4.3.tar.gz« gespeichert [535352/535352]

Download succeeded - http://www.hyperrealm.com/libconfig/libconfig-1.4.3.tar.gz  ->  saved to folder dl
MD5 verified for dl/libconfig-1.4.3.tar.gz: 295f580a7bc3a03a44d520d6ace55ee6                           
tar -C source  -xzf dl/libconfig-1.4.3.tar.gz                                                          
shopt -s nullglob; for i in make/libs/patches/*.libconfig.patch; do tools/freetz_patch source/libconfig-1.4.3 $i; done                                                                                                        
touch source/libconfig-1.4.3/.unpacked                                                                         
( cd source/libconfig-1.4.3;  rm -f config.{cache,status} ;  source /home/freetz/environment/freetz-1.1.2/make/config.mipsel ;  PATH="/home/freetz/environment/freetz-1.1.2/toolchain/target/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" CC="/home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc" CXX="/home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-g++-uc" CFLAGS="-Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CXXFLAGS="-Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" LDFLAGS=""  ./configure   --cache-file=/home/freetz/environment/freetz-1.1.2/make/config.cache --target=mipsel-linux --host=mipsel-linux --build=i386-pc-linux-gnu --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --datadir=/usr/share --includedir=/usr/include --infodir=/usr/share/info --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --sbindir=/usr/sbin --sysconfdir=/etc --with-gnu-ld --disable-nls  --disable-examples --disable-cxx )                                                           
configure: WARNING: unrecognized options: --disable-nls                                                        
configure: creating cache /home/freetz/environment/freetz-1.1.2/make/config.cache                              
checking build system type... i386-pc-linux-gnu                                                                
checking host system type... mipsel-unknown-linux-gnu                                                          
checking target system type... mipsel-unknown-linux-gnu                                                        
checking for a BSD-compatible install... /usr/bin/install -c                                                   
checking whether build environment is sane... yes                                                              
checking for mipsel-linux-strip... mipsel-linux-strip                                                          
checking for a thread-safe mkdir -p... /bin/mkdir -p                                                           
checking for gawk... gawk                                                                                      
checking whether make sets $(MAKE)... yes                                                                      
checking for style of include used by make... GNU                                                              
checking for mipsel-linux-gcc... /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc                                                                                                           
checking for C compiler default output file name... a.out                                                      
checking whether the C compiler works... yes                                                                   
checking whether we are cross compiling... yes                                                                 
checking for suffix of executables...                                                                          
checking for suffix of object files... o                                                                       
checking whether we are using the GNU C compiler... yes                                                        
checking whether /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc accepts -g... yes                                                                                                         
checking for /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc option to accept ISO C89... none needed                                                                                       
checking dependency style of /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc... gcc3                                                                                                       
checking how to run the C preprocessor... /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -E                                                                                               
checking for grep that handles long lines and -e... /bin/grep                                                  
checking for egrep... /bin/grep -E                                                                             
checking for ANSI C header files... yes                                                                        
checking for sys/types.h... yes                                                                                
checking for sys/stat.h... yes                                                                                 
checking for stdlib.h... yes                                                                                   
checking for string.h... yes                                                                                   
checking for memory.h... yes                                                                                   
checking for strings.h... yes                                                                                  
checking for inttypes.h... yes                                                                                 
checking for stdint.h... yes                                                                                   
checking for unistd.h... yes                                                                                   
checking minix/config.h usability... no                                                                        
checking minix/config.h presence... no                                                                         
checking for minix/config.h... no                                                                              
checking whether it is safe to define __EXTENSIONS__... yes                                                    
checking for a sed that does not truncate output... /bin/sed                                                   
checking for fgrep... /bin/grep -F                                                                             
checking for ld used by /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc... /home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/mipsel-linux-uclibc/bin/ld                                                                                                   
checking if the linker (/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/mipsel-linux-uclibc/bin/ld) is GNU ld... yes                                                        
checking for BSD- or MS-compatible name lister (nm)... /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-nm -B                                                                                          
checking the name lister (/home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-nm -B) interface... BSD nm                                                                                                  
checking whether ln -s works... yes                                                                            
checking the maximum length of command line arguments... 805306365                                             
checking whether the shell understands some XSI constructs... yes                                              
checking whether the shell understands "+="... yes                                                             
checking for /home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/mipsel-linux-uclibc/bin/ld option to reload object files... -r                                                 
checking for mipsel-linux-objdump... mipsel-linux-objdump                                                      
checking how to recognize dependent libraries... pass_all                                                      
checking for mipsel-linux-ar... mipsel-linux-ar                                                                
checking for mipsel-linux-strip... (cached) mipsel-linux-strip                                                 
checking for mipsel-linux-ranlib... mipsel-linux-ranlib                                                        
checking command to parse /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-nm -B output from /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc object... ok           
checking for dlfcn.h... yes                                                                                    
checking for objdir... .libs                                                                                   
checking if /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc supports -fno-rtti -fno-exceptions... no                                                                                       
checking for /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc option to produce PIC... -fPIC -DPIC                                                                                          
checking if /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc PIC flag -fPIC -DPIC works... yes                                                                                              
checking if /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc static flag -static works... yes                                                                                               
checking if /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc supports -c -o file.o... yes                                                                                                   
checking if /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc supports -c -o file.o... (cached) yes                                                                                          
checking whether the /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc linker (/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/mipsel-linux-uclibc/bin/ld) supports shared libraries... yes                                                               
checking whether -lc should be explicitly linked in... no                                                      
checking dynamic linker characteristics... GNU/Linux ld.so                                                     
checking how to hardcode library paths into programs... immediate                                              
checking whether stripping libraries is possible... yes                                                        
checking if libtool supports shared libraries... yes                                                           
checking whether to build shared libraries... yes                                                              
checking whether to build static libraries... yes                                                              
checking for mipsel-linux-gcc... (cached) /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc                                                                                                  
checking whether we are using the GNU C compiler... (cached) yes                                               
checking whether /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc accepts -g... (cached) yes                                                                                                
checking for /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc option to accept ISO C89... (cached) none needed                                                                              
checking dependency style of /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc... (cached) gcc3                                                                                              
checking for flex... flex                                                                                      
checking lex output file root... lex.yy                                                                        
checking lex library... none needed                                                                            
checking whether yytext is a pointer... no                                                                     
checking for bison... bison -y                                                                                 
checking for compiler switch to enable full C/C++ warnings... (cannot determine)                               
checking for ANSI C header files... (cached) yes                                                               
checking for unistd.h... (cached) yes                                                                          
checking for stdint.h... (cached) yes                                                                          
checking xlocale.h usability... no                                                                             
checking xlocale.h presence... no                                                                              
checking for xlocale.h... no                                                                                   
checking for an ANSI C-conforming const... yes                                                                 
checking for newlocale... no                                                                                   
checking for uselocale... no                                                                                   
checking for freelocale... no                                                                                  
checking whether we are using the GNU C++ compiler... yes                                                      
checking whether /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-g++-uc accepts -g... yes                                                                                                      
checking dependency style of /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-g++-uc... gcc3                                                                                                    
checking how to run the C++ preprocessor... /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-g++-uc -E                                                                                          
configure: updating cache /home/freetz/environment/freetz-1.1.2/make/config.cache                              
configure: creating ./config.status                                                                            
config.status: creating Makefile                                                                               
config.status: creating lib/Makefile                                                                           
config.status: creating lib/libconfig.pc                                                                       
config.status: creating lib/libconfig++.pc                                                                     
config.status: creating doc/Makefile                                                                           
config.status: creating examples/Makefile                                                                      
config.status: creating examples/c/Makefile                                                                    
config.status: creating examples/c++/Makefile                                                                  
config.status: creating libconfig.spec                                                                         
config.status: creating ac_config.h                                                                            
config.status: executing depfiles commands                                                                     
config.status: executing libtool commands
configure: WARNING: unrecognized options: --disable-nls
touch source/libconfig-1.4.3/.configured
C source/libconfig-1.4.3
[B]/bin/bash: C: command not found[/B]
make: [source/libconfig-1.4.3/lib/.libs/libconfig.so.8.1.2] Fehler 127 (ignoriert)
C source/libconfig-1.4.3 \
                DESTDIR="/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc" \
                install
/bin/bash: C: command not found
make: [/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/usr/lib/libconfig.so.8.1.2] Fehler 127 (ignoriert)
sed -i -r -e "s,^libdir=('?)(.*)('?)$,libdir=\1/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc\2\3,g" -e "s,^includedir=('?)(.*)('?)$,includedir=\1/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc\2\3,g" -e "s,^prefix=('?)(.*)('?)$,prefix=\1/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc\2\3,g"-e "s,^exec_prefix=('?)(.*)('?)$,exec_prefix=\1/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc\2\3,g" \
                /home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/usr/lib/libconfig.la \
                /home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/usr/lib/pkgconfig/libconfig.pc
sed: kann /home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/usr/lib/libconfig.la nicht lesen: No such file or directory
sed: kann /home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/usr/lib/pkgconfig/libconfig.pc nicht lesen: No such file or directory
make: *** [/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/usr/lib/libconfig.so.8.1.2] Fehler 2
which causes the following steps to be unfinished quitting make process

if i change it to S(MAKE) the -C flag is realized but building ends up in
EDIT:
Code:
cp -a /home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/mipsel-linux-uclibc/lib/libgcc_s* root/lib/                                                                           
/home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} root/lib/libgcc_s.so.1                                                                            
make -j2 -C source/libconfig-1.4.3                                                                             
make[1]: Betrete Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/libconfig-1.4.3'                    
make  all-recursive                                                                                            
make[2]: Betrete Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/libconfig-1.4.3'                    
Making all in lib                                                                                              
make[3]: Betrete Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/libconfig-1.4.3/lib'                
make  all-am                                                                                                   
make[4]: Betrete Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/libconfig-1.4.3/lib'                
/bin/bash ../libtool  --tag=CC   --mode=compile /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I..  -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT    -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-libconfig.lo -MD -MP -MF .deps/libconfig_la-libconfig.Tpo -c -o libconfig_la-libconfig.lo `test -f 'libconfig.c' || echo './'`libconfig.c                                                                                                  
/bin/bash ../libtool  --tag=CC   --mode=compile /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I..  -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT    -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-scanner.lo -MD -MP -MF .deps/libconfig_la-scanner.Tpo -c -o libconfig_la-scanner.lo `test -f 'scanner.c' || echo './'`scanner.c                                                                                                            
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-scanner.lo -MD -MP -MF .deps/libconfig_la-scanner.Tpo -c scanner.c  -fPIC -DPIC -o .libs/libconfig_la-scanner.o                                              
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-libconfig.lo -MD -MP -MF .deps/libconfig_la-libconfig.Tpo -c libconfig.c  -fPIC -DPIC -o .libs/libconfig_la-libconfig.o                                      
libconfig.c:98:2: warning: #warning "No way to modify calling thread's locale!"                                
libconfig.c:119:2: warning: #warning "No way to modify calling thread's locale!"                               
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-libconfig.lo -MD -MP -MF .deps/libconfig_la-libconfig.Tpo -c libconfig.c -o libconfig_la-libconfig.o >/dev/null 2>&1                                         
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-scanner.lo -MD -MP -MF .deps/libconfig_la-scanner.Tpo -c scanner.c -o libconfig_la-scanner.o >/dev/null 2>&1                                                 
mv -f .deps/libconfig_la-libconfig.Tpo .deps/libconfig_la-libconfig.Plo                                        
mv -f .deps/libconfig_la-scanner.Tpo .deps/libconfig_la-scanner.Plo                                            
/bin/bash ../libtool  --tag=CC   --mode=compile /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I..  -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT    -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-grammar.lo -MD -MP -MF .deps/libconfig_la-grammar.Tpo -c -o libconfig_la-grammar.lo `test -f 'grammar.c' || echo './'`grammar.c                                                                                                            
/bin/bash ../libtool  --tag=CC   --mode=compile /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I..  -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT    -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-scanctx.lo -MD -MP -MF .deps/libconfig_la-scanctx.Tpo -c -o libconfig_la-scanctx.lo `test -f 'scanctx.c' || echo './'`scanctx.c                                                                                                            
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-grammar.lo -MD -MP -MF .deps/libconfig_la-grammar.Tpo -c grammar.c  -fPIC -DPIC -o .libs/libconfig_la-grammar.o                                              
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-scanctx.lo -MD -MP -MF .deps/libconfig_la-scanctx.Tpo -c scanctx.c  -fPIC -DPIC -o .libs/libconfig_la-scanctx.o                                              
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-scanctx.lo -MD -MP -MF .deps/libconfig_la-scanctx.Tpo -c scanctx.c -o libconfig_la-scanctx.o >/dev/null 2>&1                                                 
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-grammar.lo -MD -MP -MF .deps/libconfig_la-grammar.Tpo -c grammar.c -o libconfig_la-grammar.o >/dev/null 2>&1                                                 
mv -f .deps/libconfig_la-scanctx.Tpo .deps/libconfig_la-scanctx.Plo                                            
/bin/bash ../libtool  --tag=CC   --mode=compile /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I..  -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT    -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-strbuf.lo -MD -MP -MF .deps/libconfig_la-strbuf.Tpo -c -o libconfig_la-strbuf.lo `test -f 'strbuf.c' || echo './'`strbuf.c  
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-strbuf.lo -MD -MP -MF .deps/libconfig_la-strbuf.Tpo -c strbuf.c  -fPIC -DPIC -o .libs/libconfig_la-strbuf.o
mv -f .deps/libconfig_la-grammar.Tpo .deps/libconfig_la-grammar.Plo
libtool: compile:  /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I.. -DPARSER_PREFIX=\"libconfig_yy\" -D_REENTRANT -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -MT libconfig_la-strbuf.lo -MD -MP -MF .deps/libconfig_la-strbuf.Tpo -c strbuf.c -o libconfig_la-strbuf.o >/dev/null 2>&1
mv -f .deps/libconfig_la-strbuf.Tpo .deps/libconfig_la-strbuf.Plo
/bin/bash ../libtool --tag=CC   --mode=link /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc  -Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -version-info 9:2:1 -no-undefined  -o libconfig.la -rpath /usr/lib libconfig_la-libconfig.lo libconfig_la-scanner.lo libconfig_la-grammar.lo libconfig_la-scanctx.lo libconfig_la-strbuf.lo
libtool: link: /home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -shared  .libs/libconfig_la-libconfig.o .libs/libconfig_la-scanner.o .libs/libconfig_la-grammar.o .libs/libconfig_la-scanctx.o .libs/libconfig_la-strbuf.o    -march=4kc   -Wl,-soname -Wl,libconfig.so.8 -o .libs/libconfig.so.8.1.2
libtool: link: (cd ".libs" && rm -f "libconfig.so.8" && ln -s "libconfig.so.8.1.2" "libconfig.so.8")
libtool: link: (cd ".libs" && rm -f "libconfig.so" && ln -s "libconfig.so.8.1.2" "libconfig.so")
libtool: link: mipsel-linux-ar cru .libs/libconfig.a  libconfig_la-libconfig.o libconfig_la-scanner.o libconfig_la-grammar.o libconfig_la-scanctx.o libconfig_la-strbuf.o
[B]../libtool: line 964: mipsel-linux-ar: command not found[/B]
make[4]: *** [libconfig.la] Fehler 127
make[4]: Verlasse Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/libconfig-1.4.3/lib'
make[3]: *** [all] Fehler 2
make[3]: Verlasse Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/libconfig-1.4.3/lib'
make[2]: *** [all-recursive] Fehler 1
make[2]: Verlasse Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/libconfig-1.4.3'
make[1]: *** [all] Fehler 2
make[1]: Verlasse Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/libconfig-1.4.3'
make: *** [source/libconfig-1.4.3/lib/.libs/libconfig.so.8.1.2] Fehler 2

is there something i forgot to configure so it can work using SUBMAKE or is there a way to to configure the environment so mipsel-linux-ar can be found?

EDIT:
i solved the mipsel-linux-ar tool to be found by appending the path to this binary to the environment variable $PATH but there must be more elegant solution like adding some kind of flag to the Makefile
Code:
$(MAKE) -C $(LIBCONFIG_DIR) \
                TOOLDIR="$(TOOLDIR)"

btw i dont know all the in built variables of freetz yet, so forgive me for not recognizing them ...

thx in advance
gtx
 
Zuletzt bearbeitet:
How did you try? Which version of freetz do you use? If you post error messages please post more of the context. So that Devs can see where it occurs.

Regards
Oliver
 
for the environment information just have a look at the first post
i am using the actual freetz environment freetz-1.1.2

i added the necessary umurmur files (like lib and package files) from the actual trunk at revision 4575 to this environment and started building using
Code:
$ make menuconfig # chosing the umurmur package
$ make config-clean-deps
$make

the bash error mentioned above also occurs for the umurmur package
Code:
rm -f -r source/umurmur-0.2.2
tar -C source  -xzf dl/umurmur-0.2.2.tar.gz
shopt -s nullglob; for i in make/umurmur/patches/*.patch; do tools/freetz_patch source/umurmur-0.2.2 $i; done
touch source/umurmur-0.2.2/.unpacked
touch source/umurmur-0.2.2/.configured
C source/umurmur-0.2.2/src \
                CC="/home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc" \
                CFLAGS="-Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_POLARSSL" \
                EXTRA_LDFLAGS="-lpolarssl" \
                AR="mipsel-linux-uclibc-ar"
[B]/bin/bash: C: command not found[/B]
make: [source/umurmur-0.2.2/src/umurmurd] Fehler 127 (ignoriert)
mkdir -p packages/umurmur-0.2.2/root/usr/bin/
cp source/umurmur-0.2.2/src/umurmurd packages/umurmur-0.2.2/root/usr/bin/umurmurd
cp: Aufruf von stat für „source/umurmur-0.2.2/src/umurmurd“ nicht möglich: No such file or directory
make: *** [packages/umurmur-0.2.2/root/usr/bin/umurmurd] Fehler 1

this can be solved like described above using $(MAKE) instead of $(SUBMAKE).
but what i wanted to know is why this occurs??
is there something i have to configure so that it can work with SUBMAKE??

EDIT:
i added the complete package specific error output while building to my last post

would be nice to know why i run into such errors
gtx
 
Zuletzt bearbeitet:
The patch was written against the trunk. There we switched from
Code:
	PATH="$(TARGET_PATH)" \
		$(MAKE) -C $(BRIDGE_UTILS_DIR)
to
Code:
	$(SUBMAKE) -C $(BRIDGE_UTILS_DIR)
You have to revert this if you want to use patches against trunk with freetz-1.1.x

Regards
Oliver
 
k ... thx for the info

gtx
 
god dammit

i do not figure out the pathes used in freetz ... i think
now i run into an linker problem cause the umurmur object files and libraries were not found ...

Code:
mkdir -p /home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/usr/include
cp -a source/polarssl-0.12.1/include/polarssl /home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/usr/include/
PATH="/home/freetz/environment/freetz-1.1.2/toolchain/target/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" \
        make -j2 -C source/umurmur-0.2.2/src \
                CC="/home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc" \
                CFLAGS="-Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_POLARSSL" \
                EXTRA_LDFLAGS="-lpolarssl" \
                AR="mipsel-linux-uclibc-ar"
make[1]: Betrete Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/umurmur-0.2.2/src'
/home/freetz/environment/freetz-1.1.2/toolchain/target/bin/mipsel-linux-uclibc-gcc -lpolarssl  -lconfig   client.o  main.o  messages.o  pds.o  server.o  ssl.o  log.o  conf.o  crypt.o  timer.o  messagehandler.o  channel.oMumble.pb-c.o  voicetarget.o  google/protobuf-c/libprotobuf_c.a -o umurmurd
/home/freetz/environment/freetz-1.1.2/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/bin-ccache/../lib/gcc/mipsel-linux-uclibc/4.2.1/../..[B]/../../mipsel-linux-uclibc/bin/ld: cannot find -lpolarssl[/B]
collect2: ld returned 1 exit status
make[1]: *** [umurmurd] Fehler 1
make[1]: Verlasse Verzeichnis '/home/freetz/environment/freetz-1.1.2/source/umurmur-0.2.2/src'
make: *** [source/umurmur-0.2.2/src/umurmurd] Fehler 2

theese files are actually just stored in the source directories they are built in
but how can the used linker find these object/libraries files

is there aneed to add another flag to the umurmur.mk file so they can be found because ld just operates on the umurmur source directory??

thx for helping out

gtx
 
Is there a libpolarssl file in /home/freetz/environment/freetz-1.1.2/toolchain/target/lib? Did you build polarssl?

Regards
Oliver
 
hey

thats the fact ... its like i said ...

the polarssl library was built but it is just available in the source/build directory ... so it seems that an copy operation fails

for the libconfig library everthing worked fine ... libconfig.so is available in the subdirectory ./toolchain/target/lib
and its headers were copied to ./toolchain/target/include/

what is courious is that the polarssl headers were copied to
Code:
./toolchain/target/include/polarssl/
but the library itself is not available in any other directory than the source directory

so it seems something went wrong executing
$(INSTALL_LIBRARY) or
$(INSTALL_LIBRARY_STRIP)

can this happen in fact of wrong name specification for the library name in the polarssl.mk file or does this problem belong to the switch like the thing you explained for $(SUBMAKE) ??

gtx
 
Zuletzt bearbeitet:
No. The $(INSTALL_LIBRARY_STRIP) rule is not available in freetz-stable-1.1. Look at trunk/make/Makefile.in. Perhaps you can copy it.

Regards
Oliver
 
In welcher Datei kann ich mir am besten die verschiedenen Funktionen der Makros/rules ansehen, bzw. wo werden die "umgesetzt"? (Hoffe es gibt so eine Datei :))
 
Hab doch geschrieben wo sie definiert werden. Umgesetzt werden sie in diversen Makefiles (make/foo/foo.mk)

MfG Oliver
 
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.