Hi,

I’m afraid that “ldd” command won’t give anything useful. On Ubuntu 16.04 
(x86_64), ldd gives the following outputs on “libpolyml.so” (the pointer 
addresses are different in different machine):

$ ldd /usr/lib/x86_64-linux-gnu/libpolyml.so
        linux-vdso.so.1 =>  (0x00007ffcbdbf1000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x00007fb1e9de1000)
        libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 
(0x00007fb1e9bd9000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb1e99d4000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 
(0x00007fb1e9652000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb1e9349000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb1e8f7f000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 
(0x00007fb1e8d69000)
        /lib64/ld-linux-x86-64.so.2 (0x000055b8df86b000)

Whenever paths like "/usr/lib/x86_64-linux-gnu” are part of the outputs, we can 
safely expect that, Ubuntu's “polyml" package will also install “libpolyml.so” 
and “libpolymain.a”  into "/usr/lib/x86_64-linux-gnu”.  But none of linked 
libraries are part of PolyML itself, so if user build PolyML manually and 
install it at somewhere, “ldd” on user-installed "libpolyml.so” will output 
exactly the same, but this time “libpolymain.a” is not in 
"/usr/lib/x86_64-linux-gnu” at all.

Maybe we should ask this question instead: why HOL has to know the exact 
position of “libpolymain.a”? I ask this because the path of “.a” files are 
known by GCC (and “polyc”) automatically, and for ML programmars who use PolyML 
to build their programs, there’s no need to specify the full path of 
“libpolymain.a” at all…

Regards,

Chun

> Il giorno 02 mag 2017, alle ore 21:18, michael.norr...@data61.csiro.au ha 
> scritto:
> 
> I’d certainly be happy to adjust smart-configure to be smarter.  (I’d be even 
> happier to approve a pull request.)
> 
> I don’t understand the suggestion about using ldd on libpolyml.so.  Do you 
> mean to use it on the poly executable itself? (If I knew where libpolyml.so 
> was, I’d take that to be the lib directory.)
> 
> Next question: on MacOS, there isn’t an ldd, but the supposedly equivalent 
> otool -L command doesn’t actually spit back anything useful when run on my 
> poly executable, viz:
> 
> $ otool -L `which poly`
> /usr/local/bin/poly:
>       /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 
> 120.1.0)
>       /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
> version 1226.10.1)
> 
> Does ldd say more useful things on the Linux systems where this appears to be 
> an issue?
> 
> Having said all this, it’s also possible that using polyc everywhere makes it 
> unnecessary for HOL itself to know anything about this directory.  I’ll have 
> to check this.
> 
> Michael
> 
> On 2/5/17, 20:01, "Ian Zimmerman" <i...@primate.net> wrote:
> 
>    On 2017-05-02 18:31, Chun Tian (binghe) wrote:
> 
>> $ poly < tools/smart-configure.sml
>> Poly/ML 5.6 Release
>> 
>> HOL smart configuration.
>> 
>> Determining configuration parameters: holdir OS poly polymllibdir
>> 
>> Looked in poly's sister lib directory /usr/lib
>> and couldn't find libpolymain.a
>> Please write file tools-poly/poly-includes.ML to specify it.
>> This file should include a line of the form
>> 
>>  val polymllibdir = "path-to-dir-containing-libpolymain.a";
> 
>    Oh, now I see:
> 
>     [1+0]~$ ls -l /usr
>    total 228
>    drwxr-xr-x   3 root  root 81920 May  1 19:12 bin
>    drwxr-xr-x   3 games root  4096 Jun 23  2016 games
>    drwxr-xr-x 219 root  root 20480 May  1 10:52 include
>    lrwxrwxrwx   1 root  root     5 Jun 15  2016 lib -> lib64
>    drwxr-xr-x   5 root  root  4096 Feb 11 23:11 lib32
>    drwxr-xr-x 109 root  root 86016 May  1 10:48 lib64
>    drwxr-xr-x  11 root  root  4096 Apr 25 16:02 libexec
>    drwxr-xr-x   7 root  root  4096 Mar 15 21:41 local
>    drwxr-xr-x   3 root  root  4096 Jun 23  2016 man
>    lrwxrwxrwx   1 root  root    22 Oct 26  2016 portage -> 
> /var/lib/portage/ports
>    drwxr-xr-x   2 root  root  4096 Apr 25 14:52 sbin
>    drwxr-xr-x 175 root  root  4096 May  1 10:52 share
>    drwxr-xr-x   5 root  root  4096 Apr 30 17:36 src
>    lrwxrwxrwx   1 root  root     8 Jun 15  2016 tmp -> /var/tmp
>    drwxr-xr-x   6 root  root  4096 Jun 15  2016 x86_64-pc-linux-gnu
> 
>    So, you were mostly right, HOL install does incorrectly assume /usr/lib
>    (after finding poly in /usr/bin).
> 
>    Maybe smart-configure ought to first resolve libpolyml.so with ldd or so
>    and look for libpolymain.a in that directory, rather than playing
>    not-so-smart string substitution games.
> 
>    --
>    Please *no* private Cc: on mailing lists and newsgroups
>    Personal signed mail: please _encrypt_ and sign
>    Don't clear-text sign:
>    http://primate.net/~itz/blog/the-problem-with-gpg-signatures.html
> 
>    
> ------------------------------------------------------------------------------
>    Check out the vibrant tech community on one of the world's most
>    engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>    _______________________________________________
>    hol-info mailing list
>    hol-info@lists.sourceforge.net
>    https://lists.sourceforge.net/lists/listinfo/hol-info
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> hol-info mailing list
> hol-info@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/hol-info

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to