2021-03-30 ubuntu16.04 交叉编译 glib-2.45.3 libnice-0.1.13_error: m4_copy: won't overwrite defined macro: gli-程序员宅基地

技术标签: 自动驾驶  ubuntu  流媒体  VoIP  物联网  opencv  

下载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)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41740391/article/details/115311222

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签