<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p style="margin-top: 0px; margin-bottom: 0px;">Currently the .so is in the same directory as the application, and the main application is marked as x86.<br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">running: MONO_LOG_LEVEL=debug ../MONO312/bin/mono SimuladorPDV.exe </p>
<p style="margin-top: 0px; margin-bottom: 0px;">I got:<br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">Mono: DllImport error loading library '/home/mueller/simulador/libnfcepack_agente.so': '/home/mueller/simulador/libnfcepack_agente.so:
<strong>wrong ELF class: ELFCLASS32'.</strong><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">I'm also able to run others x86 applications on this mono installation, but those app's doesn't [DllImport] and p/invoke other's .so</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">Can you confirm that mono is should work with this setup?</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">mueller@UbuntuServer:~/simulador$
<strong>uname -a</strong><br>
Linux UbuntuServer 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 <strong>
x86_64</strong> x86_64 x86_64 GNU/Linux</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
mueller@UbuntuServer:~/simulador$ <strong>../MONO312/bin/mono -V</strong><br>
Mono JIT compiler version 3.12.0 (tarball Wed Feb 18 09:23:22 BRST 2015)<br>
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com<br>
        TLS:           __thread<br>
        SIGSEGV:       altstack<br>
        Notifications: epoll<br>
        Architecture:  amd64<br>
        Disabled:      none<br>
        Misc:          softdebug<br>
        LLVM:          supported, not enabled.<br>
        GC:            sgen</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">mueller@UbuntuServer:~/simulador$
<strong>file libnfcepack_agente.so</strong><br>
libnfcepack_agente.so:<strong> ELF 32-bit LSB</strong>  shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=3c38c599de292a04755697ee18756cd79fb769aa, not stripped</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">mueller@UbuntuServer:~/simulador$
<strong>file SimuladorPDV.exe</strong><br>
SimuladorPDV.exe: <strong>PE32 executable</strong> (console) Intel 80386 Mono/.Net assembly, for MS Windows</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">mueller@UbuntuServer:~/simulador$
<strong>MONO_LOG_LEVEL=debug  ../MONO312/bin/mono SimuladorPDV.exe</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><skip><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;">Mono: DllImport error loading library '/home/mueller/simulador/libnfcepack_agente.so': '/home/mueller/simulador/libnfcepack_agente.so:
<strong>wrong ELF class: ELFCLASS32'.</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><br>
</p>
<div id="Signature"><style type="text/css" style="display:none"> <!-- p    {margin-top:0;  margin-bottom:0} --> </style></div>
<div style="color: rgb(33, 33, 33);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" color="#000000" face="Calibri, sans-serif"><b>From:</b> Rafael Teixeira <monoman@gmail.com><br>
<b>Sent:</b> Wednesday, February 18, 2015 8:18 AM<br>
<b>To:</b> Rafael Mueller - Inventti; Miguel de Icaza<br>
<b>Cc:</b> mono-devel-list@lists.ximian.com<br>
<b>Subject:</b> Re: [Mono-dev] Error building mono on x86</font>
<div> </div>
</div>
<div>
<p dir="ltr">AFAIR your x64 mono will jit to 32 bits your x86 marked DLL if the main application is also marked as x86 , and then it will p/invoke properly your 32 bit .so, although in Linux where to place .so files is a bit more complex.
</p>
<br>
<div class="gmail_quote">On Wed, Feb 18, 2015, 07:16 Rafael Mueller - Inventti <<a href="mailto:rafael@inventti.com.br">rafael@inventti.com.br</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">
<div style="font-size:12pt; color:#000000; background-color:#ffffff; font-family:Calibri,Arial,Helvetica,sans-serif">
<p style="margin-top:0px; margin-bottom:0px">Hi,</p>
<p style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p style="margin-top:0px; margin-bottom:0px">I forgot to say, but I'm trying to build it as x86 on a x64 machine - the compilation as x64 worked (without the --host)<br>
</p>
<p style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p style="margin-top:0px; margin-bottom:0px">Compilation on a x86 box also worked.</p>
<p style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p style="margin-top:0px; margin-bottom:0px">This problem happens when I compile as x86 on a x64 box.<br>
</p>
<p style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p style="margin-top:0px; margin-bottom:0px">Thanks,</p>
<p style="margin-top:0px; margin-bottom:0px">Rafael<br>
</p>
<p style="margin-top:0px; margin-bottom:0px"><br>
</p>
<div></div>
<div style="color:rgb(33,33,33)">
<hr style="display:inline-block; width:98%">
<div dir="ltr"><font style="font-size:11pt" color="#000000" face="Calibri, sans-serif"><b>From:</b> Miguel de Icaza <<a href="mailto:miguel@xamarin.com" target="_blank">miguel@xamarin.com</a>><br>
<b>Sent:</b> Wednesday, February 18, 2015 12:21 AM<br>
<b>To:</b> Rafael Mueller - Inventti<br>
<b>Cc:</b> <a href="mailto:mono-devel-list@lists.ximian.com" target="_blank">mono-devel-list@lists.ximian.com</a><br>
<b>Subject:</b> Re: [Mono-dev] Error building mono on x86</font>
<div> </div>
</div>
</div>
</div>
</div>
<div dir="ltr">
<div style="font-size:12pt; color:#000000; background-color:#ffffff; font-family:Calibri,Arial,Helvetica,sans-serif">
<div style="color:rgb(33,33,33)">
<div>
<div dir="ltr">Hello,
<div><br>
</div>
<div>I am not sure why you are passing a --host command line option.   Configure should be able to figure this out on its own.</div>
<div><br>
</div>
<div>Miguel</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Feb 17, 2015 at 6:29 PM, Rafael Mueller - Inventti
<span dir="ltr"><<a href="mailto:rafael@inventti.com.br" target="_blank">rafael@inventti.com.br</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">
<div style="font-size:12pt; color:#000000; background-color:#ffffff; font-family:Calibri,Arial,Helvetica,sans-serif">
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">Hi there,</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">My (c#) application (compiled on windows, as x86) needs to load a 32 bits library (.so), so I must compile mono as x86, right?</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">I've downloaded the 3.12 source and configured it with
</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">./configure --host=i386-pc-linux-gnu </p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">But it always fails to compile:</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">In file included from mono-context.c:8:0:<br>
mono-context.c: In function ‘mono_sigctx_to_monoctx’:<br>
../../mono/utils/mono-sigcontext.h:144:74: error: ‘REG_EAX’ undeclared (first use in this function)<br>
  #define UCONTEXT_REG_EAX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.gregs [REG_EAX])</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">I've tried to add AC_GNU_SOURCE on
<a href="http://configure.ac" target="_blank">configure.ac</a> and also compiling with CFLAGS="$CFLAGS -D_GNU_SOURCE" but I still can't compile it.</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">I'm doing anything wrong? Any other advice to compile it on x86?</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">I've also tried with mono 3.2.3 and 3.6, without success.<br>
</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px"><br>
</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px">Kind regards,</p>
<p class="MsoNormal" style="margin-top:0px; margin-bottom:0px"><span>Rafael</span><br>
</p>
</div>
</div>
<br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
______________________________<u></u>_________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.<u></u>com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/<u></u>mailman/listinfo/mono-devel-<u></u>list</a><br>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>