国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

gentoo系統(tǒng)升級后libpng編譯不正常解決辦法

2024-08-27 23:59:58
字體:
供稿:網(wǎng)友

libpng 是一套免費的、公開源代碼的程序庫,支持對 PNG 圖形文件的創(chuàng)建、讀寫等操作,本文來記錄gentoo升級后libpng不能正常使用的解決辦法.

升級完系統(tǒng)之后,就提示libpng升級了,需要重新emerge @preserved-rebuild,悲劇的是,很多包完全編譯不過了,這幾記錄下部分包的解決方案.

1、gnome-extra/libgda編譯失敗

在鏈接的時候,會提示-lpng14找不到,很明顯是因為libpng升級到1.5導(dǎo)致的,但是,搜索了libgda里面的所有Makefile文件,都沒有發(fā)現(xiàn)有地方寫名鏈接libpng14這個動態(tài)鏈接庫的地方,最后找到的原因是因為/usr/lib64/目錄中有很多xxx.la文件,是libtool用來管理依賴用的,其中有些動態(tài)鏈接庫里面的依賴寫名了-lpng14.

找到了原因,解決起來就方便了,首先通過grep命令找到所有寫死-lpng14的地方,重新emerge這些庫,不過這里發(fā)現(xiàn)有些庫重新emerge了,依賴還是沒有糾正,最后通過手工改這些文件,改成-lpng15.

重新emerge就OK了.

2、opencv編譯失敗

opencv編譯失敗,提示的是error:‘MAX_MEM_LEVEL’ was not declared in this scope等錯誤,google了下,是因為libpng1.5.x將原先暴露出來的png文件結(jié)構(gòu)都隱藏了,頭文件里面只有一個預(yù)先聲明和一堆typedef,這些應(yīng)該是原來在定義這些png圖片結(jié)構(gòu)的時候,依賴的zlib,現(xiàn)在沒法間接依賴了.

解決方法當然就是寫個補丁,強制modules/highgui/src/grfmt_png.cpp這個文件include zlib.h這個頭文件,補丁內(nèi)容如下:

  1. — modules/highgui/src/grfmt_png.cpp.old       2011-09-19 19:36:49.759516862 +0800 
  2. +++ modules/highgui/src/grfmt_png.cpp   2011-09-19 19:28:04.302185712 +0800  //Vevb.com 
  3. @@ -55,6 +55,7 @@ 
  4.  #include <libpng/png.h> 
  5.  #else 
  6.  #include <png.h> 
  7. +#include <zlib.h> 
  8.  #endif 
  9.  #include “grfmt_png.hpp” 

自己寫個local portage,編譯好了opencv.

另外還有wxPython,這個目前真沒辦法了,也是因為libpng1.5.x隱藏了png圖片結(jié)構(gòu)體,導(dǎo)致原來直接通過結(jié)構(gòu)體指針訪問結(jié)構(gòu)體內(nèi)容全部出錯,貌似沒看見補丁,再說了.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 石渠县| 西乌珠穆沁旗| 吴川市| 聊城市| 山西省| 图木舒克市| 湘阴县| 合作市| 资兴市| 治多县| 乐清市| 河南省| 凌云县| 泸定县| 沁源县| 丰台区| 宾川县| 湘阴县| 苗栗市| 万山特区| 千阳县| 伊宁市| 平武县| 昌图县| 横山县| 黑河市| 黔江区| 宜君县| 永寿县| 镇坪县| 巨鹿县| 卓资县| 民和| 平果县| 许昌县| 晋江市| 金溪县| 黄平县| 民丰县| 红河县| 亚东县|