Linking mutilple  shared objects in JNI

Is there a way to link in mulitple shared objects in JNI. My problem stems from the fact that my C code needs to be linked with a library also. Whenever I run my java code I get an error saying that the C code needs another libary. Can this be done? I have tried using the
-lm option to no avail.

Yes it can be done.
How, depends on a variety of things which are better answered in a newgroup/list that is specific to your OS and compiler/linker.

Similar Messages

  • How to dynamicaly link multiple shared objects (.so files) using JNI

    Hi all,
    I recently started working on JNI where i suppose to call C application's .so files using JAVA. Existing C application is huge, it contains many .so files which are having dependencies with other .so files. My problem is when i call a function of one .so file it does not link with other .so files at run time and gives me error(undefined function as that function is implemented in other .so file).
    Can someone suggest me any solution for the same? I am a Java developer and don't have much knowledge about the C language.
    Any suggestion will be highly appreciated.

    jeet420 wrote:
    Hi all,
    I recently started working on JNI where i suppose to call C application's .so files using JAVA. Existing C application is huge, it contains many .so files which are having dependencies with other .so files. My problem is when i call a function of one .so file it does not link with other .so files at run time and gives me error(undefined function as that function is implemented in other .so file). That is not a Java/JNI problem.
    A shared library either uses an explicit link or dynamic link to other libraries.
    If the first then the OS will fail the load of the library if it can't find the dependency.
    If the second then the implementation (the developer) is responsible for correctly dealing with the problem.
    Again none of the above has anything to do with Java nor JNI.
    Nothing in Java nor JNI will help you to figure out the problem nor manage it.
    Two solutions.
    1. Be very careful in manually managing the laydown via an installer of all of the required libraries.
    2. Write code to verify that all libraries are found by the OS. This however still require manual steps as you must explicitly name the shared libraries in some way.
    ... and don't have much knowledge about the C language.Not a good situation. JNI assumes that you have quite a bit of knowledge about C and/or C++.

  • Modifying Dependent Shared Objects in Executables

    I am attempting to perform the following operations on ELF32 format files:
    1) modify the names of the NEEDED shared objects that are referenced by an executable after the executable has been built.
    2) modify the embedded SONAME of a shared object file (adding one if it does not exist) after the shared object file has been built.
    3) modifying the NEEDED shared objects that are referenced in a shared object file after it has been built.
    The shared objects and executables are built from third party software that we have the source code for, but we do NOT want to modify the Makefile for each third party package each time we build a new version.
    Of the three items, the one that is proving the most challenging is the modification of the executable files after they have been built.
    Is there either a tool that enables me to modify these fields in the shared objects as well as the executables? Is there a way that I can re-link a shared object or executable file and then specify that modifications be made to the existing SONAME and NEEDED information?
    (I have attempted unsuccessfully to use the elf library on executable files. Even relatively simple operations, such as modifying the length of the dynamic string section in which the NEEDED shared object is stored breaks the executable file.)

    Hello Tomi,
    First, thank you for taking the time to write such a well
    though-out suggestion.  Are you familiar
    with the “LabVIEW Object-Oriented Programming: The Decisions Behind the Design”
    document?  I think the reason we chose to implement a ‘by
    value’ strategy, is that is more in line with the LabVIEW programming paradigm
    of dataflow, and would make sense to most of our LabVIEW users.
    I think your suggestion is interesting, and it does
    highlight the need to think outside of the conventional LabVIEW box and look to
    some of the innovative things other languages do.  However, I think we all agree that
    synchronization takes careful planning and extra work for the programmer.  Even with an ‘ideal’ solution I see no way
    around this.  For LabVIEW users today,
    one great way to get synchronized ‘by reference’ semantics with your objects is
    to use a single-element queue to pass your object.  The queue itself is passed ‘by reference’ and
    is inherently synchronized!  The does
    have the disadvantage of adding one more small layer of complexity to your
    program, but some complexity would have to be introduced in any situation.  The other disadvantage with this is that it
    is not always an intuitive way to implement your program and requires some
    amount of LabVIEW knowledge before one would generally come across this
    technique.
    In any case, I appreciate the time and effort you put in to
    your suggestion.  Please make sure that
    you submit the suggestion formally through the NI Product Suggestion Center so
    that it can be reviewed by some of the decision makers here.
    Thanks again,
    Travis M
    LabVIEW R&D
    National Instruments

  • JNI accessing shared object library (3GPP AMR codec) in linux

    Hi,
    We built a shared object (.so) library including the 3GPP AMR codec implementation. (NB: AMR codec is a speech encoder/decoder).
    When trying to access this library from a JNI app this gives incorrect results but when trying to use the same library with a simple C program it gives the expected results !
    We believe that the JNI environment makes some unexplained modification to the runtime environment that makes this library to not work correctly. Do you know what could explain this strange behaviour ?
    Used JSDK: 1.4.2_10
    platform: Fedora Core 4 2.6.11-1.1369_FC4
    Regards,
    Pascal

    Hi,
    Thank your for your answer!
    Well I don't know if I can enter in details here but here is what's happening:
    0) we built a shared object library (.so) including the 3GPP AMR codec and some functions calling the codec operations (decode, encode, etc.)
    1) in the C++ JNI wrapper we call the function Speech_Decode_Frame() of the 3GPP AMR codec with in input an array of Word16 (= type "short"),
    2) when we link the library created in 0) with a small .cpp program, the function Speech_Decode_Frame() returns the speech decoded correctly in a an array of Word16 as well,
    3) when we used the same library with a JNI application, the call to Speech_Decode_Frame() returns only a table of zeros --> incorrect result
    We're currently tracking down in the source code of the 3GPP AMR where the result array gets these 0.
    We'd like to understand what in the JNI runtime environment could make the library to behave differently.
    Regards,
    Pascal

  • Linker Error while creating shared object.

    While creating shared object we got "file processing error".
    Below is our compilation line and the error out put.
    ==================
    /net/icom3/opt//SUNWspro/SC5.0/bin/CC -o fn_ctx_onc_fn_files.so.1 -G -h fn_ctx_onc_fn_files.so.1 -z text -z defs -z combreloc -norunpath -nolib -Qo
    ption ld -R/usr/lib/fn pics/FNSP_filesOrgContext_default.o pics/FNSP_filesFlatContext_default.o pics/fnsp_internal_common.o pics/FNSP_nisAddress.o
    pics/FNSP_nisOrgContext_default.o pics/FNSP_nisFlatContext_default.o pics/FNSP_hash_function.o pics/FNSP_filesHierContext.o pics/FNSP_filesDotC
    ontext.o pics/FNSP_filesFlatContext.o pics/FNSP_filesHUContext.o pics/FNSP_filesWeakSlashContext.o pics/FNSP_filesPrinternameContext.o pics/FNSP_
    filesPrinterObject.o pics/FNSP_filesOrgContext.o pics/FNSP_filesImpl.o pics/fnsp_files_internal.o pics/onc_fn_files.o -lnsl -lc -L/user/vts/X
    FN_CHECK/jnk/usr/lib/fn -lxfn -lfn_spf -lfnsp -lfn_p
    ld: fatal: File processing errors. No output written to fn_ctx_onc_fn_files.so.1
    ==================================
    Thanks in advance.
    -Lokesh MS

    Hi,
    The maximum length supported by one CHAR type infoobject is 60. Check whether you have assigned more.
    If you have to load more length ( more than 60) split the total thing into different infoobjects. Create different infoobjects and split the total thing into them - like 1st 60 char in 1st infoobject, char 61-120 in 2nd infoobject and so on. Then you can again concatenate them.
    Thanks,
    Indrashis

  • How to create shared object in Open Vms environment.

              Hi All,
              Iam using Weblogic Server 5.1 on OpenVms 7.2-1. As a part of development, I need
              to use JNI(Java Native Interface )to call existing "C" function.
              Iam stuck at creating shared object on OpenVms. I would like to know what is the
              procedure for creating these shared objects for a given "C" programme.
              For your easy reference :This is how we create dynamic link libraries for "C"
              code by using Microsoft C++ comipler.
              cl -Ic:\jdk\include -Ic:\jdk\include\win32 -LD SampleProgramme.c -FeSampleProgramme.dll
              Can somebody help me on this?
              Thanks in Advance,
              Prashanth Bhat.
              

    You might also want to read the following series of articles:
    http://www.oracle.com/technetwork/articles/servers-storage-dev/linkinglibraries-396782.html
    Regards,
    Darryl.

  • How to link a native library that jni method needs in Linux?

    I'm trying to convert a simple driver using JNI to java in Linux. The driver uses native methods (written in C) that are implemented in a static library eth.a, so I don't have a source code for these methods. Everything works fine when pure C-code program is used, however when I'm trying to use java-program where native methods (which naturally need these driver-functions in eth.a) I got a following error:
    LibPath= /usr/kahvi/ioapi/
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/kahvi/ioapi/libEthDriver.so: /usr/kahvi/ioapi/libEthDriver.so: undefined symbol: DDI_DevOpenNode
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1354)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1278)
    at java.lang.Runtime.loadLibrary0(Runtime.java:466)
    at java.lang.System.loadLibrary(System.java:771)
    at EthernetDriver.<clinit>(EthernetDriver.java:89)
    DDI_DevOpenNode is the first method that program uses from eth.a -library.
    I have tried several different linking option such as:
    gcc -o libEthDriver.so -DLINUX -DETH_UNIX -shared -Wl,-soname,libEthDriver.so -I/usr/jdk1.2.2/include -I/usr/jdk1.2.2/include/linux/ -I/usr/kahvi/ioapi/inc/ EthernetDriver.c -static -lc
    eth.a is located in /inc directory and LD_LOAD_LIBRARY is used properly.
    If I include eth.a directly to compilation options (which I'm not sure how to do), the error message is following:
    LibPath= /usr/kahvi/ioapi/
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/kahvi/ioapi/libEthDriver.so: eth.a: cannot open shared object file: No such file or directory
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1354)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1278)
    at java.lang.Runtime.loadLibrary0(Runtime.java:466)
    at java.lang.System.loadLibrary(System.java:771)
    at EthernetDriver.<clinit>(EthernetDriver.java:89)
    So the basic problem is quite simple, how to implement a JNI-method that uses a functions implemented in another library?
    Any help is very much appreciated, because I have tried to solve this a few days and I don't have clues how to move on.
    -ML

    What people are trying to point out is that you can't use that static library to resolve native methods. Native methods resolve to shared libraries. So you need to write a shared library that links with the static library and wraps the functions you want to export from the shared library. Check your compiler/linker documentation on how to build a shared library. (IIRC, something like -shared for gcc).
    God bless,
    -Toby Reyelts
    Check out the free, open-source JNI toolkit, Jace - http://jace.reyelts.com/jace

  • Exception handling is not working in GCC compile shared object

    Hello,
    I am facing very strange issue on Solaris x86_64 platform with C++ code compiled usging gcc.3.4.3.
    I have compiled shared object that load into web server process space while initialization. Whenever any exception generate in code base, it is not being caught by exception handler. Even though exception handlers are there. Same code is working fine since long time but on Solaris x86, Sparc arch, Linux platform
    With Dbx, I am getting following stack trace.
    Stack trace is
    dbx: internal error: reference through NULL pointer at line 973 in file symbol.cc
    [1] 0x11335(0x1, 0x1, 0x474e5543432b2b00, 0x59cb60, 0xfffffd7fffdff2b0, 0x11335), at 0x11335
    ---- hidden frames, use 'where -h' to see them all ----
    =>[4] __cxa_throw(obj = (nil), tinfo = (nil), dest = (nil), , line 75 in "eh_throw.cc"
    [5] OBWebGate_Authent(r = 0xfffffd7fff3fb300), line 86 in "apache.cpp"
    [6] ap_run_post_config(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x444624
    [7] main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x42c39a
    I am using following link options.
    Compile option is
    /usr/sfw/bin/g++ -c -I/scratch/ashishas/view_storage/build/coreid1014/palantir/apache22/solaris-x86_64/include -m64 -fPIC -D_REENTRANT -Wall -g -o apache.o apache.cpp
    Link option is
    /usr/sfw/bin/g++ -shared -m64 -o apache.so apache.o -lsocket -lnsl -ldl -lpthread -lthread
    At line 86, we are just throwing simple exception which have catch handlers in place. Also we do have catch(...) handler as well.
    Surpursing things are..same issue didn't observe if we make it as executable.
    Issue only comes if this is shared object loaded on webserver. If this is plain shared object, opened by anyother exe, it works fine.
    Can someone help me out. This is completly blocking issue for us. Using Solaris Sun Studio compiler is no option as of now.

    shared object that load into web server process space
    ... same issue didn't observe if we make it as executable.When you "inject" your shared object into some other process a well-being of your exception handling depends on that other process.
    Mechanics of x64 stack traversing (unwind) performed when you throw the exception is quite complicated,
    particularly involving a "nearly-standartized" Unwind interface (say, Unwind_RaiseException).
    When we are talking about g++ on Solaris there are two implementations of unwind interface, one in libc and one in libgcc_s.so.
    When you g++-compile the executable you get it directly linked with libgcc_s.so and Unwind stuff resolves into libgccs.
    When g++-compiled shared object is loaded into non-g++-compiled executable's process _Unwind calls are most likely already resolved into Solaris libc.
    Thats why you might see the difference.
    Now, what exactly causes this difference can vary, I can only speculate.
    All that would not be a problem if _Unwind interface was completely standartized and properly implemented.
    However there are two issues currently:
    * gcc (libstdc++ in particular) happens to use additional non-standard _Unwind calls which are not present in Solaris libc
    naturally, implementation details of Unwind implementation in libc differs to that of libgccs, so when all the standard _Unwind
    routines are resolved into Solaris version and one non-standard _Unwind routine is resolved into gcc version you get a problem
    (most likely that is what happens with you)
    * libc Unwind sometimes is unable to decipher the code generated by gcc.
    However that is likely to happen with modern gcc (say, 4.4+) and not that likely with 3.4.3
    Btw, you can check your call frame to see where _Unwind calls come from:
    where -h -lIf you indeed stomped on "mixed _Unwind" problem then the only chance for you is to play with linker
    so it binds Unwind stuff from your library directly into libgccs.
    Not tried it myself though.
    regards,
    __Fedor.

  • Can no longer clear Local Shared Objects (Persistent Identification Element)

    The equivalent of a cookie in Flash is the "Persistent
    Identification Element" which is also called a "local shared
    object." The Adobe TechNote titled "How to manage and disable Local
    Shared Objects" at url
    http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=52697ee8
    provides a link to control deleting Local Shared Objects. That link
    contained in the TechNote is "Website Storage Settings panel":
    http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager07.htm l
    Until today, that was a good link that enabled me to clear
    the local shared objects. Today, however, the link leads to a
    totally different page of miscellaneous Adobe matters.
    Does anybody know the correct link to clear my Flash player
    of the local shared objects?
    Thanks very much.

    Your Template code is incomplete / corrupted. 
    That's why you can't edit it.
    Try opening your .dwt file in a plain text editor like NotePad.  Remove the editable regions from code.  Save.  Open in DW.
    You will need to SaveAs Template (same name as the one used by your child pages).  Add editable regions to match the ones in your child pages.  Save.
    Nancy O.

  • How can i use the shared object already present in the system from java.

    explanation:
    Actually there are shared objects present in the jdk which is used by java itself.I want to know if i can use the methods in any library file(shared object) which is already present in the system.
    Or the question can be put this way how does the java call the native methods? (Can we do that explicitly) in our code.

    It isn't entirely clear what you mean by 'shared' objects and what the relationship with these shared objects and calling native code is.
    There are no shared objects in the Java language, only the java platform.
    The platform system properties are exposed via the System class (java.lang package).
    You are free to create your own shared objects by using static member access or some other mechanism.
    Your access to methods in any of the API's is dictated by the access type you have, normally public being the only completely open access allowing complete visibility.
    You can call native methods, thats what JNI is for. Calling native methods in classes other than your own is generally done using the API provided by the developer(s) of those classes.

  • ARTADM: libcobrts64.so : cannot open shared object file

    While doing the Tuxedo server startup i am getting error message:
    ARTADM: error while loading shared libraries: libcobrts64.so: cannot open shared object file: No such file or directory.
    Getting the same error message for ARTCNX, ARTSTRN.
    I did verify one of the forum where its mentioned that MF Cobol Server Express need to be present on the linux, which i don't have. However, as per the Tuxedo documentation i have installed Cobol-IT compiler which is also compatible with the Tuxedo. Your inputs would be great help to resolve the issue.

    Please verify your installation as following,
    After installing ART Runtime with Cobol-IT option,
    1) In the ART installation directory you should see directory Cics_RT_CIT and symbolic link Cics_RT pointing to this directory, i.e.
    ls -l /testarea/xcao/art11gR1/Cics_RT
    lrwxrwxrwx 1 xcao units 35 Apr 27 11:04 /testarea/xcao/art11gR1/Cics_RT -> /testarea/xcao/art11gR1/Cics_RT_CIT
    2) All servers should depend on Cobol-IT libraries, e.g.
    ldd /testarea/xcao/art11gR1/Cics_RT/bin/ARTSTRN |grep cob
    libcobit.so.4 => /opt/cobol-it-64/lib/libcobit.so.4 (0x00002b0965f28000)
    libvbisam.so.3 => /opt/cobol-it-64/lib/libvbisam.so.3 (0x00002b096609b000)
    libiconv.so.2 => /opt/cobol-it-64/lib/libiconv.so.2 (0x00002b09661b3000)
    libgmp.so.10 => /opt/cobol-it-64/lib/libgmp.so.10 (0x00002b09663bc000)
    libcitextfh.so.4 => /opt/cobol-it-64/lib/libcitextfh.so.4 (0x00002b0966527000)
    libcobatmis.so => /testarea/xcao/tuxedo11gR1/lib/libcobatmis.so (0x00002b096abfc000)
    In addition, as Mark said, Cobol-IT Enterprise Edition 2.7 or later is required, Cobol-IT Standard Edition is not enough for ART.
    Regards,
    Xin Cao

  • Shared object and different application servers - how to resolve this issue

    Dear SDN Members,
    We are occuring a big problem. We create a shared object in a program and after we call in an another one. In central system architecture, it is working well. But on a distributed architecture (4 application servers), we have a dump some times. In fact, the read of the shared object can be occured in the AS 4 but the share object has been created in AS1.
    How to manage this problem to avoid this dump ?
    Dupplicate the shared object in the application servers ?
    Encapsulate different calls with RFC link to only one AS ?
    Any parameters on server or share objects ?
    Thanks a lot for your help,
    Points will be given to right or good answers.
    Br,
    Aurélien

    What is the dump you are getting ?
    AFAIK, "Shared Memory"(SHM) is an area defined in the app server. I am not sure if you can access SHM of a different app server (as in your case trying to access SHM of AS1 from AS4). [http://help.sap.com/abapdocu_70/en/ABENSHARED_MEMORY_GLOSRY.htm]
    In this case you can opt for "DataBase Clusters". Relevant ABAP statements: [IMPORT|http://help.sap.com/abapdocu_70/en/ABAPIMPORT_MEDIUM.htm#!ABAP_ALTERNATIVE_4@4@]/[EXPORT|http://help.sap.com/abapdocu_70/en/ABAPEXPORT_DATA_CLUSTER_MEDIUM.htm#!ABAP_ALTERNATIVE_4@4@] FROM/TO DATABASE.
    Hope this helps.
    BR,
    SUhas

  • Building Shared Object for LabView

    All;
    I'm trying to build a C++-based shared object to be called from LabView and use SunCC instead of gcc. The compile stage looks like:danny@traveler:~/tubes/dielectric/rod_software/lookup> make -f Makefile.unix suncc=1
    sunCC -I/usr/local/lv71/cintools -I/home/danny/src/NR_C301/code -c -KPIC -m32 -Di686 lookup.cc
    "/home/danny/src/NR_C301/code/interp_1d.h", line 183: Warning: n hides Base_interp::n.
    "/home/danny/src/NR_C301/code/mins_ndim.h", line 103: Warning: n hides Linemethod<extern "C" double(const NRvector<double>&)>::n.
    "lookup.cc", line 176:     Where: While instantiating "Powell<extern "C" double(const NRvector<double>&)>::minimize(const NRvector<double>&)".
    "lookup.cc", line 176:     Where: Instantiated from non-template code.
    2 Warning(s) detected.and the load stage fails like this:sunCC -G -m32 -o lookup.so lookup.o /usr/local/lv71/AppLibs/liblvrt.so.7.1 /usr/lib/libGL.so /usr/lib/libOSMesa.so.6
    /opt/sun/sunstudio12/prod/lib/crtn.o:(.text+0x0): multiple definition of `_etext'
    make: *** [lookup.so] Error 1Is my problem obvious? Is there a simple example on how to build SOs? I found the switch definitions in the Sun documentation, but no good examples yet.
    ...Dan

    If your library links to other shared libraries, use -L options to point to directories other than system directories, and the -l option for the library name after "lib".
    When building shared libraries, you also need to list all system libraries explicity, unfortunately, to ensure your library has the right dependencies.
    You should also add -zdefs to force the linker to complain about unresolved symbols. The default when building shared libraries is not to warn about them.
    You want to be sure you have included all the needed libraries in the link.
    Your link command should look like this :
    sunCC -G -m32 -o lookup.so lookup.o -zdefs \
      -L /usr/local/lv71/AppLibs -llvrt.so.7.1 -lGL.so -lOSMesa.so.6 -lCstd -lCrun -lm -lcYou don't need a -L option for /usr/lib or the directories in the Sun Studio installation. The CC driver knows where to find system libraries.
    That said, I don't think the command line issues are the cause of the multiple definition error.
    Binaries created by Sun C++ are not compatible with binaries created by other C++ compilers like g++. Is liblvrt.so.7.1 a g++ library?

  • Libpixbufloader-svg.so: libpng15.so.15: cannot open shared object file

    While updating, I got:
    [2013-05-05 19:31] [PACMAN] upgraded cups-filters (1.0.34-2 -> 1.0.34-3)
    [2013-05-05 19:31] [ALPM-SCRIPTLET] gtk-update-icon-cache: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory
    [2013-05-05 19:31] [PACMAN] upgraded dia (0.97.2-4 -> 0.97.2-5)
    [2013-05-05 19:32] [ALPM-SCRIPTLET] gtk-update-icon-cache: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory
    [2013-05-05 19:32] [PACMAN] upgraded firefox (20.0.1-2 -> 20.0.1-4)
    [2013-05-05 19:32] [PACMAN] upgraded gcc-multilib (4.8.0-3 -> 4.8.0-4)
    [2013-05-05 19:32] [PACMAN] upgraded gd (2.0.36RC1-5 -> 2.0.36RC1-6)
    [2013-05-05 19:32] [ALPM-SCRIPTLET] g_module_open() failed for /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: libpng15.so.15: cannot open shared object file: No such file or directory
    [2013-05-05 19:32] [PACMAN] upgraded gdk-pixbuf2 (2.28.1-1 -> 2.28.1-2)
    [2013-05-05 19:32] [PACMAN] upgraded gegl (0.2.0-7 -> 0.2.0-8)
    [2013-05-05 19:32] [PACMAN] upgraded ghostscript (9.07-1 -> 9.07-2)
    [2013-05-05 19:32] [ALPM-SCRIPTLET] g_module_open() failed for /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: libpng15.so.15: cannot open shared object file: No such file or directory
    [2013-05-05 19:32] [PACMAN] upgraded libwmf (0.2.8.4-9 -> 0.2.8.4-10)
    I opened the /var/lib/pacman/local/*/files of the mentioned packages and ran the mentioned commands with sudo. Today I got the following error while starting Wireshark (and gnuplot):
    (gnuplot:8581): GdkPixbuf-WARNING **: Error loading XPM image loader: Image type 'xpm' is not supported
    Segmentation fault (core dumped)
    (wireshark:8440): GdkPixbuf-WARNING **: Error loading XPM image loader: Image type 'xpm' is not supported
    ERROR:stock_icons.c:229:stock_icons_init: assertion failed: (pixbuf)
    Aborted (core dumped)
    It turns out that /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache was created with permissions 640 (due to my umask). The solution was to chmod 644 it.
    (similarly, gtk-update-icon-cache created /usr/share/icons/hicolor/icon-theme.cache with wrong permissions (640). This did not seem to cause issues though.)
    Hopefully it will be of help to someone.
    Last edited by Lekensteyn (2013-05-06 14:57:47)

    I also got into problems after a pacman -Syu today.
    I believe removing cleartype-cairo and installing cairo instead fixed the problem
    Hope this helps.
    As a reference, here are some troubleshooting steps I did:
    sudo pacman -S gdk-pixbuf2
    warning: gdk-pixbuf2-2.28.1-2 is up to date -- reinstalling
    resolving dependencies...
    looking for inter-conflicts...
    Packages (1): gdk-pixbuf2-2.28.1-2
    Total Installed Size:   3.67 MiB
    Net Upgrade Size:       0.00 MiB
    :: Proceed with installation? [Y/n]
    (1/1) checking keys in keyring                                                                                                           [###################################################################################] 100%
    (1/1) checking package integrity                                                                                                         [###################################################################################] 100%
    (1/1) loading package files                                                                                                              [###################################################################################] 100%
    (1/1) checking for file conflicts                                                                                                        [###################################################################################] 100%
    (1/1) checking available disk space                                                                                                      [###################################################################################] 100%
    (1/1) reinstalling gdk-pixbuf2                                                                                                           [###################################################################################] 100%
    g_module_open() failed for /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: libpng15.so.15: cannot open shared object file: No such file or directory
    $ pkgfile /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
    extra/librsvg
    $ yaourt -Sb librsvg
    CCLD     rsvg-view-3
    /usr/bin/ld: warning: libpng15.so.15, needed by /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../lib/libcairo.so, not found (try using -rpath or -rpath-link)
    $ pkgfile libcairo.so
    extra/cairo
    multilib/lib32-cairo
    [nemo@ilnwadz ~]$ sudo pacman -S cairo
    resolving dependencies...
    looking for inter-conflicts...
    :: cairo and cairo-cleartype are in conflict. Remove cairo-cleartype? [y/N] ^C
    Interrupt signal received

  • Forms 2.1 calling shared object libraries

    Can Forms 2.1 on Solaris 2.6 make calls to shared object
    libraries? What are the limitations / issues?
    I have a large legacy COBOL program which I would like to
    restructure and capture the business rule implementations into
    shared object libraries. I would then like to implement a new UI
    (character or GUI) for part of the system in Forms. I would
    consider using forms built in features for getting data from the
    database but all inserts updates and deletes will go through the
    business rule layer implemented in COBOL and deployed as shared
    object libraries on unix.
    Any and all help is appreciated.
    Regards
    Terry Bakker
    null

    Terry Bakker (guest) wrote:
    : Can Forms 2.1 on Solaris 2.6 make calls to shared object
    : libraries? What are the limitations / issues?
    : I have a large legacy COBOL program which I would like to
    : restructure and capture the business rule implementations into
    : shared object libraries. I would then like to implement a new
    UI
    : (character or GUI) for part of the system in Forms. I would
    : consider using forms built in features for getting data from
    the
    : database but all inserts updates and deletes will go through
    the
    : business rule layer implemented in COBOL and deployed as shared
    : object libraries on unix.
    : Any and all help is appreciated.
    : Regards
    : Terry Bakker
    I have used Foreign Function Interface call (FFI) in Forms 5.0
    to call function in Dynamic Linking Library (DLL) on Windows/NT.
    You may be able to do the same thing (use FFI) to call shared
    object libraries on Solaris.
    Peter Ng
    null

Maybe you are looking for

  • Error when loading XSLT mapping of the application

    Hi, I am using XSLT mapping in XI. It is working ok when I test it in Interface Mapping but it gives below error when I test end to end scenario.   <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <!--  Request Message Mapping   --> - <SAP:

  • HP Photosmart 945 Digital Camera

    The batteries drain very quickly. Using high capacity 2700mAh NiMH batteries with intelligent charger. Can only take 5-10 shots with flash with fully charged batteries. Earlier I could take more than 50 shots before the batteries drained. What could

  • How to find the no of tmp table used in the db object

    Hi all, I have a big sp of 5K lines, which uses some 15 odd tmp tables in it. I would like to find how many and which are the tmp used by this stored procedure; with out looking line by line of code. Is it possible. Regards

  • Web Dynpro Methods

    Can someone please clarify in what order the following methods will execute and what initiates the execution of each method? wdDoInit wdDoModifyView supplyResources (based on a supplyFunction defined in the context value node) onPlugFromSearchViewToP

  • Apple Supp Comm Hostile Takeover of my Email

    Hi there! I was on here a few months ago and i set my notifications to send me an email ONLY when people responded to my question. That was in September. Since i got the answer i was looking for, I then set the notifications to NO/NONE...i dont want