Cannot dynamically load dylib library using Alchemy?
hello,
I'm on Mac osx Leopard , i have build a dylib from C code who
basically invert a string ("hello" becomes "olleh")
I want to compile and create with Alchemy a .swc file who
call my dylib file.
Finally i want to import my .swc file in flex builder and
being able to use my invert function who is in my dylib library
Is it technally possible ?
Thanks everyone for your help.
Every line of C/C++ code you want to use in Alchemy must be
compiled using Alchemy. You cannot link in naively compiled code.
So if you have the source for each library, you can compile them
using the alchemy toolset and then link those static libs into a
swc with a glugen or raw alchemy interface.
Similar Messages
-
Alpha transparency borders on dynamically loaded images for use with textures
Hi there folks. Well, I have been beating my head over this
and am hoping one of you can help me out.
Essentially I have 16bit images that are loaded into my
shockwave application at run-time. These images are user defined
which means that I will not know their size ahead of time. Once the
images are loaded I then create textures and apply them to various
shaders. Ok, all of this works just fine. What I need to do though
is create an alpha transparent border around the images, so when I
apply them to their surfaces I only see the image and nothing
around it. I am doing this because these images will only appear at
specific parts on a surface, textureRepeat will be false, and many
models will be stacked in the same exact location using the same
model resource. I have everything working, but I cannot figure out
the alpha part for the life of me. Also, when I test the alpha
based image by itself it works just fine. It is not until I try and
combine the 16bit (converted to 32bit at run-time) image that I run
into problems.
I have tried:
- Creating a 32bit alpha image in Fireworks with a
transparent border and a black rect for the inside. I then copy the
dynamic image over the alpha image (only after going from 16bit to
32bit in imaging Lingo) and leave a little room at the edges for
the transparency. Well, I get a crazy amount of streaks here even
when I try to up the trans border by around 24 pixels on each side.
- Using another similiar alpha based image as a mask with
copyPixels and extractAlpha/setAlpha like this... (code is a little
rough here)
newImage = new(#bitmap)
newImage.name = "place_Test"
newImage.image = member("place").image
newAlpha = new(#bitmap)
newAlpha.name = "AHH"
newAlpha.image = image(newImage.image.width + 24,
newImage.image.height + 24, 32)
newAlpha.image.useAlpha = true
newAlpha.image.copyPixels(member("vase").image,
newAlpha.image.rect, member("vase").image.rect)
newAlphaInfo = newAlpha.image.extractAlpha()
newAlpha.image.useAlpha = false
--reverse dark to light
iAlphaReverse = image(newAlpha.image.width,
newAlpha.image.height, 8, #grayscale)
iAlphaReverse.fill(iAlphaReverse.rect, rgb(0,0,0))
iAlphaReverse.copyPixels(newAlphaInfo, iAlphaReverse.rect,
newAlphaInfo.rect, [#ink : #reverse])
--newAlphaInfo.copyPixels(iAlphaReverse, newAlphaInfo.rect,
iAlphaReverse.rect, [#ink:#subtractpin])
newAlphaMask = iAlphaReverse.createMask()
rescaleAbs(newImage, newImage.image.width,
newImage.image.height, "place_Test", 32)
destImage = member("place_Test").image.duplicate()
destImage.fill(destImage.rect, rgb(0,0,0))
newAlpha.image.useAlpha = false
destImage.copyPixels(newImage.image, newImage.image.rect,
newImage.image.rect, [#maskImage:newAlphaMask, #ink:#add])
destImage.setAlpha(iAlphaReverse)
destImage.useAlpha = true
member("place_Test").image = destImage
I apologize for the messy code. I have cut and pasted from
all over the place and am getting confused. In any case, I think I
am making this harder then it needs to be and hope someone can
help.
Thank you in advance,
DaveHi, you can try using other texture layer as mask on the same
shader. As usually you create the texture from a dynamic loaded
image, then apply this texture to the shader on the texture list
index 1 (textureList[1]). Next part does the job, create other
texture from a 32 bits image with the alpha information and fill
all pixels with white color, this is very important because the
second texture layer will be multiply with the first texture layer.
This texture set its render format to rgba8888. Apply the mask
texture to the same shader at texture list index 2, verify that the
blendFunctionList index 2 is #multiply.
I include the code of a project that use this masking
approach:
property pMember
property pEarthSphere
property pNightSphere
property pLastTransform
on beginSprite me
pMember = sprite(me.spriteNum).member
me.setupWorld()
end
on setupWorld(me)
pMember.resetWorld()
repeat with i = pMember.light.count down to 1
pMember.deletelight(i)
end repeat
vEarthModelResource = pMember.newModelResource("EARTH MODEL
RESOURCE", #sphere)
vEarthModelResource.radius = 50.000
vEarthModelResource.resolution = 20
vEarthTexture = pMember.newTexture("EARTH TEXTURE",
#fromCastMember, member(3,1))
vEarthShader = pMember.newShader("EARTH SHADER", #standard)
vEarthShader.emissive = color(255,255,255)
vEarthShader.flat = TRUE
vEarthShader.transparent = FALSE
vEarthShader.textureList[1] = vEarthTexture
pEarthSphere = pMember.newModel("EARTH MODEL",
vEarthModelResource)
pEarthSphere.shaderList = vEarthShader
vNightModelResource = pMember.newModelResource("NIGHT MODEL
RESOURCE", #sphere)
vNightModelResource.radius = 50.2000
vNightModelResource.resolution = 20
vNightTexture = pMember.newTexture("NIGHT TEXTURE",
#fromCastMember, member(4,1))
vNightTexture.quality = #lowFiltered
vNightTexture.nearFiltering = FALSE
vNightTexture.renderFormat = #rgba8880
vNightShader = pMember.newShader("NIGHT SHADER", #standard)
vNightShader.emissive = color(255,255,255)
vNightShader.flat = TRUE
vNightShader.transparent = TRUE
vNightShader.textureList[1] = vNightTexture
vMaskNightTexture = pMember.newTexture("MASK NIGHT TEXTURE",
#fromCastMember, member(6,1))
vMaskNightTexture.renderFormat = #rgba8888
vNightShader.textureList[2] = vMaskNightTexture
vNightShader.textureModeList[2] = #wrapPlanar
pNightSphere = pMember.newModel("NIGHT MODEL",
vNightModelResource)
pNightSphere.shaderList[1] = vNightShader
pNightSphere.parent = pEarthSphere
end
on exitFrame(me)
pEarthSphere.rotate(0.0,0.1,0.0)
me.moveMaskNightTexture()
end
on moveMaskNightTexture(me)
vRotationVector = - pEarthSphere.transform.rotation
pNightSphere.shaderList[1].wrapTransformList[2].rotation =
vRotationVector
end -
Dynamic Load Plan creation using scripting
Hello All,
We have a requirement to create load plans dynamically i.e using script groovy. Idea is that we will store interface scenarios in a table and then script will read these scenarios an create dynamic load plans. Now following are my question.
1) Is it possible to create load plans through script ? (different blogs on net claims that you can do anything or everything whatever ODI studio can do)
2) Any pointer what API to use for this task ? I am very new to scripting and have zero idea about how to go about it . if possible please suggest sample script to create load plans (I can see some sample to create interface,folder etc on net.)
Thanks in advance for your reply.
Thanks & RegardsODI SDK apis allows dynamic creation of Loadplans. Oracle Fusion Middleware Java API Reference for Oracle Data Integrator
Studio too uses these APIs for LP related operations so you should be able to do using these whatever studio allows.
You can find SDK samples at Oracle Data Integration Sample Code -
Load c++ library using SWIFT
Dear Team
can i load a c++ shared library using SWIFT Language ??
may i have a sample ?
Kind regards
dguYou'll be happy to know that Swift has it's own forum in the Dev Center now.
-
Getting a #7 error when dynamically loading a VI using a DLL
Problem invoking a VI dynamically in LabVIEW 7.0.
Example files are attached (simply extract the files
in one directory).
I have a VI, Invoker.vi, that dynamically invokes
another one, Basic VI.vi.
If I use Invoker.vi natively, no problem, everything
works.
Now, I build Invoker.vi as a shared library
(Invoker.dll), and call it from an executable
(CallingLabVIEW.exe, requires .Net Framework 1.1,
you can create your own by simply calling the
long Invoker(LVBoolean *status) method from the DLL).
I get an error:
Open VI Reference in Invoker.vi->Invoker.vi.ProxyCaller
Anyone knows what I may be doing wrong?
I've tried putting the full path name of Basic VI.vi,
same result
Thanks in advance,
phil
Attachments:
Invoker.zip 42 KBZvezdana,
Thanks for the help, but... ...I had forgotten to mention that I *had* tried adding the VI in the build process. It didn't solve the issue, and in any case having to build with all the dynamic VIs would not be practical for what I'm trying to achieve.
Another note on this matter: I have an application (an EXE) built that calls dynamic VIs without having them included in the build, and that works. I believe adding dynamic VIs to the build is only useful if the dynamic VIs are not going to be deployed with the application otherwise. But, if they are available on the target host at the path specified when you run the application, it should work even if you didn't include them in the build.
Thanks again,
phil -
Error loading external library (Oracle 8.1.5)
I'm running Oracle 8.1.5 and am trying to configure the interMedia Text option to enable long test searches using the "contains" operator.
I've installed (and re-installed) the interMedia text option trying to get this thing working. The installations (including the re-installation) were successful and starting the ctxsrv process was successful as well. No matter what I do, however, I get the following error when I try to create a context type index:
SQL> create index z$long_ix on z$long(data) indextype is ctxsys.context;
create index z$long_ix on z$long(data) indextype is ctxsys.context
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: ConText error:
ORA-06520: PL/SQL: Error loading external library
ORA-06522: ld.so.1: extprocPLSExtProc: fatal: libskgxp8.so: open failed: No such file or directory
ORA-06512: at "CTXSYS.DRUE", line 122
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 34
ORA-06512: at line 1
I have tried everything in the online newsgroups, FAQs, etc, but still seem to have this error come up.
My tnsnames.ora contains:
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)
My listener.ora contains:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /dbmsu001/app/oracle/product/8.1.5)
(ENVS=LD_LIBRARY_PATH=/dbmsu001/app/oracle/product/8.1.5/lib:/dbmsu001/app/oracle/product/8.1.5/ctx/lib)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = SWOW)
(GLOBAL_DBNAME = devlab)
(ORACLE_HOME = /dbmsu001/app/oracle/product/8.1.5)
I restarted the listener each time I made changes to listener.ora and I restarted ctxsrv process each time as well to make sure. I run ctxsrv as "ctxsrv -user ctxsys/ctxsys -personality M -log ctx.log &". I exited SQL*PLus and restarted to make sure I got a new session under the new listener process.
I don't know alot about libraries and external processes, but from what I've read, I have everything setup properly. I checked the dba_libraries view and it shows the proper filename and path for the libctxx8.so file. It should be correct as it's the same file/path I entered while installing the interMedia text option.
I've also tried setting text_enable = FALSE in initXXX.ora to make sure that doesn't interfere. Somewhere I read that having that parameter set to TRUE may cause some problems as it's only for version prior to 8.1.5.
If you have any additional information that can help me get this working, it would be greatly appreciated. I've spent countless hours and am just spinning my wheels now with an ever increasing level of frustration.
Shane Marshall
Boston, MAThis might be best asked in the Oracel Text forum...
But, it appears that you have extproc configured correctly, the problem is that extproc cannot find the shared object in question. It cannot dynamically load the shared object becaus it cannot find it.
In my experience, this is due to a LD_LIBRARY_PATH unix environmental variable that does not include the directory where the shared object is. You should set this variable in the login script for the oracle user.
From the installation guide.... I am not sure if this library is in ORACLE_HOME/lib, if not add the directory to LD_LIBRARY_PATH
LD_LIBRARY_PATH
Required when using Oracle products that use shared libraries. Set LD_LIBRARY_
PATH to include $ORACLE_HOME/lib. -
I bought a new iPad and cannot down load Facebook ,or using genius to install all my previous data from old iPad.
Not so good Christmas for your new phone. Nothing will work withou Blackberry internet service Plan. Facebook will work on Wifi Download Mini Opera for browsing Otherwise Get that Plan activated and Pay more.
-
cannot load my library onto my ipod since getting icloud? Itunes states that I need to download from icloud? Can I not use my ipod as I did pre-icloud?
Chris CA wrote:
You cannot backup photos to iCloud.
You can enable Photo Stream (in Settings > iCloud) but only for 30 days and only a max of 1000 photos.
Then what does this mean? It was copied from the kb article that I posted above.
Reducing the size of your Camera Roll backup
If you take lots of photos and videos with your iOS device, you may notice your Camera Roll takes up most of your iCloud Storage backup. To check the size of the Camera Roll backup on your device:
On your Home Screen, tap Settings.
Tap iCloud.
Tap Storage & Backup.
Tap Manage Storage.
In the Backups section, tap your device.
In the Backup Options section, the backup size is displayed under Camera Roll.
To reduce the size of your Camera Roll backup, save your photos and videos locally to your computer with iTunes, and then manually back up your iOS device. If you want to keep your photos and videos on your iOS device, you can turn off Camera Roll in Backup (see the "Deleting backups and turning off Backup for your Device" section above) orpurchase additional storage. -
Hi all,
Is there any restriction on Mac OS X 10.6/10.7 that binaries running from root directories like /usr/libexec/ cannot load dylib's at run-time using dlopen() or NSAddImage()?
I am trying to run a binary like "sample" from a directory inside /usr/libexec/ which tries to load a dylib like "sample.dylib" which is present in the same directory as "sample".
It resulted in a segmentation fault with the following error and stack-trace.
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000003430
0x0000000000003430 in ?? ()
Using gdb, I could find out that the program crashed inside dlopen() (the path passed to dlopen() being a simple filename like "sample.dylib").
The dlopen() at the top of the stack-trace pasted below gets called around 10 times; it does not crash during this 2nd level dlopen() any-time.
#0 0x00007fff81be9e93 in dlopen ()
#1 0x00007fff82838f7f in map_images_nolock ()
#2 0x00007fff82821bc0 in map_images ()
#3 0x00007fff5fc039b9 in __dyld__ZN4dyldL18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_imag e_infoE ()
#4 0x00007fff5fc0c839 in __dyld__ZN11ImageLoader4linkERKNS_11LinkContextEbbRKNS_10RPathChainE ()
#5 0x00007fff5fc04d48 in __dyld__ZN4dyld4linkEP11ImageLoaderbRKNS0_10RPathChainE ()
#6 0x00007fff5fc08f68 in __dyld_dlopen ()
#7 0x00007fff81be9ec0 in dlopen ()
#8 0x000000010002694f in AAA ()
#9 0x0000000100026730 in XXX ()
#10 0x0000000100026494 in YYY ()
#15 0x00000001000566a9 in main (argc=7, argv=0x7fff5fbff810) at ../../main.c:50
After this 2nd level dlopen() gets called 10-15 times, the stack will unwind from map_images_nolock () till __dyld_dlopen (). But when it tries to finish all the instructions inside __dyld_dlopen () and step out of it, the program crashes with the EXC_BAD_ACCESS signal.
Please find below the final stack-traces obtained during debugging when I put breakpoints for AAA() and dlopen() and went on stepping inside till the program crashed.
(gdb) bt
#0 0x00007fff5fc04d48 in __dyld__ZN4dyld4linkEP11ImageLoaderbRKNS0_10RPathChainE ()
#1 0x00007fff5fc08f68 in __dyld_dlopen ()
#2 0x00007fff81be9ec0 in dlopen ()
#3 0x000000010002694f in AAA ()
#4 0x0000000100026730 in XXX ()
#5 0x000000010002663c in YYY ()
#11 0x00000001000566a9 in main (argc=7, argv=0x7fff5fbff7f0) at main.c:50
(gdb) step
Single stepping until exit from function __dyld__ZN4dyld4linkEP11ImageLoaderbRKNS0_10RPathChainE,
which has no line number information.
0x00007fff5fc08f68 in __dyld_dlopen ()
(gdb) bt
#0 0x00007fff5fc08f68 in __dyld_dlopen ()
#1 0x00007fff81be9ec0 in dlopen ()
#2 0x000000010002694f in AAA ()
#3 0x0000000100026730 in XXX ()
#4 0x000000010002663c in YYY ()
#10 0x00000001000566a9 in main (argc=7, argv=0x7fff5fbff7f0) at ../../main.c:50
(gdb) step
Single stepping until exit from function __dyld_dlopen,
which has no line number information.
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000003430
0x0000000000003430 in ?? ()
To summarise:
For some reason, a user wants to install a product and its binaries under /usr/libexec/.
This binary tries to dynamically load a dylib using dlopen("sample.dylib", RTLD_LAZY | RTLD_LOCAL).
It looks like, the dynamic linker then opens dependent dylibs and runs module initialisers. Then crashes when returning (which sounds like a trashed stack).
Can anyone please tell me whether there is some OS-imposed restriction or OS bug which can explain this type of behaviour?
(Note: The crash does not occur if the binary and dylib are installed under a normal user's home directory and run from there.)
Many thanks,
VinayThe otool output for the binary and dylib are pasted below.
localhost:Latest dev$ otool -L /usr/libexec/Dipu/sample/sample
/usr/libexec/Dipu/sample/sample:
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.18.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
localhost:Latest dev$ otool -L /usr/libexec/Dipu/sample/sample.dylib
/usr/libexec/Dipu/sample/sample.dylib:
libProduct.dylib (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.18.0) -
Can I call a dynamically loaded subvi from a subvi inside a library?
I have an application that uses a .lvlib, this library has many subvi's. From my executable, I can dynamically load subvi's within the library using the "open reference.vi" and passing in just the name as long as the subvi's being called are listed in the "always included" list of my build specification. What I want to do now is load an external subvi (external to the library) using the same method. But when I try to do this, LabVIEW cannot find the external subvi even when it is included as part of the executable. It seems the Paths are getting messed up. Here is what is happening:
Lets say I have Mylibrary.lvlib as my library in the following path C:\MyProject\Mylibrary.lvlib,
and internal.vi as my subvi within the library in the following path C:\MyProject\MySubVis\internal.vi,
and external.vi as my subvi outside of my library in the following path C:\MyProject\external.vi
This is all in the same project.
I'm using the "Open VI Reference.vi" from internal.vi to call external.vi, and I'm including both internal.vi and external.vi in my executable (MyEXE.exe for illustration purposes). When I run this part of my code I get an error and LabVIEW reports the path of my external subvi as: C:\MyProject\MyEXE.exe\MySubVis\external.vi which is really the path for my library subvi. Why?
Either way, when I hard code what is supposed to be the correct path to my external subvi: C:\MyProject\MyEXE.exe\external.vi, LabVIEW can't seem to find the file, its' almost like an access scope problem because I'm trying to access something outside of the library. Is there such thing? If the file is part of my exe why can't LabVIEW find it??? How can I call my external.vi BY NAME from my internal.vi??
Any help is appreciated.Your hardcoded path is incorrect. How do you have the build configured? Are you using the new executable structure or the pre-8.2 structure.
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
Error while creating database - Cannot load backend library 'oci.dll'
Hi all,
I am newbie to Timesten imdb (in memory database). I do not wish to use oracle rdbms.
I have installed the Timesten IMDB on Win2003.
E:\TimesTen\tt70_32\bin>ttVersion.exe
TimesTen Release 7.0.5.0.0 (32 bit NT) (tt70_32:17000) 2008-04-05T00:54:16Z
Instance admin: m4sadm
Instance home directory: e:\TimesTen\tt70_32
Daemon home directory: e:\TimesTen\tt70_32\srv\info
While installing, I followed the viewlet at: [http://www.oracle.com/technology/products/timesten/viewlets/tt70_install_win_viewlet_swf.html]
Now, I am planning to create a database, and so following the viewlet at: [http://www.oracle.com/technology/products/timesten/viewlets/tt70_create_db_win_cc_viewlet_swf.html]
However, when I give the command (according to the viewlet), I get the following error:
Command> select * from v$version;
5102: Cannot load backend library 'oci.dll' for Cache Connect. OS error message '<empty>'.
The command failed.
Can anyone provide pointers to resolve this?I'm guessing you chose No to the install question about using Cache Connect to Oracle? This would cause certain libraries not to be installed at install time, specifically libraries that would enable you to use TimesTen Cache Connect to cache data from Oracle tables.
The table "v$version" that you use in your select
select * from v$version
only exists on an Oracle RDBMS. It doesn't exist on TimesTen. Moreover the second viewlet you refer to is about using the TimesTen Cache Connect feature to cache tables from Oracle RDBMS. If you're not interested in using Oracle RDBMS, as you say, it would be my assumption that you're also not interested in using the TimesTen Cache Connect feature? So I'm a little confused here about your intentions. Are you interested in using TimesTen as a standalone datastore, or do you want to use it to cache data from tables located in an Oracle RDBMS?
Thanks. -
Cannot load a library unit database_object ( referenced by package name )
Dear Friends,
I am using Plls in Reports 6i. In One of the Pll I am Using
Backend Table in package body. I have two 8i instances. when I
comiple and save and close this plls with one instance( say
instance "A" ), its fine. it is done sucessfully. Now i am
connecting to other instance ( say instance "B" ) and open that
same pll. it is showing compilation error "Cannot load a library
unit <my_table> ( referenced by <package name> )". Now I compile
and save and close with instance "B". it is done sucessfully.
Again I am connecting to Instance "A" and open that same PLL. It
is showing same Error "Cannot load a library unit <my_table> (
referenced by <package name> )"
Anybody can tell me , How to get rid of this Problem. I dont
know its a BUG or somthing else.
I am using Window2000 as OS.
Thanks
Ashish ParikhIf a Schema has some objects in it, then you cannot drop that Schema until you remove all the objects out of it. You can change the schema owner
to another database principal and drop the user like,
Alter Authorization ON Schema::username TO DBO; Drop User username;
other option would be
Transfer the username schema objects to a different schema and drop username schema and user like.
Alter Schema DBO Transfer Username.[OBEJECTNAME] ;
--need to repeat this until you transfer all objects under this schema
Drop Schema username;
Drop User username;
Regards,
Praveen D'sa
MCITP - Database Administrator - 2008
sqlerrors -
Solaris java sapgui error JniAgiLibAdaptor. init : Cannot load JNI library
i have a problem java sapgui.
Launch the Sapgui and then try to connect to any one of the three choices and it should produce the following error.
i am running this on a Solaris 10 32bit. This sam java SAPGUI runs fine when i boot into the windows xp pro. Hope this helps.
gui version;
SAPGUI for Java 7.10 rev 8 (java),
no library (lib)
(Version ID 071000040800)
Mon Mar 30 10:34:24 MEST 2009
uw1059, 710_REL, 1054563
Java VM: Sun Microsystems Inc. Version 1.6.0_14
OS: SunOS(x86) Version 5.10
The version of Java being used is:
java -version
java version "1.5.0_16"
Java(TM) Platform, Standard Edition for Business (build 1.5.0_16-b02)
Java HotSpot(TM) Client VM (build 1.5.0_16-b02, mixed mode, sharing)
Thank You,
Ferhan
JniAgiLibAdaptor.<init>: Cannot load JNI library
details;
java.lang.Exception: JniAgiLibAdaptor.<init>: Cannot load JNI library
at: com.sap.platin.r3.protocol.diag.JniAgiLibAdaptor.<init>(JniAgiLibAdaptor.java:29)
at: com.sap.platin.r3.protocol.diag.GuiDiagToAutomationParser.configure(GuiDiagToAutomationParser.java:283)
at: com.sap.platin.base.connection.GuiConnection.open(GuiConnection.java:297)
at: com.sap.platin.base.application.GuiApplication.createConnection(GuiApplication.java:798)
at: com.sap.platin.base.logon.GuiLogonFrame.doConnect(GuiLogonFrame.java:838)
at: com.sap.platin.base.logon.GuiLogonFrame$SymListener.actionPerformed(GuiLogonFrame.java:443)
at: javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at: javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at: javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at: javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at: javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at: java.awt.Component.processMouseEvent(Unknown Source)
at: javax.swing.JComponent.processMouseEvent(Unknown Source)
at: java.awt.Component.processEvent(Unknown Source)
at: java.awt.Container.processEvent(Unknown Source)
at: java.awt.Component.dispatchEventImpl(Unknown Source)
at: java.awt.Container.dispatchEventImpl(Unknown Source)
at: java.awt.Component.dispatchEvent(Unknown Source)
at: java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at: java.awt.LightweightDispatcher.proc
Attempt to load shared library
/opt/SAPClients/SAPGUI7.10rev8/bin/libJPlatin.so failed.
The library file exists, so either the program has
insufficient privileges to access the library or the library
is not loadable by the shared object loader.
Please recheck the system requirements for your operating
system and make sure all required libraries are installed.
details;
ava.lang.UnsatisfiedLinkError: /opt/SAPClients/SAPGUI7.10rev8/bin/libJPlatin.so: ld.so.1: java: fatal: /opt/SAPClients/SAPGUI7.10rev8/bin/libJPlatin.so: wrong ELF data format: ELFDATA2MSB (Possible cause: endianness mismatch)
at: java.lang.ClassLoader$NativeLibrary.load(Native Method)
at: java.lang.ClassLoader.loadLibrary0(Unknown Source)
at: java.lang.ClassLoader.loadLibrary(Unknown Source)
at: java.lang.Runtime.load0(Unknown Source)
at: java.lang.System.load(Unknown Source)
at: com.sap.platin.r3.util.GuiJniLoader.loadPlatinLibrary(GuiJniLoader.java:56)
at: com.sap.platin.r3.protocol.diag.JniAgiLibAdaptor.<init>(JniAgiLibAdaptor.java:27)
at: com.sap.platin.r3.protocol.diag.GuiDiagToAutomationParser.configure(GuiDiagToAutomationParser.java:283)
at: com.sap.platin.base.connection.GuiConnection.open(GuiConnection.java:297)
at: com.sap.platin.base.application.GuiApplication.createConnection(GuiApplication.java:798)
at: com.sap.platin.base.logon.GuiLogonFrame.doConnect(GuiLogonFrame.java:838)
at: com.sap.platin.base.logon.GuiLogonFrame$SymListener.actionPerformed(GuiLogonFrame.java:443)
at: javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at: javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at: javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at: javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at: javax.swing.plaf.basic.BasicBHello Ferhan,
the output of the AboutBox is indicating that you are trying to run SAP GUI for Java on Solaris 10 with x86 CPU. Unfortunately, the library required to be loaded is complied for SPARC. Please have a look at the system requirements part of the manual coming with the installer of SAP GUI for Java or [note 959236|https://service.sap.com/sap/support/notes/959236].
Best regards
Rolf-Martin -
Dynamically load a VI by library reference
We are very excited by the introduction of project libraries in LV8 and what it means for project management and building multiple custom distributions using libraries of dynamically called VIs from within a single project. We now have our VIs arranged by VI "type" in the directory structure and by logical "function" with the project libraries that make up the project. It sure wold be nice if we could dynamically load VIs from the library reference rather than trying to keep up with the actual paths. I can get a reference to the library using and invoke node and "open.library" with a path wired in. Is there any way to use this library reference to do an "open vi reference" to a VI within that library?
Hello Lee,
This invoke node returns a reference to the libray, with this you can browse throught the library just like a tree control. It is usefull to open the .lvlib file with a text editor to see what 'Type string' options you have. If you get to the right VI use the 'VI Reference' property from the 'Library Item'-class, this will get you a reference to the VI which you can open, edit, save or whatever VI-server offers you.
Good luck
Ton
PS I'm using in this in a tool to duplicate the .lvproj structue into the hard-drive, I'm not fully done but getting there!
PS This screenshot was made with Starware
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas
LabVIEW, programming like it should be!
Attachments:
Example_BD.png 2 KB -
Verify installation of MS C Runtime Library - Cannot load JNI library
Hello,
I´am working on a MS XP frontend on customer side and have no admin rights, installed is SAPGUI for Java 7.10rev4 with sun java version 1.5.0_11
The admin from the customer told me that he had completly installed the MS C Runtime Library VS2005 SP1, file vcredist_x86.msi.
However, if I try to use the JAVA Gui I found in the trace file the following error:
29.07. 10:25:16.039 CON: new GuiNiNetConnection
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1. ERROR #############################
29.07. 10:25:16.055 ERROR: GuiConnection: Connection failed
29.07. 10:25:16.055 ERROR: JniAgiLibAdaptor.: Cannot load JNI library
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1. ERROR #############################
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2. ERROR #############################
29.07. 10:25:16.055 ERROR: JniAgiLibAdaptor.: Cannot load JNI library
29.07. 10:25:16.055 ERROR: Technical Details
29.07. 10:25:16.055 ERROR: java.lang.Exception: JniAgiLibAdaptor.: Cannot load JNI library
29.07. 10:25:16.055 ERROR: at: com.sap.platin.r3.protocol.diag.JniAgiLibAdaptor.<init
In an old posted message I found the information that the reason should be that the MS C Runtime Library is not installed.
- Is there a simple way to check if the vcredist_x86.msi is installed in a correct and completed way?
- Any other ideas about the error "Cannot load JNI library" on a windows XP system?
Thanks in advance,
StefanHi szgyurka!
I have an article here that can help you troubleshoot this issue with your iTunes application:
iTunes for Windows Vista, Windows 7, or Windows 8: Fix unexpected quits or launch issues
http://support.apple.com/kb/ts1717
Take care, and thanks for visiting the Apple Support Communities.
Cheers,
Braden
Maybe you are looking for
-
Major 30G Photo Skipping/Stopping/Reset Problems
*I originally posted this under "5th Generation" which I think was a mistake, so I'm posting it here.* Hi all. I'll try to give the short version of my major iPod problems I've been having. It's been going on for a couple months straight now. The fir
-
Medscape log in problem. Help needed quickly!
I sideloaded the medscape application in my Playbook but upon loging in with username and password, it is saying that internet connection was interrupted. Though I can browse internet. It used to work earlier. Please sort this out asap. Thanks.
-
Cleaning macbook pro screen- tips
what do you use to clean the mbp screen from smudges and prints?
-
BAPI for Accounting Document Posting
What is the name of BAPI for Accounting Document Posting and how can I run it?
-
Need to access EM 12c from Blackberry OS 7.1
CT is unable to access 12c console from Blackberry OS 7.1. Is there any estimated data when it will be supported?