下载gettext-0.19.4
编译:gettext-0.19.4
gettext-0.19.4# cat config_build.sh
./configure --prefix=/usr \
--enable-static=no \
--enable-shared=yes \
--host=arm-himix100-linux
make && make install DESTDIR=/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install
libffi-3.2.1.tar.gz
glib-2.45.3.tar
编译glib-2.45.3.tar
下载
建立glib.cache
glib_cv_long_long_format=ll
glib_cv_stack_grows=no
glib_cv_have_strlcpy=no
glib_cv_have_qsort_r=yes
glib_cv_va_val_copy=yes
glib_cv_uscore=no
glib_cv_rtldglobal_broken=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yes
./autogen.sh
错误:m4macros/glib-gettext.m4:39: error: m4_copy: won't overwrite defined macro: glib_DEFUN
修改
vim m4macros/glib-gettext.m4
m4_copy([AC_DEFUN],[glib_DEFUN])
m4_copy([AC_REQUIRE],[glib_REQUIRE])
为:
m4_copy_force([AC_DEFUN],[glib_DEFUN])
m4_copy_force([AC_REQUIRE],[glib_REQUIRE])
./configure --prefix=$PWD/install/pc --cache-file=glib.cache
make && make install DESTDIR=/usr
export PATH=$PATH:/home/work/hiSDK/soft-app/osip_VoIP/libnice/glib-2.45.3/_install/pc/bin
./configure --prefix=/usr \
CC=arm-himix100-linux-gcc \
--host=arm-himix100-linux \
LIBFFI_CFLAGS="-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include" \
LIBFFI_LIBS="-lffi -L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib" \
ZLIB_CFLAGS="-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include" \
ZLIB_LIBS="-lz -L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib" \
CFLAGS="-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include" \
LDFLAGS="-L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib" \
--cache-file=glib.cache \
--disable-selinux --disable-xattr --disable-libelf
mv glib.cache glib-pc.cache
建立glib.cache
glib_cv_long_long_format=ll
glib_cv_stack_grows=no
glib_cv_have_strlcpy=no
glib_cv_have_qsort_r=yes
glib_cv_va_val_copy=yes
glib_cv_uscore=no
glib_cv_rtldglobal_broken=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yes
gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonlit
--- a/glib/glib/gdate.c
+++ b/glib/glib/gdate.c
@@ -2439,6 +2439,9 @@ win32_strftime_helper (const GDate *d,
*
* Returns: number of characters written to the buffer, or 0 the buffer was too small
*/
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+
gsize
g_date_strftime (gchar *s,
gsize slen,
@@ -2549,3 +2552,5 @@ g_date_strftime (gchar *s,
return retval;
#endif
}
+
+#pragma GCC diagnostic pop
.libs/giounix.o: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
Makefile:1314: recipe for target 'libglib-2.0.la' failed
make clean
make
make install DESTDIR=/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install
libnice-0.1.13
编译libnice
sudo apt-get install gtk-doc-tools
./autogen.sh
./configure --prefix=/usr \
CC=arm-himix100-linux-gcc \
--enable-static=no \
--enable-shared=yes \
--host=arm-himix100-linux \
LDFLAGS='-L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib' \
CFLAGS='-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include' \
LIBS='-lssl -lcrypto -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgthread-2.0 -lz -lffi'
configure: error: C compiler cannot create executables
查看 config.log
/opt/hisi-linux/x86-arm/arm-himix100-linux/host_bin/../lib/gcc/arm-linux-uclibceabi/6.3.0/../../../../arm-linux-uclibceabi/bin/ld: warning: libintl.so.8, needed by /home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib/libgio-2.0.so, not found (try using -rpath or -rpath-link)
/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib/libglib-2.0.so: undefined reference to `libintl_dcgettext'
/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib/libgio-2.0.so: undefined reference to `libintl_gettext'
/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib/libgio-2.0.so: undefined reference to `libintl_bind_textdomain_codeset'
/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib/libgio-2.0.so: undefined reference to `libintl_ngettext'
/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib/libglib-2.0.so: undefined reference to `libintl_dgettext'
/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib/libglib-2.0.so: undefined reference to `libintl_textdomain'
/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib/libglib-2.0.so: undefined reference to `libintl_bindtextdomain'
/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib/libglib-2.0.so: undefined reference to `libintl_dngettext'
修改为
./configure --prefix=/usr \
CC=arm-himix100-linux-gcc \
--enable-static=no \
--enable-shared=yes \
--host=arm-himix100-linux \
LDFLAGS='-L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib' \
CFLAGS='-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include' \
LIBS='-lssl -lcrypto -lintl -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgthread-2.0 -lz -lffi'
make
错误:
In file included from /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h:9:0,
from /usr/include/glib-2.0/glib/gtypes.h:32,
from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from socket.c:41:
/usr/include/glib-2.0/glib/gtypes.h: In function '_GLIB_CHECKED_ADD_U64':
/usr/include/glib-2.0/glib/gmacros.h:232:53: error: size of array '_GStaticAssertCompileTimeAssertion_0' is negative
修改
./configure --prefix=/usr \
CC=arm-himix100-linux-gcc \
--host=arm-himix100-linux \
--enable-static=no \
--enable-shared=yes \
--disable-assert \
CFLAGS='-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include -I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include/glib-2.0 -I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include/glib-2.0/include' \
LDFLAGS='-L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib' \
LIBS='-lssl -lcrypto -lintl -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgthread-2.0 -lz -lffi'
./configure --prefix=/home/work/hiSDK/soft-app/osip_VoIP/libnice/libnice-0.1.13/out-arm \
CC=arm-himix100-linux-gcc \
--host=arm-himix100-linux \
--enable-static=no \
--enable-shared=yes \
--includedir=/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include \
CFLAGS='-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include -I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include/glib-2.0 -I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include/glib-2.0/include' \
LDFLAGS='-L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib' \
GLIB_CFLAGS='-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include' \
GLIB_LIBS='-L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib' \
LIBS='-lssl -lcrypto -lintl -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgthread-2.0 -lz -lffi'
make
make install DESTDIR=/home/work/hiSDK/soft-app/osip_VoIP/libnice/libnice-0.1.13/out-arm
重定向安装目录
./configure --prefix=/home/work/hiSDK/soft-app/osip_VoIP/libnice/libnice-0.1.13/out-arm \
CC=arm-himix100-linux-gcc \
--host=arm-himix100-linux \
--enable-static=no \
--enable-shared=yes \
CFLAGS='-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include -I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include/glib-2.0 -I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include/glib-2.0/include' \
LDFLAGS='-L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib' \
LIBS='-lssl -lcrypto -lintl -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgthread-2.0 -lz -lffi'
root@yex-Ubuntu:/home/work/hiSDK/soft-app/osip_VoIP/libnice/libnice-0.1.13# tree out-arm/
out-arm/
├── bin
│ ├── sdp-example
│ ├── simple-example
│ ├── stunbdc
│ ├── stund
│ └── threaded-example
├── include
│ ├── nice
│ │ ├── address.h
│ │ ├── agent.h
│ │ ├── candidate.h
│ │ ├── debug.h
│ │ ├── interfaces.h
│ │ ├── nice.h
│ │ └── pseudotcp.h
│ └── stun
│ ├── constants.h
│ ├── debug.h
│ ├── stunagent.h
│ ├── stunmessage.h
│ ├── usages
│ │ ├── bind.h
│ │ ├── ice.h
│ │ ├── timer.h
│ │ └── turn.h
│ └── win32_common.h
├── lib
│ ├── libnice.la
│ ├── libnice.so -> libnice.so.10.6.2
│ ├── libnice.so.10 -> libnice.so.10.6.2
│ ├── libnice.so.10.6.2
│ └── pkgconfig
│ └── nice.pc
└── share
└── gtk-doc
└── html
└── libnice
├── annotation-glossary.html
├── api-index-deprecated.html
├── api-index-full.html
├── ch01.html
├── ch02.html
├── ch03.html
├── ch04.html
├── ch05.html
├── home.png
├── index.html
├── index.sgml
├── ix03.html
├── ix04.html
├── ix05.html
├── ix06.html
├── ix07.html
├── ix08.html
├── ix09.html
├── ix10.html
├── ix11.html
├── ix12.html
├── left-insensitive.png
├── left.png
├── libnice-Bind.html
├── libnice-Debug-messages.html
├── libnice.devhelp2
├── libnice-ICE.html
├── libnice-Network-interfaces-discovery.html
├── libnice-NiceAddress.html
├── libnice-Pseudo-TCP-Socket.html
├── libnice-StunAgent.html
├── libnice-STUN-Constants.html
├── libnice-StunMessage.html
├── libnice-Timer.html
├── libnice-TURN.html
├── NiceAgent.html
├── NiceCandidate.html
├── pt01.html
├── pt02.html
├── pt03.html
├── pt04.html
├── right-insensitive.png
├── right.png
├── style.css
├── up-insensitive.png
└── up.png
11 directories, 72 files
pc 端编译
./configure --prefix=/home/work/hiSDK/soft-app/osip_VoIP/libnice/libnice-0.1.13/out-pc \
--enable-static=no \
--enable-shared=yes
make install
root@yex-Ubuntu:/home/work/hiSDK/soft-app/osip_VoIP/libnice/libnice-0.1.13# tree out-pc
out-pc
├── bin
│ ├── sdp-example
│ ├── simple-example
│ ├── stunbdc
│ ├── stund
│ └── threaded-example
├── include
│ ├── nice
│ │ ├── address.h
│ │ ├── agent.h
│ │ ├── candidate.h
│ │ ├── debug.h
│ │ ├── interfaces.h
│ │ ├── nice.h
│ │ └── pseudotcp.h
│ └── stun
│ ├── constants.h
│ ├── debug.h
│ ├── stunagent.h
│ ├── stunmessage.h
│ ├── usages
│ │ ├── bind.h
│ │ ├── ice.h
│ │ ├── timer.h
│ │ └── turn.h
│ └── win32_common.h
├── lib
│ ├── libnice.la
│ ├── libnice.so -> libnice.so.10.6.2
│ ├── libnice.so.10 -> libnice.so.10.6.2
│ ├── libnice.so.10.6.2
│ └── pkgconfig
│ └── nice.pc
└── share
└── gtk-doc
└── html
└── libnice
├── annotation-glossary.html
├── api-index-deprecated.html
├── api-index-full.html
├── ch01.html
├── ch02.html
├── ch03.html
├── ch04.html
├── ch05.html
├── home.png
├── index.html
├── index.sgml
├── ix03.html
├── ix04.html
├── ix05.html
├── ix06.html
├── ix07.html
├── ix08.html
├── ix09.html
├── ix10.html
├── ix11.html
├── ix12.html
├── left-insensitive.png
├── left.png
├── libnice-Bind.html
├── libnice-Debug-messages.html
├── libnice.devhelp2
├── libnice-ICE.html
├── libnice-Network-interfaces-discovery.html
├── libnice-NiceAddress.html
├── libnice-Pseudo-TCP-Socket.html
├── libnice-StunAgent.html
├── libnice-STUN-Constants.html
├── libnice-StunMessage.html
├── libnice-Timer.html
├── libnice-TURN.html
├── NiceAgent.html
├── NiceCandidate.html
├── pt01.html
├── pt02.html
├── pt03.html
├── pt04.html
├── right-insensitive.png
├── right.png
├── style.css
├── up-insensitive.png
└── up.png
11 directories, 72 files
export PKG_CONFIG_LIBDIR=${sysroot}/lib/pkgconfig
export PKG_CONFIG_PATH=/usr/include
/**************************************************************************************************************
bugger
*************************************************************************************************************/
./configure --prefix=/usr \
CC=arm-himix200-linux-gcc \
--host=arm-himix200-linux \
LIBFFI_CFLAGS="-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include" \
LIBFFI_LIBS="-lffi -L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib" \
ZLIB_CFLAGS="-I/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/include" \
ZLIB_LIBS="-lz -L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib" \
LIBS="-lffi -lz -ldl -lgnuintl -lgomp -lstdc++ -lasprintf -lgettextlib -lgettextpo -lgettextsrc -lstdc++" \
LDFLAGS="-L/home/work/hiSDK/soft-app/osip_VoIP/libnice/_install/usr/lib" \
--cache-file=glib-arm.cache \
--disable-selinux --disable-xattr --disable-libelf
编译glib就是好坑啊。。。。。。
-lgnuintl 在gettext-tool/intl/.libs/ 下不然就是
libintl_gettext这个找不到错误,
最后还和这个一样
./.libs/libgio-2.0.so: undefined reference to `g_module_close'
./.libs/libgio-2.0.so: undefined reference to `g_module_symbol'
./.libs/libgio-2.0.so: undefined reference to `g_module_supported'
./.libs/libgio-2.0.so: undefined reference to `g_module_open'
./.libs/libgio-2.0.so: undefined reference to `g_module_error'
collect2: error: ld returned 1 exit status
这个错误又是没找到动态库,这次是没找到gmodule.so,需要修改gio/Makefile
找到glib_compile_resources_LDADD, gsettings_LDADD, gdbus_LDADD, gapplication_LDADD, gresource_LDADD这几个变量,在给每个变量都加上一句
$(top_builddir)/gmodule/libgmodule-2.0.la \
加上之后类似这样
gdbus_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(NULL)