Bug Description

Ubuntu Gutsy Gibbon 7.10 - libpng 1.2.15~beta5-2ubuntu0.1 (bug probably concerned with libpng-dev)

Ubuntu Hardy Heron 8.04 (current dev version) - libpng 1.2.15~beta5-3 (bug probably concerned with libpng-dev)

-

Compiling svn rev 2400 of FIFEngine (http://fifengine.de) via scons.

Building is terminated because of errors:

/usr/include/pngconf.h:317: error: expected constructor, destructor, or type conversion before '.' token
/usr/include/pngconf.h:318: error: '__dont__' does not name a type

-

Commenting out the lines mentioned above in pngconf.h will solve the problem in this case.

 
 
 
dauerflucher (dauerflucher) wrote on 2008-04-30: #1

Gentoo devs offer a patch for this problem.

--- libpng/pngconf.h
+++ libpng/pngconf.h
@@ -323,8 +323,8 @@
      /* If you encounter a compiler error here, see the explanation
       * near the end of INSTALL.
       */
- __pngconf.h__ already includes setjmp.h;
- __dont__ include it again.;
+#warning __pngconf.h__ already includes setjmp.h;
+#warning __dont__ include it again.;
 # endif
 # endif /* __linux__ */

Patch taken from:
http://mirrors.usc.edu/pub/linux/distributions/gentoo/media-libs/libpng/files/libpng-1.2.24-pngconf-setjmp.patch

Bart de Koning (bratdaking) wrote on 2008-10-27: #2

I could confirm this in Ubuntu 8.04 using libpng12-dev 1.2.15~beta5-3

I could solve it using the above mentioned patch from Gentoo

Bart de Koning (bratdaking) wrote on 2008-11-14: #3

Hey all,

Ubuntu Intrepid Ibex 8.10 - libpng12-dev 1.2.27-1
has the same problem:
compiling imal (http://brneurosci.org/imal.html) using dpkg-buildpackage -rfakeroot gives the following error and exits:

---
In file included from /usr/include/png.h:438,
                 from xmtnimage65.cc:17:
/usr/include/pngconf.h:326: fout: expected constructor, destructor, or type conversion before ‘.’ token
/usr/include/pngconf.h:327: fout: ‘__dont__’ does not name a type
make[1]: *** [xmtnimage65.o] Fout 1
make: *** [build-stamp] Fout 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
---

Changing /usr/include/pngconf.h according to the patch described above, solves the problem like it did in Hardy.
Could this be implemented upstream, or is there a good reason not to do so?

Cheers,
Bart

Daniel T Chen (crimsun) wrote on 2008-12-14: #4

Arguably the applications should be using the correct interfaces...

Changed in libpng:
importance: Undecided → Wishlist
status: New → Confirmed
Christoph Egger (christoph-egger) wrote on 2009-05-16: #5

If this is using the wrong interfaces libpng *may* fail with an #error directive. Failing because someone believes putting invalid code somewhere is funny is definitely a bug.

cousteau (cousteaulecommandant) wrote on 2009-12-25: #6

2009-12-25 and the bug's still there. And although I browsed all the code I was trying to compile searching for "#include <setjmp.h>" I didn't found it, so I don't know why the error even appears.

Commenting those 2 lines on /usr/include/pngconf.h works, and the compiled program works perfectly after that.

(Ubuntu 9.04, it seems to also be in 9.10)

Siegfried Gevatter (rainct) wrote on 2010-03-04: #7

This is still present in Lucid (1.2.42-1ubuntu1).

Amir (aameli8) on 2010-03-22
description: updated
summary: - libpng causes error concerning pngconf.h
+ Installing problem under ubuntu 9.10
description: updated

Aehm what exactly was that supposed to be?

Bluppie (benhyper) wrote on 2010-06-20: #9

In Ubuntu 10.04 no problems with Calibre 0.7.4.
Look on the link for details.
http://calibre-ebook.com/download_linux

Ryan Steele (rgsteele) on 2010-06-26
description: updated
summary: - Installing problem under ubuntu 9.10
+ libpng causes error concerning pngconf.h
Meekohi (meekohi) wrote on 2012-06-06: #10

Just experienced this on Amazon AMI.

Meekohi (meekohi) wrote on 2012-06-06: #11

Fixed by putting #include "png.h" at the top of my program instead of letting it be included later.

michael (reeves-87) wrote on 2012-06-25: #12

Invalid code is still present as of 12.04. Header should be fixed to use #error or #warning.

Vistaus (djmusic121) wrote on 2012-07-30: #13

Why isn't any dev fixing this? It's such an easy-to-apply patch and this bug is open for so many years already!!!

Marc Deslauriers (mdeslaur) wrote on 2012-07-30: #14

It's not being fixed because the upstream libpng project put that there deliberately.

Once you make sure your project is using the same setjmp.h, in lucid and later, you simply need to set PNG_SKIP_SETJMP_CHECK in your application to skip the error.

If you disagree, please debate this issue with the upstream libpng project.

Changed in libpng (Ubuntu):
status: Confirmed → Opinion

libpng causes error concerning pngconf.h的更多相关文章

  1. redis make时 提示 zmalloc.h:50:31: error: jemalloc/jemalloc.h:

    redis安装需要环境必备 gcc 但是若未先安装好gcc,make失败后再次 make 会提示如下错误 zmalloc.h:50:31: error: jemalloc/jemalloc.h: 这时 ...

  2. fatal error: openssl/sha.h: No such file or directory 解决方案

    出现这个或者fatal error: openssl/名单.h: No such file or directory.都是没有安装libssl-dev- libssl-dev包含libraries, ...

  3. 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录

    最近帮一位上海的朋友搞一块小板,在ubuntu15.04 vivid上已经加载了对应了.ko驱动包 但关键是系统根本就枚举不到该声卡ALC5640,试了OpenSUSE也是一样的结果,看来是内核漏加载 ...

  4. 误mlogc.c:32:23: error: curl/curl.h: No such file or directory

    出现以下错误: mlogc.c:32:23: error: curl/curl.h: No such file or directory mlogc.c:1091: error: expected ' ...

  5. lua.c:80:31: fatal error: readline/readline.h: No such file or directory

    make linuxcd src && make linuxmake[1]: Entering directory `/root/lua/lua-5.3.2/src'make all ...

  6. 编译内核时出现drivers/mfd/mxc-hdmi-core.c:36:24: fatal error: mach/clock.h: No such file or directory

    在学习恩智浦IMX6D开发板时,编译内核出现 drivers/mfd/mxc-hdmi-core.c::: fatal error: mach/clock.h: No such file or dir ...

  7. 编译Linux-4.15.1内核时遇到:“error : openssl/bio.h :No such file or folder”

    如题: scripts/extract-cert.c::: fatal error: openssl/bio.h: No such file or directory compilation term ...

  8. ubuntu16.04 编译出错:fatal error: SDL/SDL.h: No such file or directory

    在ubuntu 16.04编译神经网络代码时候,遇到了这样一种错误? fatal error: SDL/SDL.h: No such file or directory 原因是SDL库没有安装,根据你 ...

  9. Mac os fatal error: 'numpy/arrayobject.h' file not found

    $ python setup.py install 出错信息如: clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g ...

随机推荐

  1. Android进程的内存管理分析

    尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/8920039 最近在网上看了不少Android内存管理方面的博文,但是文章大多 ...

  2. ceph基本操作整理

    一.ceph基本操作: 启动osd.mon进程: start ceph-osd id=X start ceph-mon id=YYY 关闭osd.mon进程: stop  ceph-osd id=X ...

  3. Android核心基础

    第三代移动通讯技术(3rd Generation) ,支持高速数据传输的蜂窝移动通讯技术.3G与2G的主要区别是传输数据的速度. 1987年,第一台模拟制式手机(1G)问世,只能进行语音通话,型号:摩 ...

  4. sql update 触发器 可获得被update的行的信息

    类型:转载   sql update 触发器 可获得被update的行的信息,需要的朋友可以参考下. 复制代码 代码如下: create trigger TgName on tb for update ...

  5. java 錯誤集錦.

    (1)加载驱动成功com.microsoft.sqlserver.jdbc.SQLServerException: 不支持此服务器版本.目标服务器必须是 SQL Server 2000 或更高版本.链 ...

  6. Ubuntu Git安装

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.通过使用git工具,我们可以实现团队间合作开发统一管理,可以从远程仓库中提取代码,也可以把代码上传到远程仓库,从而实现 ...

  7. ie6,ie7下设置overflow:auto下滚动条不起作用

    今天遇到一个比较特殊的情况:ie6,ie7下设置overflow:auto下滚动条出来了但是滚动条不起任何作用,但在火狐,ie8,ie9,谷歌等浏览器下正常显示,解决方案:只需要加一个position ...

  8. 阿里云ECS每天一件事D2:配置防火墙

    在linux中配置防火墙是一件比较有风险的事情,尤其是在ECS中,一个不当心的操作,可能就会需要重置服务器. 包括阿里云的官方建议,不要配置防火墙,没有必要什么的吧啦吧啦…… (http://bbs. ...

  9. 韦根(Wiegand)数据传输格式

    韦根数据传输使用TTL电平,有两条数据线,分别称为DATA0和DATA1.无数据传输时,两条线都是高电平,当传输“1”时,DATA0为高,DATA1为低:当传输“0”时,DATA0为低,DATA1为高 ...

  10. ThinkPHP 3.1.2 查询方式的一般使用1

    public function show(){ echo "访问了index模块下的show方法!!"; echo "欢迎你".$_GET['name'].'你 ...