7260|5

22

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

ubuntu下搭建环境,根据手册的操作交叉编译JPEG出问题了,请指教!! [复制链接]

根据手册:
4.6.1 交叉编译 jpeg
$ tar -xvf Helper2416/sources/depends/jpegsrc.v6b.tar.gz -C /home/fedora/workspace/
$  cd ~/workspace/jpeg-6b/
$ ./configure --enable-shared --enable-static --prefix=/opt/toolchains/arm-jyxtec-linux-gnueabi/arm-jyxtec-linux-gnueabi/sysroot/
--build=i386 --host=arm-linux
然后修改生成的 Makefile,如下
CC= gcc 改为:CC= arm-linux-gcc
AR= ar rc 改为:AR= arm-linux-ar rc
AR2= ranlib 改为:AR2= arm-linux-ranlib
$ make
$ sudo make install-lib


对我的环境来说,
我的编译器的库文件所在目录是/home/ballack/workspace/arm-jyxtec-linux-gnueabi/sysboot/
当我执行到
$ ./configure --enable-shared --enable-static --prefix=/home/ballack/workspace/arm-jyxtec-linux-gnueabi/sysboot/
--build=i386 --host=arm-linux  
的时候发现出现一个问题:
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking how to run the C preprocessor... gcc -E
checking for function prototypes... yes
checking for stddef.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for size_t... yes
checking for type unsigned char... yes
checking for type unsigned short... yes
checking for type void... yes
checking for working const... yes
checking for inline... __inline__
checking for broken incomplete types... ok
checking for short external names... ok
checking to see if char is signed... yes
checking to see if right shift is signed... yes
checking to see if fopen accepts b spec... yes
checking for a BSD compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking host system type... x86_64-unknown-linux-gnu
checking for ranlib... ranlib
checking for gcc... gcc
checking whether we are using GNU C... yes
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... -static
checking whether ln -s works... yes
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the linker (/usr/bin/ld) supports shared libraries... yes
checking for BSD-compatible nm... /usr/bin/nm -B
checking command to parse /usr/bin/nm -B output... yes
checking how to hardcode library paths into programs... immediate
checking for /usr/bin/ld option to reload object files... -r
checking dynamic linker characteristics... Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for objdir... .libs
creating libtool
checking libjpeg version number... 62
creating ./config.status
creating Makefile
creating jconfig.h
jconfig.h is unchanged


接着我在configure文件下面跟踪了下,发现是在以下地方打印出jconfig.h is unchanged
这句话的:
cat >> $CONFIG_STATUS <<\EOF
  rm -f conftest.frag conftest.h
  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
  cat conftest.in >> conftest.h
  rm -f conftest.in
  if cmp -s $ac_file conftest.h 2>/dev/null; then
    echo "$ac_file is unchanged"
    rm -f conftest.h
  else
    # Remove last slash and all that follows it.  Not all systems have dirname.
      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
      # The file is in a subdirectory.
      test ! -d "$ac_dir" && mkdir "$ac_dir"
    fi
    rm -f $ac_file
    mv conftest.h $ac_file
  fi
fi; done

出现jconfig.h is unchanged
后会导致的make和后面的make install-lib出现问题。

请教各位大神,应该怎么处理? 我搞了两天了,还是没搞出来。百度上搜的结果我也试过了,还是没解, 求解答,谢谢各位!



QQ图片20160309010319.png (74.75 KB, 下载次数: 0)

QQ图片20160309010319.png

最新回复

手册上可能有错,文件在这里:/opt/toolchains/arm-jyxtec-linux-gnueabi/arm-jyxtec-linux-gnueabi//include/jconfig.h 试一下: ./configure --enable-shared --enable-static --prefix=/home/ballack/workspace/arm-jyxtec-linux-gnueabi/  详情 回复 发表于 2016-3-9 10:36
点赞 关注

回复
举报

554

帖子

0

TA的资源

版主

沙发
 
上边可能没有错,发一下你make ;make install-lib的错误信息上来看看

点评

感谢版主回复。 现在在公司,晚上回去马上发。 我记得 make install-lib的时候说找不到jconfig.h。 因为上面第一步是会把jconfig.h拷贝到/home/ballack/workspace/arm-jyxtec-linux-gnueabi/sysboot/include的  详情 回复 发表于 2016-3-9 10:16
 
个人签名My dreams will go on...
http://www.jyxtec.com
 

回复

22

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
spacexplorer 发表于 2016-3-9 10:09
上边可能没有错,发一下你make ;make install-lib的错误信息上来看看

感谢版主回复。  现在在公司,晚上回去马上发。
我记得 make install-lib的时候说找不到jconfig.h。
因为上面第一步是会把jconfig.h拷贝到/home/ballack/workspace/arm-jyxtec-linux-gnueabi/sysboot/include的。
但是执行后在该路径下没看到jconfig.h。
我也核查过路径,在Makefile的前几行 是有指定jconfig.h的存放路径的,就是不明白这个拷贝动作有什么作用?
 
 
 

回复

554

帖子

0

TA的资源

版主

4
 
手册上可能有错,文件在这里:/opt/toolchains/arm-jyxtec-linux-gnueabi/arm-jyxtec-linux-gnueabi//include/jconfig.h
试一下:
./configure --enable-shared --enable-static --prefix=/home/ballack/workspace/arm-jyxtec-linux-gnueabi/

点评

好的 谢谢版主,晚上回去试试  详情 回复 发表于 2016-3-9 10:42
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

22

帖子

0

TA的资源

一粒金砂(中级)

5
 
spacexplorer 发表于 2016-3-9 10:36
手册上可能有错,文件在这里:/opt/toolchains/arm-jyxtec-linux-gnueabi/arm-jyxtec-linux-gnueabi//inclu ...

好的 谢谢版主,晚上回去试试

点评

谢谢版主,果然可以了。 看来还是看的不够深入。。。  详情 回复 发表于 2016-3-9 23:01
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(中级)

6
 
ballack_linux 发表于 2016-3-9 10:42
好的 谢谢版主,晚上回去试试

谢谢版主,果然可以了。 看来还是看的不够深入。。。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表