[developers] Compiling FFTB on Ubuntu 19.10
Alexandre Rademaker
arademaker at gmail.com
Mon Mar 30 21:46:27 CEST 2020
Hi Woodley,
I had to reinstall my machine and now I am trying to recompile all the tools. I gave up for compiling them for MacOS. That would be great for me, but in the MacOS I haven’t passed from the first step below. So I am compiling everything in a docker running Ubuntu 19.10.
My goal is to have FFTB running again, I can't use the acetools binaries you provided because it seems that http://sweaglesw.org/svn/treebank/trunk/web.c still don’t have the changed you made during a conversation in Cambridge:
Line 1290:
addr.sin_addr.s_addr = 0; // inet_addr("127.0.0.1”);
Without that change, running FFTB inside the docker is not easy. We need a proxy server for redirecting the ports (as documented in http://moin.delph-in.net/FftbTop#FFTB_on_remote_machine), but with that change, we don’t need to proxy and can use the docker native way to redirect internal to external ports.
I have tried to follow the steps that worked for me last time:
1. install liba
2. install repp-0.2.2
3. install libace
4. Install libtsdb
I have success for 1-3, but in step 4 I got an error. The error was caused by
/usr/bin/ld: cannot find -ltsdb
This is a little bit strange because it seems that during the compilation of libtsdb it is looking for this same library… am I right?
The complete trace is below. I didn’t see this error before. Can you help me? I am blocked by this error...
$ make
cc -fPIC -shared -g -O2 -c -o tsdb.o tsdb.c
tsdb.c: In function ‘tsdb_free_profile’:
tsdb.c:47:5: warning: implicit declaration of function ‘hash_free_nokeys’ [-Wimplicit-function-declaration]
47 | hash_free_nokeys(r->fields[j].hash);
| ^~~~~~~~~~~~~~~~
tsdb.c: In function ‘tsdb_write_relation’:
tsdb.c:258:2: warning: implicit declaration of function ‘unlink’ [-Wimplicit-function-declaration]
258 | unlink(fname_bk);
| ^~~~~~
cc -fPIC -shared -g -O2 -c -o relations.o relations.c
gcc -fPIC -shared -g -O2 -fvisibility=hidden -c hash.c -o hash.o
gcc -fPIC -shared -g -O2 tsdb.o relations.o hash.o -shared -o libtsdb.so
rm -f libtsdb.a
ar cru libtsdb.a tsdb.o relations.o
ar: `u' modifier ignored since `D' is the default (see `U')
gcc -g -O2 -L. test.c -ltsdb -o test -Wl,-rpath -Wl,`pwd` -lace -ldl -la
test.c:74:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
74 | print_tree_with_edge_id(struct tree *t, int indent, int *edgemap)
| ^~~~~~~~~~~~~~~~~~~~~~~
test.c:122:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
122 | record_eq_edges(int x_eid, int y_eid)
| ^~~~~~~~~~~~~~~
test.c: In function ‘report_missing_edges’:
test.c:165:3: warning: implicit declaration of function ‘print_tree’; did you mean ‘print_mrs’? [-Wimplicit-function-declaration]
165 | print_tree(t, 2);
| ^~~~~~~~~~
| print_mrs
test.c: At top level:
test.c:174:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
174 | fidget(struct tree *t)
| ^~~~~~
test.c:190:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
190 | compare_tree_lists(char *iid, struct result *rx, int nx, struct result *ry, int ny, int detail, char *errx, char *erry)
| ^~~~~~~~~~~~~~~~~~
test.c: In function ‘compare_tree_lists’:
test.c:277:2: warning: implicit declaration of function ‘hash_free’; did you mean ‘hash_find’? [-Wimplicit-function-declaration]
277 | hash_free(hx);
| ^~~~~~~~~
| hash_find
test.c: In function ‘tree_to_mrs’:
test.c:381:2: warning: implicit declaration of function ‘clear_mrs’; did you mean ‘read_mrs’? [-Wimplicit-function-declaration]
381 | clear_mrs();
| ^~~~~~~~~
| read_mrs
test.c: At top level:
test.c:421:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
421 | compare_surface_lists(char *iid, char *i_input, struct result *rx, int nx, struct result *ry, int ny, struct tree *gold_tree, struct mrs *gold_mrs, int detail)
| ^~~~~~~~~~~~~~~~~~~~~
test.c:507:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
507 | usage(char *prog)
| ^~~~~
test.c:585:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
585 | main(int argc, char *argv[])
| ^~~~
test.c: In function ‘main’:
test.c:599:2: warning: implicit declaration of function ‘ace_load_grammar’ [-Wimplicit-function-declaration]
599 | ace_load_grammar("/home/sweaglesw/cdev/ace-regression/comparison.dat");
| ^~~~~~~~~~~~~~~~
gcc -g -O2 art.c -lace -ltsdb -lrepp -la -o art -lutil
art.c:65:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
65 | usage(char *myname, int status)
| ^~~~~
art.c:87:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
87 | main(int argc, char *argv[])
| ^~~~
art.c: In function ‘main’:
art.c:156:13: warning: implicit declaration of function ‘forkpty’; did you mean ‘fork’? [-Wimplicit-function-declaration]
156 | pid_t p = forkpty(&arbiter_fd, NULL, NULL, NULL);
| ^~~~~~~
| fork
art.c:301:16: warning: implicit declaration of function ‘read_result’; did you mean ‘record_result’? [-Wimplicit-function-declaration]
301 | int status = read_result(parse_id, run_id, i_id, i_input);
| ^~~~~~~~~~~
| record_result
art.c: At top level:
art.c:560:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
560 | write_tuple(FILE *f, char **tuple, struct relation *r)
| ^~~~~~~~~~~
/usr/bin/ld: cannot find -ltsdb
collect2: error: ld returned 1 exit status
make: *** [Makefile:51: art] Error 1
Best,
Alexandre
More information about the developers
mailing list