Re: problem resolving foreign function (I think)

Russ Tyndall <[email protected]> Thu, 12 Mar 2015 09:30:50 -0400
Newsgroups gmane.lisp.clsql.general
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============0915075946==
Content-Type: multipart/alternative;
	boundary="------------070709070105070404000404"

This is a multi-part message in MIME format.
--------------070709070105070404000404
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit

Sorry for the late reply.

The real problem is that the mysql backend works for me, and is the back 
end I use the least.  I also am not a foreign library guru. This 
combination of these leaves me unable to offer much real advice here.

I dont think this is a quicklisp problem, but I guess its possible. I 
think its standard for the 32bit build to fail on 64bit systems. 
Quicklisp pretty much just packages what is available, so if there is a 
bug in quicklisp, its probably a bug on our end.

I am looking into it, but so far don't have an answer for you,
Cheers,
Russ Tyndall
Acceleration.net


On 03/11/2015 11:40 PM, DJ wrote:
> I am having some trouble with the quicklisp version of clsql on my 
> system as mentioned in my previous post.
>
> If this is really something I should post on the quicklisp site, let 
> me know please.
>
> Details again:
>
> On 15-03-06 10:58 PM, DJ wrote:
>
>> I can connect to a mysql database, but when I do any query with 
>> (clsql:query...) I get:
>>
>>     Can't resolve foreign symbol "clsql_mysql_field_flags"
>>
>>
>> So, here is the setup. I am running:
>>
>> Linux Mint 17 64-bit
>> Clozure CL Version 1.10-r16196 64-bit
>
> The problem seems to be with the version of clsql_mysql64.so that gets 
> built for the quicklisp package. I have attached the output from make 
> to this post. I am not very expert at C development. I note that the 
> 32-bit library could not be built. The only other suspicious thing is 
> that ls reports some kind of problem:
>
>     ld: warning: cannot find entry symbol _start
>
> I don't know whether that is the problem.
>
> I have different problems if I install the cl-sql-mysql debian 
> package. But if I just download that package and use the shared 
> library (clsql_mysql64.so) from it, clsql works. It seems I also have 
> to suppress loading the local quicklisp shared library by commenting 
> out a line in mysql-loader.lisp that pushes that path.
>
> I tried something simple to see whether the shared library built by 
> for quicklisp would work. In ccl you can just do for example 
> (open-shared-library "blah") and then (external 
> "clsql_mysql_field_flags") to see whether the foreign function can be 
> located. When I load the library from the debian package, the clsql 
> functions resolve. But they don't  resolve if I use the library build 
> for quicklisp. There is something funny about that shared library, but 
> it is beyond my expertise to track down just what.
>
> Hoping for help; thanks.
>
> - DJ -
>
>
>
>
>
> _______________________________________________
> CLSQL mailing list
> [email protected]
> http://lists.b9.com/cgi-bin/mailman/listinfo/clsql


--------------070709070105070404000404
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by boa.b9.com id t2CDUsNJ002884

<html>
  <head>
    <meta content=3D"text/html; charset=3Dwindows-1252"
      http-equiv=3D"Content-Type">
  </head>
  <body bgcolor=3D"#FFFFFF" text=3D"#000000">
    Sorry for the late reply.<br>
    <br>
    The real problem is that the mysql backend works for me, and is the
    back end I use the least.=A0 I also am not a foreign library guru.=A0
    This combination of these leaves me unable to offer much real advice
    here.<br>
    <br>
    I dont think this is a quicklisp problem, but I guess its possible.=A0
    I think its standard for the 32bit build to fail on 64bit systems.=A0
    Quicklisp pretty much just packages what is available, so if there
    is a bug in quicklisp, its probably a bug on our end.<br>
    <br>
    I am looking into it, but so far don't have an answer for you,<br>
    Cheers,<br>
    Russ Tyndall<br>
    Acceleration.net<br>
    <br>
    <br>
    <div class=3D"moz-cite-prefix">On 03/11/2015 11:40 PM, DJ wrote:<br>
    </div>
    <blockquote cite=3D"mid:[email protected]" type=3D"cite">
      <meta content=3D"text/html; charset=3Dwindows-1252"
        http-equiv=3D"Content-Type">
      I am having some trouble with the quicklisp version of clsql on my
      system as mentioned in my previous post.<br>
      <br>
      If this is really something I should post on the quicklisp site,
      let me know please.<br>
      <br>
      Details again:<br>
      <br>
      <div class=3D"moz-cite-prefix">On 15-03-06 10:58 PM, DJ wrote:<br>
      </div>
      <br>
      <blockquote cite=3D"mid:[email protected]" type=3D"cite"> I =
can
        connect to a mysql database, but when I do any query with
        (clsql:query...) I get:<br>
        <br>
        <blockquote>Can't resolve foreign symbol
          "clsql_mysql_field_flags"<br>
        </blockquote>
        <br>
        So, here is the setup. I am running:<br>
        <br>
        Linux Mint 17 64-bit<br>
        Clozure CL Version 1.10-r16196 64-bit<br>
      </blockquote>
      <br>
      The problem seems to be with the version of clsql_mysql64.so that
      gets built for the quicklisp package. I have attached the output
      from make to this post. I am not very expert at C development. I
      note that the 32-bit library could not be built. The only other
      suspicious thing is that ls reports some kind of problem:<br>
      <br>
      <blockquote>ld: warning: cannot find entry symbol _start<br>
      </blockquote>
      I don't know whether that is the problem.<br>
      <br>
      I have different problems if I install the cl-sql-mysql debian
      package. But if I just download that package and use the shared
      library (clsql_mysql64.so) from it, clsql works. It seems I also
      have to suppress loading the local quicklisp shared library by
      commenting out a line in mysql-loader.lisp that pushes that path.<b=
r>
      <br>
      I tried something simple to see whether the shared library built
      by for quicklisp would work. In ccl you can just do for example
      (open-shared-library "blah") and then (external
      "clsql_mysql_field_flags") to see whether the foreign function can
      be located. When I load the library from the debian package, the
      clsql functions resolve. But they don't=A0 resolve if I use the
      library build for quicklisp. There is something funny about that
      shared library, but it is beyond my expertise to track down just
      what.<br>
      <br>
      Hoping for help; thanks.<br>
      <br>
      - DJ -<br>
      <br>
      <br>
      <br>
      <br>
      <fieldset class=3D"mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap=3D"">_______________________________________________
CLSQL mailing list
<a class=3D"moz-txt-link-abbreviated" href=3D"mailto:[email protected]">CLSQL@=
b9.com</a>
<a class=3D"moz-txt-link-freetext" href=3D"http://lists.b9.com/cgi-bin/ma=
ilman/listinfo/clsql">http://lists.b9.com/cgi-bin/mailman/listinfo/clsql<=
/a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------070709070105070404000404--

--===============0915075946==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

_______________________________________________
CLSQL mailing list
[email protected]
http://lists.b9.com/cgi-bin/mailman/listinfo/clsql

--===============0915075946==--