Porting 32-bit Applications on 64-bit Solaris 9i

Hi All,
I tried to port an existing and well set 32-bit application onto Solaris 9.While I was compling the C-code part of it,I encountered the error
wrong ELF class: ELFCLASS64.
which I realized was due to intermixing of 32 and 64-bit applications.
I just wanted to know if any oracle 10g libraries called or linked with the application happen to be of 32-bit ELFCLASS as it's only while linking with them that the error is thrown.
cc -L/u01/app/oracle/product/10.1.0.3/lib/ -L/u01/app/oracle/product/10.1.0.3/rdbms/lib -o cps_lib_test cps_lib_test.o -lclntsh `cat /u01/app/oracle/product/10.1.0.3/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /u01/app/oracle/product/10.1.0.3/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lmm -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /u01/app/oracle/product/10.1.0.3/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /u01/app/oracle/product/10.1.0.3/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /u01/app/oracle/product/10.1.0.3/lib/sysliblist` -R/u01/app/oracle/product/10.1.0.3/lib -laio -lposix4 -lkstat -lm -lthread cps_lib.so
ld: fatal: file cps_lib_test.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to cps_lib_test
*** Error code 1
make: Fatal error: Command failed for target `build'
Can someone please help?

Sorry for the i attached to Solaris 9.
The output of file cps_lib_test.o is ELF 64-bit MSB relocatable SPARC Version 1.
Almost all the resulting files are of the type ELFCLASS64.But probably some of the oracle libraries while linking are causing the problem.

Similar Messages

  • How can I use syscall() from 32-bit application in 64-bit Solaris (v. 5.8)

    Solaris 5.8
    Sun Blade 150 (64-bit)
    I have got SYGSYS when call syscall(...) from my 32-bit application.
    Is it possible to use syscall() in 32-bit applications under 64-bit Solaris?

    Hello again.
    You may use the debugger (mdb) to open the core file generated by the SIGSYS trap:mdb coreThen you type::regs to list the register values at the time of the trap (in hexadecimal form).
    For Sparc machines (it is more complicated on x86 machines) g1 holds the system call number, o0 holds the first argument, o1 the second one ... o5 the 6th one. (For system calls with more than 6 arguments the 7th, 8th... argument are stored on the stack.)
    If g1 is 0 you know that the system call is done indirectly using SYS_syscall so the arguments are shifted (see above) and o0 holds the system call number.
    You can exit mdb using::quitMartin

  • Can we run 32 bit application over 64 bit windows server 2012 ?

    Can we run 32 bit application over 64 bit windows server 2012 ?

    Hi,
    Thanks for your question.
    Since the two cases that you posted are the same, I will merge them so that you can get a better assistance. Thanks for your understanding
    and support.
    In addition, according to your question, it depends on the applications. Some applications designed for the 32-bit version of Windows
    will work on the 64-bit version of Windows, but some are not. Before you install the application, you’d better check if it is compatible with 64-bit version of Windows Server 2012.
    Best regards,
    Susie

  • Porting 32-bit Applications on 64-bit Solaris 9

    Hi All,
    I tried to port an existing and well set 32-bit application onto Solaris 9.While I was compling the C-code part of it,I encountered the error
    wrong ELF class: ELFCLASS64.
    which I realized was due to intermixing of 32 and 64-bit applications.
    I just wanted to know if any oracle 10g libraries called or linked with the application happen to be of 32-bit ELFCLASS as it's only while linking with them that the error is thrown.
    cc -L/u01/app/oracle/product/10.1.0.3/lib/ -L/u01/app/oracle/product/10.1.0.3/rdbms/lib -o cps_lib_test cps_lib_test.o -lclntsh `cat /u01/app/oracle/product/10.1.0.3/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /u01/app/oracle/product/10.1.0.3/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lmm -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /u01/app/oracle/product/10.1.0.3/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /u01/app/oracle/product/10.1.0.3/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lcore10 -lxml10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /u01/app/oracle/product/10.1.0.3/lib/sysliblist` -R/u01/app/oracle/product/10.1.0.3/lib -laio -lposix4 -lkstat -lm -lthread cps_lib.so
    ld: fatal: file cps_lib_test.o: wrong ELF class: ELFCLASS64
    ld: fatal: File processing errors. No output written to cps_lib_test
    *** Error code 1
    make: Fatal error: Command failed for target `build'
    Can someone please help?

    Check your client installation of oracle whether it is 64bit.
    One of your libraries you are linking is 32 bit instead of 64 bit

  • [SOLVED] Unable to build 32-bit applications on 64-bit Arch System

    Hey :-)
    I'm trying to build a 32 bit application under Arch64.
    I enabled the multilib repositories, updated and installed the lib32 packages.
    When I build I'm using the -m32 flag. Compiling is fine, but when I try to link I'm getting errors such as
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/libgcc.a when searching for -lgcc
    /usr/bin/ld: cannot find -lgcc
    (there are a lot like this, but with what i presume are different libraries)
    I've done some googling but to no avail.
    Can somebody help me out? Thanks :-)
    Last edited by mallard (2015-06-10 07:04:06)

    Scimmia wrote:Do you have multilib-devel installed?
    Thanks for your help!
    I installed gcc-multilib and now everything is working.

  • Performance Issue - 32 Bit Applications vs 64 Bit DB Server

    Dear All,
    My Current set up is as follows:
    Operating System: Windows 2003 Standard Edition R2 64 Bit
    Database: Oracle 10.2.0.1 64 Bit
    Client Connectivity: Oracle 10.2.0.1 32 Bit
    Application: Lotus Domino 7.0.2 FP3 32 Bit
    In the above set up,
    When Application try to fetch the records from DB through client, it takes so much of time as compared to when i run the same with (OS & DB in 32 bit).
    kindly let me know how to do workaround on this, analysation have to be made to overcome this performance issue.
    thanks & regards
    suresh

    1. Check for available statistics.
    2. Verify plans against 32 bit and 64 bit databases.
    3. Analyze the sql trace for the session.

  • 32 bit Application calling 32 bit DLL "An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)"

    Hi,
    I am developing an application in visual c# which loads few DLLs.
    While loading the DLLs I am getting this error
    "An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)"
    Strange thing for me is that I don't get this error always. In most of the cases when I uninstall the application and reboot my PC again when I install again then problem is solved for few days.
    I have followed several threads all suggests that This error comes either "64 bit exe tries to load 32 dll" or "32 bit exe tries to load 64 bit dll". In my case i made sure that both the
    exe and dll are 32 bit.
    In Project property I selected Platform and Platform target to x86. But the problem still occurs.
    Some body please suggest some solutions and why this problem occur.
    Thanks
    Sujeet. 

    Hi,
    How do you load the DLLs? I assume you get an exception and do not call the LoadLibrary API function directly. The latter just returns NULL (Intptr.Zero) if you load a library with the wrong bitness. However, in this case, I do not get error 11 (= 0xB =
    ERROR_BAD_FORMAT), but I get error 193 (= ERROR_BAD_EXE_FORMAT), so I think something else is going on on your machine.
    So, do you get an exception, and which one? Can you catch and examine it? Does it provide details about which library can not be loaded?
    An option is using
    Process Explorer to find out which library can not be loaded by looking at which libraries are being accessed most recently.
    Another option is using Windbg.exe (from the Windows Debugging Tools). By default, it outputs all loaded modules so that the last one your application tries to load should be listed there, too. It should even be listed if it fails to load; at least that
    was the case in my tests.
    Sometimes, if no path is specified for the dll file, the dll can be loaded from the current directory. So depending on what happened at runtime before the library is being loaded, the current directory could have been changed so that you can get variable
    results during debugging.
    When you are saying "when I uninstall the application", do you mean your own application on your own PC? Does the problem (also) happen during debugging inside Visual Studio?
    Armin

  • Is iDAR 5.0 64 bits application?

    Does anybody know if iDAR 5.0 is a 64 bit application or 32 bit one? I would like to get the bits because the file descriptor has different soft ulimit on 64 and 32 bits application.
    Thanks!

    Never mind. I just got the answer it run as 32 bit process even it can run on 64 bit Solaris 8
    Thanks!

  • Cant install itunes due to "Unsupported 16 bit application" error

    Hey everyone.
    A couple weeks ago my iTunes got messed up after my pc froze. Since then, iTunes will pop up with "installing" when my iPod is charging, but nothing happens.
    I have tried to re-install with the latest version and with old versions, but I keep getting an error that says "Unsupported 16 bit application."
    Is the anyway I can fix this and get iTunes to install?
    Thnaks for your help.

    If I remember correctly and if you do some research 16-bit execution is not supported on 64-bit Windows.
    See results of a Google for
    16 bit application on 64 bit windows 7  Read the post from the first link
    How can I run 16 bit programs in Windows 7 64-bit? :
    "16-bit programs can't run on 64-bit windows 7 natively." 
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ”

  • 32 bit JRE in 64 bit windows.

    Hello,
    I know its very much basic question... But i am not much clear about it.
    Can u plz anyone clear me....
    Rite now i am using my java application with jre 1.6.0_11 in 32 bit Windows architecture.
    And now we planned to support *64 bit Windows architecture like Windows 2008 Server R2,Windows 7 (64 bit) etc..*.
    Now my confusion is whether *32 bit jre will work properly with this 64 bit architectures*?
    Please guide me....
    Thank You !!!

    I think you will not be able to install a 32 bit application in 64 bit machine.
    In general installing a 32 bit application in 64 bit is no issue. You can do it.what i am saying is if the user is installing a 32 bit application into a 64 bit application then whether the application will work or not will depend on some factors. There is no straight answer "yes" or "No" for this. Depend on application to application. Also on the type os support provided by the 64 bit OS for running 32 bit application.
    please give me clear information that whether my 32 bit jre (which is used my java application) will work in 64 bit architecture?why don't you just install and check it whether it is working or not. I think you can do this while sitting in your chair.
    if i run my application with 32 bit jre in 64 bit architecture will i encounter any kind of performance or real time issue?I have given a link in my replies check it again.

  • 64-bit vs. 32-bit downloads from the cloud?

    I have a 64-bit machine running Windows 7 Ultimate.  I'm in the process of downloading the CS6 applications from the Adobe Cloud.  The download process did not ask me to specify whether I wanted 32-bit applications or 64-bit applications. Does the installer check and automatically download and install the correct version of each CS6 product according to the bit size of the receiving machine?  I know that I had to explicitly specify the 64-bit versions when they were available in CS5, but they came from a boxed DVD set.  I just want to be sure that I'm not now accidentally getting 32-bit versions during my current download of the CS6 product suite from the cloud.  Thank you.

    I have the answer to my own question.  Both the 32-bit version and the 64-bit version for each product are turning up in my "All Programs" list.  The installer is giving me both.  Thank you.

  • Generating 32 bit applications on Solaris 9 / UltraSparc III+

    Hallo.
    I wish to generate some 32 bit applications on Solaris 9 and UltraSparc III+ platform. I need to do that as my process have to dinamically link a 32 bit shared object previosuly installed by another software (to be precise, the library is an "ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, not stripped").
    After my generation, some executables that runned perfectly on my previous UNIX SCO platform, now crash when exiting.
    Moreover I find out that my master process correctly launches the execution of a slave process (I traced the values of the paramters passed to the execv() system call) but the slave process immediatly exits because it gets wrong parameters (I found out that in the main() function within the slave program, the argc parameter is 0 (!!) that sounds really really strange!!)
    Is there anyone able to help me?
    For your information, when I compile my objects I use the following options:
    cc -g -xc99=none -xtarget=ultra -xchar -c <source>
    and when I link them I use the following:
    /usr/ccs/bin/ld -z defs -z verbose -dy -B dynamic -o <processname> <object list> <shared library> -lm -lc
    Doing so, both the master and slave process are "ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, UltraSPARC1 Extensions Required, dynamically linked, not stripped"
    Thank you in advance!!
    Gianni

    Why do you want to make your own link lines?
    Use cc to link, not ld. You ask for trouble.
    I made the following program:
    int main(int argc, char **argv) { return argc;}
    % cc -c t.c
    Then used your link line to link it:
    % /usr/ccs/bin/ld -z defs -z verbose -dy -B dynamic -o a.out t.o -ln -lc
    % a.out
    Segmentation fault (core dumped)
    Use cc to link. Do not try to use ld. Or if you really, really think you have to use ld yourselves, run cc -### ... first to se what link line it uses, and try to make the variation you need yourselves. But all kind of options to ld can also be given to cc.

  • Solaris 9 32-bit application 256 descriptors

    Hi,
    There is a bug in Solaris, a 32-bit application running on 64-bit Solaris cannot open more than 256 descriptors. I read the article from Giri Mandalika http://developers.sun.com/solaris/articles/stdio_256.html. There is a solution for Solaris 10 described in that article. Is there any solution for Solaris 9? Was that solution backported to Solaris 9?
    Any hint is appreciated.
    Tomas

    Hello.
    This limitation is not a limitation of the Solaris operating system but of the libc library.
    A simple workaround could be:
    FILE *myfiles[1000];
    int i;
    // won't work if more than 256 files are open...
    for(i=0;i<1000;i++) myfiles=fopen(names[i],"w");
    for(i=0;i<1000;i++) fprintf(myfiles[i],"%u\n",i);
    Workaround - NOT TESTED:FILE *f;
    int myfiles[1000];
    int i;
    for(i=0;i<1000;i++) myfiles[i]=creat(names[i],0644);
    for(i=0;i<1000;i++)
    f=fdopen(dup(myfiles[i]),"w");
    fprintf(f,"%u\n",i);
    // fclose() will only close the handle duplicate returned by dup() !!
    fclose(f);
    -- EDIT --
    Tested on Solaris 9/Sparc:
    - You have to use "ulimit -n" to allow an application to use more than 256 file descriptors (maximum is 1024).
    - If more than 256 files are open "dup" and "dup2" will cause an SIGSEGV - obviously a bug in Solaris.
      Maybe you can use the following combination instead of using "fprintf":len=sprintf(buffer,...);
    write(file[i],buffer,len);
      I'm not sure if "write" etc. cause SIGSEGVs when more than 256 files are open.
    Martin                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • 64 Bit Applications Print to PDF but 32 Bit Applications do not

    Vista Home Premium x64. All updates installed. SP1 is installed.
    Acrobat 8.1.2 as a part of CS3.
    Printer Port is set to Documents/*.pdf
    Printing fails with Spool print docs or Print directly to Printer selected.
    All 64 Bit Applications work.
    All 32 Bit Applications fail while 'spooling' according to the Print
    Spooler. Printing documents cannot be paused or deleted.
    The acrotray.exe and the application from which you are printing must be
    killed by Task Manager. And a reboot is necessary to clear the print cue.
    The Microsoft Hotfix KB930627cannot be applied due to SP1 having released a
    newer version of GDI32.dll.
    All applications can successfully print to any other printer on the network.
    The Message "Adobe PDF creation cannot continue because Acrobat is not
    activated." This is not the case. Acrobat is activated.
    A repair installation has been done.
    Hopefully this is enough information for someone to advise me.
    I see many instances of users complaing since late last year. Is there a
    solution to this problem yet?
    Rikk

    This problem is now corrected with a simple setting change that is installed<br />incorrectly by default.<br /><br />Rikk<br /><br /><[email protected]> wrote in message <br />news:[email protected]..<br />> Vista Home Premium x64. All updates installed. SP1 is installed.<br />> Acrobat 8.1.2 as a part of CS3.<br />> Printer Port is set to Documents/*.pdf<br />> Printing fails with Spool print docs or Print directly to Printer <br />> selected.<br />><br />> All 64 Bit Applications work.<br />> All 32 Bit Applications fail while 'spooling' according to the Print<br />> Spooler.  Printing documents cannot be paused or deleted.<br />> The acrotray.exe and the application from which you are printing must be<br />> killed by Task Manager. And a reboot is necessary to clear the print cue.<br />><br />> The Microsoft Hotfix KB930627cannot be applied due to SP1 having released <br />> a<br />> newer version of GDI32.dll.<br />><br />> All applications can successfully print to any other printer on the <br />> network.<br />><br />> The Message "Adobe PDF creation cannot continue because Acrobat is not<br />> activated."  This is not the case. Acrobat is activated.<br />><br />> A repair installation has been done.<br />><br />> Hopefully this is enough information for someone to advise me.<br />><br />> I see many instances of users complaing since late last year. Is there a<br />> solution to this problem yet?<br />><br />> Rikk<br />>

  • Running a 32 bits application from a JDK 1.3.1

    Can any one tell me how we can run a 32 bit application from a JDK 1.3.1 on a Solaris and AIX platform

    You mean an executable? See java.lang.Runtime.exec(). (Presumably you have compiled the app for both OSes.)
    If you mean a java application then the 32 bit part doesn't matter.

Maybe you are looking for

  • Bios recovery - Computer will not boot up

    I have a HP Pavilion HPE H8-1145-SC, my bios will not boot. I was wondering if there are any ways of changing the jumper setting on the motherboard ( IPISB-CH2) to fix this issue if so how do I do it? or are there any other types of recoveries that I

  • Bleeding background shape will not export to PDF

    Hello everyone, I am working in InDesign v. 7.0.3 and when I set a rectangle to bleed on all sides it will not export to PDF (using Adobe Acrobat Pro, v. 9.4.2) . That being said, shapes and text within the page all show up. Does anyone have any sugg

  • Some data is missing while returning complex datatype from a web service

    Hi I am returning a complex data type from a web service. complex data type has a super class and some(not all) values from this super class are not being returned to the client. Strange part is that it giving some fields from super class and some va

  • Air 2 Native App/Sidecar Installation Error

    We have a Flex 3.5/Air 2 application that uses native processes. I exported my release build to MyApp.air and used ADT to create MyApp.exe. As a test, I am calling the following function when I click some text on the main UI to be sure I am able to u

  • Facebook Exporter NOT An Option Under Export

    Hi. Any ideas why this may not be working? I have downloaded the latest from Facebook. It has worked in the past (just did a clean install) and now I can't get it to show up. I also have the Picasa Uploader for Google, that works fine. Any ideas how