[developers] ACE on Ubuntu on Windows

Michael Wayne Goodman goodmami at u.washington.edu
Wed Nov 16 19:56:23 CET 2016


Here's the notes I took when I compiled ACE. I don't know if any of these
steps address the problem you're facing.

    sudo apt install libboost-regex-dev
    sudo apt install libpvm3
    wget http://sweaglesw.com/linguistics/repp-0.2.2.tar.gz
    tar xf repp-0.2.2.tar.gz
    cd repp-0.2.2/
    ./configure && make all
    sudo make install
    cd
    mkdir itsdb_libraries
    cd itsdb_libraries
    wget http://lingo.delph-in.net/latest/itsdb_libraries.tgz
    tar xf itsdb_libraries.tgz
    sudo cp include/* /usr/local/include/
    sudo cp lib/linux.x86.64/* /usr/local/lib/  # maybe change if arch is
diff
    cd
    svn co http://sweaglesw.org/svn/ace/trunk/ ace
    cd ace/
    make all  # see note below
    sudo make install

Also, the last time I compiled, I had to do an additional step because
there was some problem statically compiling libutil on my system. Change
the following line in Makefile in the ace/ directory before running `make
all`.

POST_LIBS=-Wl,-Bstatic -lutil -Wl,-Bdynamic

to this:

POST_LIBS=-Wl,-Bdynamic -lutil

One more possible problem is that ACE calls the mmap() function with a flag
that Windows doesn't (or didn't) support (e.g. MAP_SHARED or MAP_FIXED or
something). This was one blocking reason ACE couldn't be compiled directly
on a Windows machine. I don't know if it's still the case, or if it applies
under the WSL (Windows Subsystem for Linux).

On Wed, Nov 16, 2016 at 10:26 AM Joshua Crowgey <jcrowgey at u.washington.edu>
wrote:

As it turns out, that same include dir where I found itsdb.h for you
also has pvm3.h.  So, I've attached it here.  However, the fact that ld
can't find itsdb means that you need to tell gcc where to find it, maybe
it's -L /path/to/include/with/these/dot/h/files, as an arg to gcc.

I suppose the C ppl on this list will be able to provide more insightful
comments.  Good luck!

--Joshua

On 11/16/2016 10:07 AM, Guy Emerson wrote:
> If I leave the two itsdb lines of the makefile commented out, it still
> throws an error saying capi_printf is undefined (itsdb.o, in function
> "captured_capi_printf", itsdb.c line 20).
>
> If I uncomment those two lines, it says:
>
> /usr/bin/ld: cannot find -litsdb
> /usr/bin/ld: cannot find -lpvm3
>
>
> (And I don't want to install the entire Logon tree just to build ACE.)
>
>
> 2016-11-16 17:31 GMT+00:00 Joshua Crowgey <jcrowgey at u.washington.edu
> <mailto:jcrowgey at u.washington.edu>>:
>
>     Hi Guy,
>
>     Re building ACE, I have itsdb.h in logon/lingo/lkb/include/, but I've
>     attached it here.  Maybe you just need to tell your compiler where to
>     find it.  I think it's gcc -L (or -l, I can't recall).
>
>     Hope this helps!
>
>     --Joshua
>
>     On 11/16/2016 08:47 AM, Guy Emerson wrote:
>     > I used the precompiled binary and grammar - I didn't realise that
>     > librepp was only for compiling from source.
>     >
>     > Running gdb, I get:
>     >
>     > Program received signal SIGSEGV, Segmentation fault.
>     > 0x00007fffdec22300 in ?? ()
>     > (gdb) backtrace
>     > #0  0x00007fffdec22300 in ?? ()
>     > #1  0x000000000046290a in visit_lexicon (stem=<optimized out>,
>     > visitor=0x7fffdec22300) at lexicon.c:137
>     > #2  0x00000000004845fc in lexical_lookup (tc=0x7f27168d0000) at
>     morpho.c:283
>     > #3  0x00000000004df9b1 in lexical_lookup_into_chart
>     > (token_chart=0x7f27168d0000) at lexical-parse.c:64
>     > #4  0x00000000004c0ff8 in parse_with_token_chart
>     > (token_chart=0x7f27168d0000, start=46875) at parse.c:481
>     > #5  0x00000000004c37e1 in parse_line1 (line=0x7fffdec22540 "Hello")
at
>     > parse.c:743
>     > #6  0x00000000004c3936 in parse_line (line=0x6005692cfc ",-i\005`")
at
>     > parse.c:768
>     > #7  0x0000000000516677 in main_input_loop (fin=0x7f271708f640
>     > <_IO_2_1_stdin_>) at main.c:443
>     > #8  0x0000000000517561 in main (argc=4, argv=0x7fffdec276c8) at
>     main.c:653
>     >
>     >
>     > If I try to compile the ERG image (using the precompiled binary),
>     I also
>     > get a seg fault:
>     >
>     > Program received signal SIGSEGV, Segmentation fault.
>     > 0x00007fffcea82cd8 in ?? ()
>     > (gdb) backtrace
>     > #0  0x00007fffcea82cd8 in ?? ()
>     > #1  0x00000000004ccfbe in iterate_conf_list (key=<optimized out>,
>     > callback=0x7fffcea82cd8) at conf.c:534
>     > #2  0x00000000004ce9aa in load_preprocessor () at preprocessor.c:58
>     > #3  0x0000000000472772 in load_grammar (path=0x7fffcea831fc
>     > "/home/Guy/delphin/erg/trunk/ace/config.tdl") at tdl.c:1660
>     > #4  0x0000000000515dbe in initialize_engine () at main.c:523
>     > #5  0x000000000051735d in main (argc=6, argv=0x7fffcea82fb8) at
>     main.c:620
>     >
>     >
>     > If I try to compile ACE from source, without any changes, there is
an
>     > error that itsdb.h is not found.
>     >
>     > If I try to compile ACE after commenting out the two lines in the
>     > Makefile for itsdb, there is an error that capi_printf is not
>     defined in
>     > itsdb.o.
>     >
>     > If I also remove itsdb.o from the Makefile, many things are
undefined.
>     >
>     >
>     >
>     > As I'm not a C developer, I have very little sense about how easy
this
>     > would be to debug or to fix...  I'm quite happy to be told this is
not
>     > worth the effort!
>     >
>     >
>     >
>     > 2016-11-15 17:12 GMT+00:00 Woodley Packard
>     <sweaglesw at sweaglesw.org <mailto:sweaglesw at sweaglesw.org>
>     > <mailto:sweaglesw at sweaglesw.org <mailto:sweaglesw at sweaglesw.org>>>:
>     >
>     >     Out of curiousity, Guy, were you able to use the precompiled
binary
>     >     for ACE or did you have to compile your own?  I wouldn’t have
>     >     thought you would need to install the librepp and boost
dependencies
>     >     if using the binaries.  It looks like you are using the
precompiled
>     >     ERG image though.  You could be getting a crash if you are
using a
>     >     stock 0.9.24 grammar image with SVN trunk ACE source code.  On
the
>     >     off chance that you are doing that, please try compiling the ERG
>     >     image with the same ACE binary you are using.  It *might* be
helpful
>     >     to recompile the ERG image anyway.
>     >
>     >     Regards,
>     >     -Woodley
>     >
>     >     > On Nov 15, 2016, at 6:33 AM, Guy Emerson <gete2 at cam.ac.uk
>     <mailto:gete2 at cam.ac.uk> <mailto:gete2 at cam.ac.uk
>     <mailto:gete2 at cam.ac.uk>>> wrote:
>     >     >
>     >     > I am trying to run ACE on Windows 10's new Linux Subsystem.
>     I can
>     >     run ACE with the ERG, but whatever input I give, I get the
message
>     >     "ERROR: DEADLY SIGNAL!"
>     >     >
>     >     > It looks like it finishes the token mapping, and fails when
>     >     applying a syntactic rule.  Verbose output is below.
>     >     >
>     >     > I've already installed repp-0.2.2 (which required me to also
>     >     install libboost), and I've set the TMPDIR environment
>     variable, as
>     >     suggested on the ACE homepage.
>     >     >
>     >     > Any ideas on what else I would need to do?  Could there be
other
>     >     dependencies I need to install?
>     >     >
>     >     > Best,
>     >     > Guy
>     >     >
>     >     >
>     >     >
>     >     > ./ace -g erg-1214-x86-64-0.9.24.dat -1Tf -vvv
>     >     > NOTE: loading frozen grammar ERG (1214)
>     >     > NOTE: semantic index hash contains 28857 entries in 65536
slots
>     >     > NOTE: max-ent model hash contains 659414 entries in 1048576
>     slots
>     >     > NOTE: 9280 types, 38259 lexemes, 293 rules, 47 orules, 101
>     >     instances, 48101 strings, 216 features
>     >     > permanent RAM: 4k
>     >     >
>     >     > Hello
>     >     > Hello/UH
>     >     > token #12 le 0x7f07295d7fcc vtx [0-1] char [0-5] string
'hello'
>     >     dag #D[token +FORM: #D["hello"] +FROM: <1>= #D["0"] +TO: #D["5"]
>     >     +ID: #D[*diff-list* LIST: #D[*list*] LAST: #D[*list*] ] +TNT:
>     >     #D[null_tnt +TAGS: #D[*null*] +PRBS: #D[*null*] +MAIN:
#D[tnt_main
>     >     +TAG: #D["UH"] +PRB: #D["1.0"] ] ] +CLASS: #D[alphabetic
+INITIAL:
>     >     #D[+] +CASE: #D[capitalized+lower] ] +TRAIT: #D[token_trait +UW:
>     >     #D[-] +IT: #D[italics] +LB: #D[bracket_null] +RB:
#D[bracket_null]
>     >     +HD: #D[token_head +LL: #D[ctype -CTYPE-: #D[string] ] +TG:
>     >     #D[string] +TI: <1> ] ] +PRED: #D[predsort] +CARG: #D["Hello"]
>     >     +TICK: #D[bool] ]
>     >     > token #13 le 0x7f07295d87e0 vtx [0-1] char [0-5] string
'hello'
>     >     dag #D[token +FORM: #D["hello"] +FROM: <1>= #D["0"] +TO: #D["5"]
>     >     +ID: #D[*diff-list* LIST: #D[*list*] LAST: #D[*list*] ] +TNT:
>     >     #D[null_tnt +TAGS: #D[*null*] +PRBS: #D[*null*] +MAIN:
#D[tnt_main
>     >     +TAG: #D[string] +PRB: #D[string] ] ] +CLASS: #D[bridge_class]
>     >     +TRAIT: #D[token_trait +UW: #D[+] +IT: #D[italics] +LB:
>     >     #D[bracket_null] +RB: #D[bracket_null] +HD: #D[token_head +LL:
>     >     #D[ctype -CTYPE-: #D[string] ] +TG: #D[string] +TI: <1> ] ]
+PRED:
>     >     #D["_hello_u_bridge_rel"] +CARG: #D["Hello"] +TICK: #D[bool] ]
>     >     > finished token mapping
>     >     > hello -> hello [2 ways]
>     >     >
>     >     >          non_third_sg_fin_v_rbst
>     >     > hello -> hello [2 ways]
>     >     >
>     >     >          non_third_sg_fin_v_rbst
>     >     > ERROR: DEADLY SIGNAL! sent = `Hello'
>     >
>     >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.delph-in.net/archives/developers/attachments/20161116/06cde333/attachment-0001.html>


More information about the developers mailing list