libpng causes error concerning pngconf.h
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).
| description: | updated |
| summary: | - libpng causes error concerning pngconf.h + Installing problem under ubuntu 9.10 |
| description: | updated |
| Christoph Egger (christoph-egger) wrote on 2010-03-22: Re: Installing problem under ubuntu 9.10 | #8 |
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
| 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的更多相关文章
- redis make时 提示 zmalloc.h:50:31: error: jemalloc/jemalloc.h:
redis安装需要环境必备 gcc 但是若未先安装好gcc,make失败后再次 make 会提示如下错误 zmalloc.h:50:31: error: jemalloc/jemalloc.h: 这时 ...
- fatal error: openssl/sha.h: No such file or directory 解决方案
出现这个或者fatal error: openssl/名单.h: No such file or directory.都是没有安装libssl-dev- libssl-dev包含libraries, ...
- 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录
最近帮一位上海的朋友搞一块小板,在ubuntu15.04 vivid上已经加载了对应了.ko驱动包 但关键是系统根本就枚举不到该声卡ALC5640,试了OpenSUSE也是一样的结果,看来是内核漏加载 ...
- 误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 ' ...
- 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 ...
- 编译内核时出现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 ...
- 编译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 ...
- 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库没有安装,根据你 ...
- 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 ...
随机推荐
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中, ...
- java中如何获取系统时间
需要引入的包有: import java.util.Date; 此为获取当前系统时间,合适为“1991-01-01” String now = ""; SimpleDateF ...
- 【转】CoreData以及MagicalRecord (二)
3. 运行时类与对象 NSManagedObject Managed Object 表示数据文件中的一条记录,每一个Managed Object在内存中对应的实体(Entity)的一个数据表示.Man ...
- 浅谈Struts2(一)
一.Struts2引言 1.Struts2框架的概念 解决的MVC开发过程中,控制器(Controller)的通用问题. a.什么是MVC开发 MVC开发是一种编程思想,由设计者人为的把一个项目,划分 ...
- 记录:sea.js和require.js配置 与 性能对比
最近有点忙,很久无写博客,记录一下之前的配置require.js和sea.js的配置.(有误有望提出 require.js 文件目录 /app(项目使用js) /lib(require.js jq存放 ...
- 理解Ajax
1.优化原则 优化的目的是希望降低程序的整体开销.虽然在程序中有许多因素可以优化,但是通常人们会认为这个开销就是程序的执行时间.其实我们更应该把重点放在对程序整体开销最大的那部分. 2.一切都是权 ...
- php多图合并
function mergerImg($imgs) { list($max_width, $max_height) = getimagesize($imgs['dst']); $dests = ima ...
- 用wfastcgi在IIS下部署Django&Flask
Django跟Flask在Linux底下都可以很方便地以FastCGI模式部署,貌似IIS下面不很好配置,而且IIS也缺少一个像PHPmanager一样的全自动配置工具,在公司服务器上部署起来颇费周折 ...
- LED板上芯片(COB)封装流程
LED 板上芯片(Chip On Board,COB)封装流程是,首先在基底表面用导热环氧树脂(一般用掺银颗粒的环氧树脂)覆盖硅片安放点, 然后将硅片 间接安放正在基底表面,热处理至硅片牢固地固定正在 ...
- Spinner样式大全
Spinner样式大全