Re: problem resolving foreign function (I think)

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

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

I played with my development environment and tried loading with only 
quicklisp libraries.  On the latest quicklisp (clsql-20150302), I can 
load :clsql-mysql by simply quickloading it on my Ubuntu 14.04. It takes 
care of all the building / loading aspects correctly. There were some 
problems with load flags in previous versions that have been fixed 
(somewhat) recently.

Perhaps you are not running the latest release? `(ql:update-all-dists)`

Just a shot in the dark, but I dont have much else in the way of help on 
this.

Cheers,
Russ Tyndall
Acceleration.net


On 03/12/2015 09:30 AM, Russ Tyndall wrote:
> 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
>
>
>
> _______________________________________________
> CLSQL mailing list
> [email protected]
> http://lists.b9.com/cgi-bin/mailman/listinfo/clsql


--------------050801090503090500060406
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 t2CELMV7029123

<html>
  <head>
    <meta content=3D"text/html; charset=3Dwindows-1252"
      http-equiv=3D"Content-Type">
  </head>
  <body bgcolor=3D"#FFFFFF" text=3D"#000000">
    I played with my development environment and tried loading with only
    quicklisp libraries.=A0 On the latest quicklisp (clsql-20150302), I
    can load :clsql-mysql by simply quickloading it on my Ubuntu 14.04.=A0
    It takes care of all the building / loading aspects correctly.=A0
    There were some problems with load flags in previous versions that
    have been fixed (somewhat) recently.=A0 <br>
    <br>
    Perhaps you are not running the latest release?
    `(ql:update-all-dists)`<br>
    <br>
    Just a shot in the dark, but I dont have much else in the way of
    help on this.<br>
    <br>
    Cheers,<br>
    Russ Tyndall<br>
    Acceleration.net<br>
    <br>
    <br>
    <div class=3D"moz-cite-prefix">On 03/12/2015 09:30 AM, Russ Tyndall
      wrote:<br>
    </div>
    <blockquote cite=3D"mid:[email protected]" type=3D"ci=
te">
      <meta content=3D"text/html; charset=3Dwindows-1252"
        http-equiv=3D"Content-Type">
      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.<br>
        <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 moz-do-not-send=3D"true" class=3D"moz-txt-link-abbreviated" href=3D"ma=
ilto:[email protected]">[email protected]</a>
<a moz-do-not-send=3D"true" class=3D"moz-txt-link-freetext" href=3D"http:=
//lists.b9.com/cgi-bin/mailman/listinfo/clsql">http://lists.b9.com/cgi-bi=
n/mailman/listinfo/clsql</a>
</pre>
      </blockquote>
      <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>

--------------050801090503090500060406--

--===============1016860995==
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

--===============1016860995==--