abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 17:11 | Komunita

Byl proveden bezpečnostní audit svobodného IMAP a POP3 serveru Dovecot (Wikipedie). Audit byl zaplacen z programu Mozilla Secure Open Source a provedla jej společnost Cure53. Společnost Cure53 byla velice spokojena s kvalitou zdrojových kódu. V závěrečné zprávě (pdf) jsou zmíněny pouze 3 drobné a v upstreamu již opravené bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
dnes 15:30 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi Compute Module 3 (CM3 a CM3L), tj. zmenšené Raspberry Pi vhodné nejenom pro průmyslové využití. Jedná se o nástupce Raspberry Pi Compute Module (CM1) představeného v dubnu 2014. Nový CM3 vychází z Raspberry Pi 3 a má tedy dvakrát více paměti a desetkrát větší výkon než CM1. Verze CM3L (Lite) je dodávána bez 4 GB eMMC flash paměti. Uživatel si může připojit svou vlastní. Představena byla

… více »
Ladislav Hagara | Komentářů: 0
dnes 01:23 | Nová verze

Oficiálně bylo oznámeno vydání verze 3.0 multiplatformního balíku svobodných kancelářských a grafických aplikací Calligra (Wikipedie). Větev 3 je postavena na KDE Frameworks 5 a Qt 5. Krita se osamostatnila. Z balíku byly dále odstraněny aplikace Author, Brainstorm, Flow a Stage. U Flow a Stage se předpokládá jejich návrat v některé z budoucích verzí Calligry.

Ladislav Hagara | Komentářů: 3
včera 15:25 | Nová verze

Bylo oznámeno vydání první RC (release candidate) verze instalátoru pro Debian 9 s kódovým názvem Stretch. Odloženo bylo sloučení /usr jako výchozí nastavení v debootstrap. Vydán byl také Debian 8.7, tj. sedmá opravná verze Debianu 8 s kódovým názvem Jessie.

Ladislav Hagara | Komentářů: 6
včera 13:37 | Zajímavý projekt

1. ledna byl představen projekt Liri (GitHub). Jedná se o spojení projektů Hawaii, Papyros a původního projektu Liri s cílem vyvíjet operační systém (linuxovou distribuci) a aplikace s moderním designem a funkcemi. Včera byl představen Fluid 0.9.0 a také Vibe 0.9.0. Jedná se o toolkit a knihovnu pro vývoj multiplatformních a responzivních aplikací podporující Material Design (Wikipedie) a volitelně také Microsoft Design Language (designový jazyk Microsoft) [reddit].

Ladislav Hagara | Komentářů: 5
14.1. 00:33 | Zajímavý software

Google na svém blogu věnovaném open source představil knihovnu pro komprimaci a dekomprimaci 3D grafiky s názvem Draco. Knihovna bude využívána například v aplikacích pro virtuální a rozšířenou realitu. Porovnání Draco s gzip na YouTube. Zdrojové kódy Draco jsou k dispozici na GitHubu pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 5
13.1. 17:27 | IT novinky

V loňském roce proběhla úspěšná kampaň na Indiegogo na podporu GPD Win. Jedná se o malý 5,5 palcový notebook a přenosnou herní konzoli v jednom. Předinstalované Windows 10 lze nahradit Linuxem. V únoru by se na Indiegogo měla objevit kampaň na podporu 7 palcového notebooku GPD Pocket.

Ladislav Hagara | Komentářů: 30
13.1. 02:00 | Nová verze

Po pěti měsících od vydání verze 1.0.0 (zprávička) byla vydána verze 2.0.0 frameworku Kirigami (HIG) pro vytváření uživatelských rozhraní mobilních a konvergentních aplikací nad toolkitem Qt. Pro vyzkoušení je určena aplikace pro Android Kirigami gallery.

Ladislav Hagara | Komentářů: 0
12.1. 23:28 | Zajímavý software

Akční hra Lugaru HD od Wolfire Games (recenze) byla uvolněna jako svobodný software, a to včetně dat (pod licencí Creative Commons Attribution – Share Alike). Linuxový port byl v roce 2010 součástí první akce Humble Indie Bundle a engine byl krátce poté uvolněn pod licencí GNU GPL, což vedlo mj. k portu na AmigaOS. Autor mezitím pracuje na pokračování nazvaném Overgrowth.

Fluttershy, yay! | Komentářů: 0
12.1. 14:49 | Bezpečnostní upozornění

Na serveru Jabb.im bylo zveřejněno vyjádření k úniku dat z Jabbim Archive (pastebin). Dump databáze obsahuje komunikaci uživatelů, jejich IP adresy a logy aplikace od října 2015 do března 2016. Celkově se jedná o 8 GB dat, převažujícím jazykem zpráv je čeština a slovenština. O úniku informoval jako první server Motherboard. Jabbim Archive byla službou volitelnou, dostupnou pouze pro VIP uživatele. Podle provozovatele serveru Jabb.im k

… více »
Michal Makovec | Komentářů: 68
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 294 hlasů
 Komentářů: 19, poslední 13.1. 22:02
    Rozcestník
    Reklama

    Dotaz: Java jni: java.lang.UnsatisfiedLinkError: undefined symbol: JAWT_GetAW

    14.2.2009 16:55 kaplan
    Java jni: java.lang.UnsatisfiedLinkError: undefined symbol: JAWT_GetAW
    Přečteno: 598×

    Dobrý den,

    pokouším se přehrát video v mé java aplikaci pomocí mplayeru. Proto, abych byl schopen získat wid komponenty pro mplayer používám jni. Tento postup jsem vygooglil.

     

    Vytvořil jsem si ExtendedCavas.java:

    <code>

    package jmediacenter.extendedCanvas;

    public class ExtendedCanvas extends java.awt.Canvas
    {
        private static final long serialVersionUID = 1L;
        public native int getNativeWindow();

        static
        {
            try
            {
                System.loadLibrary("ExtendedCanvas");
            }
            catch (Throwable e)
            {
                e.printStackTrace();
                System.exit(1);
            }
        }
    }

    </code>

     

    Zkompiloval a pomocí javah vytvořil hlavičkový soubor: javah -jni jmediacenter.extendedCanvas.ExtendedCanvas.

     

    Toto je vygooglený kód pro nativní metodu: jmediacenter_extendedCanvas_ExtendedCanvas.c:

    <code>

    #include <jni.h>
    #include <jawt.h>
    #include <jawt_md.h>
    #include <assert.h>
    #ifdef WIN32
    #include <windows.h>
    #endif

    #include "jmediacenter_extendedCanvas_ExtendedCanvas.h"

    JNIEXPORT jint JNICALL Java_jmediacenter_extendedCanvas_ExtendedCanvas_getNativeWindow
      (JNIEnv *env, jobject obj_this)
    {
    jboolean result;
            jint lock;

            JAWT awt;
            JAWT_DrawingSurface* ds;
            JAWT_DrawingSurfaceInfo* dsi;
    #ifdef WIN32
          JAWT_Win32DrawingSurfaceInfo* dsi_win;
          HWND hWnd;
    #else
            JAWT_X11DrawingSurfaceInfo* dsi_x11;
    #endif

            /* Get the AWT */
            awt.version = JAWT_VERSION_1_3;
            result = JAWT_GetAWT(env, &awt);
            if(result == JNI_FALSE) return -1;

            /* Get the drawing surface */
            if ((ds = awt.GetDrawingSurface(env, obj_this)) == NULL)
                    return 0L;

            /* Lock the drawing surface */
            lock = ds->Lock(ds);
            if((lock & JAWT_LOCK_ERROR)  ) {
                    return -1;
            }

            /* Get the drawing surface info */
            dsi = ds->GetDrawingSurfaceInfo(ds);

            /* Get the platform-specific drawing info */
    #ifdef WIN32
          dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;
          //hdc= dsi_win->hdc;
          hWnd = dsi_win->hwnd;
          return ((jlong)hWnd);
    #else
            dsi_x11 = (JAWT_X11DrawingSurfaceInfo*)dsi->platformInfo;
            int id = dsi_x11->drawable;

            ds->Unlock(ds);
            return id;
    #endif
    }
    </code>

     

    Z tohoto jsem si vytvořil knihovnu:

    gcc -shared -I/usr/java/jdk1.6.0_06/include -I/usr/java/jdk1.6.0_06/include/linux -o libExtendedCanvas.so jmediacenter_extendedCanvas_ExtendedCanvas.c

     

    Cestu ke knihovně mám vloženou do -Djava.library.path. Cesty k ostatním knihovnám z .../jre/lib/i386 jsem přidal do dl.so.conf a použil dlconfig.

     

    Když potom spustím mojí aplikaci dostanu následující error:

    java.lang.UnsatisfiedLinkError: .../libExtendedCanvas.so: .../libExtendedCanvas.so: undefined symbol: JAWT_GetAWT
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1030)
        at jmediacenter.extendedCanvas.ExtendedCanvas.<clinit>(ExtendedCanvas.java:29)
     

    ldd libExtendedCanvas.so hlásí toto:

            linux-gate.so.1 =>  (0xffffe000)
            libc.so.6 => /lib/i686/libc.so.6 (0xb7dab000)
            /lib/ld-linux.so.2 (0x80000000)
     

    Toto mě ale zaráží, protože předpokládám, že tato knihovna bude potřebovat min. libjawt.so ale jak je vidět nepotřebuje. Zde bude asi probém. Nevím si s tím rady.

     

    Díky za každou radu.

    Odpovědi

    Luboš Doležel (Doli) avatar 16.2.2009 01:49 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Java jni: java.lang.UnsatisfiedLinkError: undefined symbol: JAWT_GetAW
    Toto mě ale zaráží, protože předpokládám, že tato knihovna bude potřebovat min. libjawt.so ale jak je vidět nepotřebuje.
    Ale potřebuje, jen jste linkeru neřekl, že se má knihovna s libjawt.so linkovat (-ljawt ?).
    17.2.2009 20:42 kaplan
    Rozbalit Rozbalit vše Re: Java jni: java.lang.UnsatisfiedLinkError: undefined symbol: JAWT_G

    Problém vyřešen.

    Stačilo při kompilaci knihovny přilinkovat knihovnu libjawt.so:

    gcc -shared -I/usr/java/jdk1.6.0_06/include -I/usr/java/jdk1.6.0_06/include/linux -o libExtendedCanvas.so jmediacenter_extendedCanvas_ExtendedCanvas.c -L/usr/java/jdk1.6.0_06/jre/lib/i386 -ljawt

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.