( mrev | 2014. 03. 16., v – 08:59 )

A konkrét hiba, hogy a gui.exe program linkelésekor a linker nem találja a gtk alapfüggvényeit (mint gtk_init, gtk_main stb.), azaz nincs belinkelve a gtk könyvtár. A gtk könyvtárat viszont nem itt kell belinkelni, hanem a libccc3_gtk interfész könyvtárnál. Tehát azt gondolom, hogy már egy előző lépés is rossz lehetett, nevezetesen nem készült el a libccc3_gtk.so.

A CCC-hez gtk2 kell (nem gtk3). Amikor az interfész készült, még nem volt gtk3, csak 2. A gtk-ról tudni kell, hogy elég gyakran változtatják az API-ját. Nekem nincs időm a változó API követésére, ezért a gtk interfész karbantartása arra korlátozódik, hogy kihagyom azokat a részeket, amik egy újabb változatban nem fordulnak. Ez csak akkor fog megváltozni, ha valaki más kézbe veszi az ügyet.

A gtk iszonyú sok alkatrészt használ (rengeteg könyvtár, rengeteg include fájl, lásd lejjebb), és ezek a különféle linuxokon és azok különböző változatain mindig máshol vannak elhelyezve (bár az mostani ubuntukon ez leülepedett). Ezért a gtk interfész lefordítása nem egyszerű: Meg kell keresni, hogy melyik alkatrész hol van, és annak megfelelő build paraméterfájlt kell írni. Ez látszik a ccc3/gtk/code_byhand/gtk-*.bld fájlokban. Ezek között lehet keresgélni megfelelőt, vagy újat kell készíteni a konkrét szituációnak megfelelően.

Ha a saját ubuntu precise gépemen begépelem


	ldd libccc3_gtk.so

ezt kapom


	linux-vdso.so.1 =>  (0x00007fff39cce000)
	libgtk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007ff1abd9e000)
	libgdk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 (0x00007ff1abaeb000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007ff1ab8cb000)
	libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007ff1ab67c000)
	libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007ff1ab432000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007ff1ab13d000)
	libccc3.so => /opt/ccc3/usr/lib/lin/libccc3.so (0x00007ff1aaeae000)
	libccc3_ui_.so => /opt/ccc3/usr/lib/lin/libccc3_ui_.so (0x00007ff1aac9c000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff1aa99c000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff1aa786000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff1aa3c5000)
	libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007ff1aa1b9000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007ff1a9e84000)
	libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007ff1a9c7d000)
	libatk-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007ff1a9a5b000)
	libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007ff1a979d000)
	libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007ff1a944d000)
	libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007ff1a9223000)
	libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007ff1a8fed000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff1a8cf0000)
	libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007ff1a8adf000)
	libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007ff1a88d5000)
	libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007ff1a86d1000)
	libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007ff1a84c1000)
	libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007ff1a82b9000)
	libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007ff1a80ae000)
	libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007ff1a7eab000)
	libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007ff1a7ca8000)
	libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007ff1a7aa3000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff1a7886000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007ff1a767d000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007ff1a7440000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff1a7238000)
	/lib64/ld-linux-x86-64.so.2 (0x00007ff1ac7d0000)
	libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007ff1a6f9b000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007ff1a6d7d000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff1a6b78000)
	libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007ff1a68e1000)
	libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007ff1a66b9000)
	libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007ff1a64b5000)
	libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007ff1a62ab000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff1a6094000)
	libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007ff1a5e74000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff1a5c58000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007ff1a5a2e000)
	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007ff1a582a000)
	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007ff1a5624000)

Először ezt (valami hasonlót) kellene reprodukálnod.
--
ulysses.co.hu