yavuzkoroglu / gwplus

Gwplus: GraphWalker Plus
MIT License
0 stars 1 forks source link

Undefined references when building project #1

Closed KristianKarl closed 8 months ago

KristianKarl commented 8 months ago

Hi!

I have some problems when building the project. It looks to my as if the linker does not find the functions in padkit/lib/libpadkit.a. When I check, the static lib is built and exists:

%> file padkit/lib/libpadkit.a
padkit/lib/libpadkit.a: current ar archive

%> ls -l padkit/lib/libpadkit.a
-rw-rw-r-- 1 krikar krikar 130164 mar  5 09:40 padkit/lib/libpadkit.a

This is what I did:

  1. I forked the project
  2. Cloned it locally in my linux/ubuntu machine
  3. Then cleaned and built the project:
    %> clear && make clean && make -e MODE=release
    rm -rf obj bin padkit *.gcno *.gcda *.gcov html latex
    git clone https://github.com/yavuzkoroglu/padkit.git
    Cloning into 'padkit'...
    remote: Enumerating objects: 522, done.
    remote: Counting objects: 100% (240/240), done.
    remote: Compressing objects: 100% (134/134), done.
    remote: Total 522 (delta 127), reused 187 (delta 85), pack-reused 282
    Receiving objects: 100% (522/522), 211.69 KiB | 3.02 MiB/s, done.
    Resolving deltas: 100% (278/278), done.
    mkdir bin
    make -C padkit lib/libpadkit.a
    make[1]: Entering directory '/home/krikar/dev/gwplus/padkit'
    mkdir lib
    mkdir obj
    mkdir obj/padkit
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/chunk.c -c -o obj/padkit/chunk.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/chunkset.c -c -o obj/padkit/chunkset.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/chunktable.c -c -o obj/padkit/chunktable.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/graphmatrix.c -c -o obj/padkit/graphmatrix.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/hash.c -c -o obj/padkit/hash.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/jsonparser.c -c -o obj/padkit/jsonparser.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/map.c -c -o obj/padkit/map.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/prime.c -c -o obj/padkit/prime.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/reallocate.c -c -o obj/padkit/reallocate.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/streq.c -c -o obj/padkit/streq.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/timestamp.c -c -o obj/padkit/timestamp.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  src/padkit/value.c -c -o obj/padkit/value.o
    ar -rcs lib/libpadkit.a obj/padkit/*.o
    make[1]: Leaving directory '/home/krikar/dev/gwplus/padkit'
    mkdir obj
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  -Iinclude -Ipadkit/include src/gwmodel.c -c -o obj/gwmodel.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  -Iinclude -Ipadkit/include src/gwplus.c -c -o obj/gwplus.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  -Iinclude -Ipadkit/include src/hpathgraph.c -c -o obj/hpathgraph.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  -Iinclude -Ipadkit/include src/sgi.c -c -o obj/sgi.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  -Iinclude -Ipadkit/include src/vpath.c -c -o obj/vpath.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  -Iinclude -Ipadkit/include src/vpatharray.c -c -o obj/vpatharray.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  -Iinclude -Ipadkit/include src/vpathgraph.c -c -o obj/vpathgraph.o
    clang  -std=c99 -Ofast -DNDEBUG -Weverything -Wno-poison-system-directories -Wno-declaration-after-statement -Wno-padded -Wno-unused-parameter -Wno-unknown-warning-option -Wno-missing-noreturn -Wno-implicit-fallthrough -Wno-unsafe-buffer-usage -Iinclude  padkit/lib/libpadkit.a obj/gwmodel.o obj/gwplus.o obj/hpathgraph.o obj/sgi.o obj/vpath.o obj/vpatharray.o obj/vpathgraph.o -o bin/gwplus
    /usr/bin/ld: obj/gwmodel.o: in function `addVertex_gwshared':
    gwmodel.c:(.text+0x115): undefined reference to `reallocate'
    /usr/bin/ld: obj/gwmodel.o: in function `addEdge_gwma':
    gwmodel.c:(.text+0x289): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x296): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x2e5): undefined reference to `reallocate'
    /usr/bin/ld: obj/gwmodel.o: in function `addModel_gwma':
    gwmodel.c:(.text+0x33b): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x348): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x375): undefined reference to `reallocate'
    /usr/bin/ld: obj/gwmodel.o: in function `addTransition_gwma':
    gwmodel.c:(.text+0x439): undefined reference to `reallocate'
    /usr/bin/ld: obj/gwmodel.o: in function `addVertex_gwma':
    gwmodel.c:(.text+0x4ef): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x4fc): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x535): undefined reference to `reallocate'
    /usr/bin/ld: obj/gwmodel.o: in function `dump_gwma':
    gwmodel.c:(.text+0xb4c): undefined reference to `get_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0xb59): undefined reference to `get_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0xca6): undefined reference to `get_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0xd19): undefined reference to `get_chunk'
    /usr/bin/ld: obj/gwmodel.o: in function `dumpVertex_gwma':
    gwmodel.c:(.text+0xdd7): undefined reference to `get_chunk'
    /usr/bin/ld: obj/gwmodel.o:gwmodel.c:(.text+0xde6): more undefined references to `get_chunk' follow
    /usr/bin/ld: obj/gwmodel.o: in function `isValid_gwma':
    gwmodel.c:(.text+0xf04): undefined reference to `isValid_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0xf34): undefined reference to `isValid_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `constructEmpty_gwma':
    gwmodel.c:(.text+0x146d): undefined reference to `constructEmpty_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x1481): undefined reference to `constructEmpty_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x149c): undefined reference to `constructEmpty_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x14af): undefined reference to `constructEmpty_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x14ca): undefined reference to `constructEmpty_chunk'
    /usr/bin/ld: obj/gwmodel.o:gwmodel.c:(.text+0x14de): more undefined references to `constructEmpty_chunk' follow
    /usr/bin/ld: obj/gwmodel.o: in function `constructEmpty_gwma':
    gwmodel.c:(.text+0x150a): undefined reference to `constructEmpty_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x151c): undefined reference to `constructEmpty_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x152e): undefined reference to `constructEmpty_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `fillUsingJSON_gwma':
    gwmodel.c:(.text+0x1639): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x1647): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x1667): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x1673): undefined reference to `construct_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x1686): undefined reference to `parseStream_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x16ea): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x1712): undefined reference to `parseStream_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x171f): undefined reference to `free_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s00':
    gwmodel.c:(.text+0x17f3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x1812): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x1844): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s20':
    gwmodel.c:(.text+0x1873): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x1892): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x18c4): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `findVertexId_gwma':
    gwmodel.c:(.text+0x1923): undefined reference to `get_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `free_gwma':
    gwmodel.c:(.text+0x1ad4): undefined reference to `free_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x1af4): undefined reference to `free_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `setEdgeIdStr_gwma':
    gwmodel.c:(.text+0x1bb2): undefined reference to `append_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x1bdb): undefined reference to `insert_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `setEdgeName_gwma':
    gwmodel.c:(.text+0x1be8): undefined reference to `append_chunk'
    /usr/bin/ld: obj/gwmodel.o: in function `setEdgeSource_gwma':
    gwmodel.c:(.text+0x1c28): undefined reference to `get_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `setEdgeTarget_gwma':
    gwmodel.c:(.text+0x1ca8): undefined reference to `get_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `setModelIdStr_gwma':
    gwmodel.c:(.text+0x1cf1): undefined reference to `append_chunk'
    /usr/bin/ld: obj/gwmodel.o: in function `setModelName_gwma':
    gwmodel.c:(.text+0x1d05): undefined reference to `append_chunk'
    /usr/bin/ld: obj/gwmodel.o: in function `setStartingElement_gwma':
    gwmodel.c:(.text+0x1ec4): undefined reference to `get_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x1ed8): undefined reference to `get_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `setVertexIdStr_gwma':
    gwmodel.c:(.text+0x1f2f): undefined reference to `append_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x1f58): undefined reference to `insert_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `setVertexName_gwma':
    gwmodel.c:(.text+0x1f65): undefined reference to `append_chunk'
    /usr/bin/ld: obj/gwmodel.o: in function `shareVertex_gwma':
    gwmodel.c:(.text+0x1ff6): undefined reference to `get_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x2099): undefined reference to `reallocate'
    /usr/bin/ld: gwmodel.c:(.text+0x2158): undefined reference to `reallocate'
    /usr/bin/ld: gwmodel.c:(.text+0x21c3): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x21fc): undefined reference to `insert_ctbl'
    /usr/bin/ld: obj/gwmodel.o: in function `s01':
    gwmodel.c:(.text+0x2213): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2239): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2264): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s02':
    gwmodel.c:(.text+0x2293): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x22b2): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x22d6): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s03':
    gwmodel.c:(.text+0x2313): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2332): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s04':
    gwmodel.c:(.text+0x2383): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x23a2): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x23cd): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s05':
    gwmodel.c:(.text+0x2407): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x240e): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2445): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2469): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s06':
    gwmodel.c:(.text+0x249e): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x24b9): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x24e4): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s07':
    gwmodel.c:(.text+0x2513): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2539): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x255d): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s08':
    gwmodel.c:(.text+0x25b6): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x25c3): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x25f5): undefined reference to `reallocate'
    /usr/bin/ld: gwmodel.c:(.text+0x263f): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2665): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2690): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s10':
    gwmodel.c:(.text+0x26c3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x26e2): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s12':
    gwmodel.c:(.text+0x274a): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x2755): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2774): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x27ae): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x27b9): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x27d8): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2823): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x282a): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2869): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x288d): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x28a2): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s13':
    gwmodel.c:(.text+0x28cc): undefined reference to `append_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x28d3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x28f9): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2924): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s61':
    gwmodel.c:(.text+0x2960): undefined reference to `append_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x2967): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x298d): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x29b8): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s14':
    gwmodel.c:(.text+0x29ee): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2a09): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2a34): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s42':
    gwmodel.c:(.text+0x2a63): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2a90): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2abb): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s52':
    gwmodel.c:(.text+0x2ae3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2b09): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2b34): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s15':
    gwmodel.c:(.text+0x2b73): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2b99): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2bc4): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s16':
    gwmodel.c:(.text+0x2bf3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2c12): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s17':
    gwmodel.c:(.text+0x2c7a): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x2c85): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2ca4): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2ce1): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x2cec): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2d0b): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2d45): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x2d50): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2d6f): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2da8): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2dd2): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x2dd9): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2dfc): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2e2e): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2e52): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s18':
    gwmodel.c:(.text+0x2e87): undefined reference to `append_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x2eaa): undefined reference to `insert_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x2eb1): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2ed7): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2f02): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s19':
    gwmodel.c:(.text+0x2f40): undefined reference to `append_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x2f47): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2f6d): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2f98): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s54':
    gwmodel.c:(.text+0x2fd3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x2ff9): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3024): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s55':
    gwmodel.c:(.text+0x3053): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3079): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x30a4): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s43':
    gwmodel.c:(.text+0x30d3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3100): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x312b): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s56':
    gwmodel.c:(.text+0x3153): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3172): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s58':
    gwmodel.c:(.text+0x31c3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x31e9): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3214): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s57':
    gwmodel.c:(.text+0x3257): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x325e): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x32ae): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s59':
    gwmodel.c:(.text+0x32f1): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3317): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3342): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s60':
    gwmodel.c:(.text+0x3391): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x33b7): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x33e2): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s45':
    gwmodel.c:(.text+0x3429): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3444): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3468): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s47':
    gwmodel.c:(.text+0x34a0): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x34c6): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x34f1): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s44':
    gwmodel.c:(.text+0x3539): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3554): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3578): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s46':
    gwmodel.c:(.text+0x35b0): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x35d6): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3601): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s09':
    gwmodel.c:(.text+0x3649): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3664): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3688): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s11':
    gwmodel.c:(.text+0x36c0): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x36e6): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3711): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s21':
    gwmodel.c:(.text+0x3743): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3769): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3794): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s22':
    gwmodel.c:(.text+0x37c3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x37e2): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3806): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s23':
    gwmodel.c:(.text+0x3853): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3872): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s24':
    gwmodel.c:(.text+0x38c3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x38e2): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x390d): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s25':
    gwmodel.c:(.text+0x3947): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x394e): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3985): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x39a9): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s26':
    gwmodel.c:(.text+0x39de): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x39f9): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3a24): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s27':
    gwmodel.c:(.text+0x3a53): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3a79): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3a9d): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s28':
    gwmodel.c:(.text+0x3adb): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3b01): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3b2c): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s30':
    gwmodel.c:(.text+0x3b53): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3b72): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s32':
    gwmodel.c:(.text+0x3bda): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x3be5): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3c04): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3c4f): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x3c56): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3c95): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3cb9): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3cce): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s33':
    gwmodel.c:(.text+0x3d2f): undefined reference to `get_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x3d44): undefined reference to `get_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x3d77): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3d9d): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3dc8): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s34':
    gwmodel.c:(.text+0x3e0e): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3e29): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3e54): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s48':
    gwmodel.c:(.text+0x3e99): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3eb4): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3ed8): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s53':
    gwmodel.c:(.text+0x3f03): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3f29): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x3f54): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s35':
    gwmodel.c:(.text+0x3fb7): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x3fc4): undefined reference to `add_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x4015): undefined reference to `reallocate'
    /usr/bin/ld: gwmodel.c:(.text+0x404a): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4070): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x409b): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s36':
    gwmodel.c:(.text+0x40d3): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x40f2): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s37':
    gwmodel.c:(.text+0x415a): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x4165): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4184): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x41c1): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x41cc): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x41eb): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4225): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x4230): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x424f): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4288): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x42b2): undefined reference to `str_eq_n'
    /usr/bin/ld: gwmodel.c:(.text+0x42b9): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x42dc): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x431c): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4340): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s38':
    gwmodel.c:(.text+0x437a): undefined reference to `append_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x439d): undefined reference to `insert_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x43a4): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x43ca): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x43f5): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s39':
    gwmodel.c:(.text+0x4431): undefined reference to `append_chunk'
    /usr/bin/ld: gwmodel.c:(.text+0x4438): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x445e): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4489): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s40':
    gwmodel.c:(.text+0x44f1): undefined reference to `get_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x4520): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4546): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4571): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s41':
    gwmodel.c:(.text+0x45e1): undefined reference to `get_ctbl'
    /usr/bin/ld: gwmodel.c:(.text+0x4611): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4637): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4662): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s49':
    gwmodel.c:(.text+0x46a9): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x46c4): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x46e8): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s51':
    gwmodel.c:(.text+0x4720): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4746): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4771): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s50':
    gwmodel.c:(.text+0x47b0): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x47d6): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4801): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s29':
    gwmodel.c:(.text+0x4849): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4864): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4888): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwmodel.o: in function `s31':
    gwmodel.c:(.text+0x48c0): undefined reference to `emptyVoidEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x48e6): undefined reference to `emptyNumberEvent_jsonp'
    /usr/bin/ld: gwmodel.c:(.text+0x4911): undefined reference to `emptyStringEvent_jsonp'
    /usr/bin/ld: obj/gwplus.o: in function `main':
    gwplus.c:(.text+0x33): undefined reference to `str_eq_n'
    /usr/bin/ld: gwplus.c:(.text+0x3f): undefined reference to `get_timestamp'
    /usr/bin/ld: gwplus.c:(.text+0x80): undefined reference to `str_eq_n'
    /usr/bin/ld: gwplus.c:(.text+0xab): undefined reference to `str_eq_n'
    /usr/bin/ld: gwplus.c:(.text+0xcc): undefined reference to `str_eq_n'
    /usr/bin/ld: gwplus.c:(.text+0xeb): undefined reference to `str_eq_n'
    /usr/bin/ld: gwplus.c:(.text+0x147): undefined reference to `str_eq_n'
    /usr/bin/ld: obj/gwplus.o:gwplus.c:(.text+0x192): more undefined references to `str_eq_n' follow
    /usr/bin/ld: obj/gwplus.o: in function `main':
    gwplus.c:(.text+0x1b2): undefined reference to `get_timestamp'
    /usr/bin/ld: gwplus.c:(.text+0x20e): undefined reference to `get_timestamp'
    /usr/bin/ld: gwplus.c:(.text+0x2aa): undefined reference to `get_timestamp'
    /usr/bin/ld: gwplus.c:(.text+0x2d7): undefined reference to `get_timestamp'
    /usr/bin/ld: gwplus.c:(.text+0x308): undefined reference to `get_timestamp'
    /usr/bin/ld: obj/gwplus.o:gwplus.c:(.text+0x35f): more undefined references to `get_timestamp' follow
    /usr/bin/ld: obj/hpathgraph.o: in function `construct_hpg':
    hpathgraph.c:(.text+0x3a): undefined reference to `construct_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x4d): undefined reference to `construct_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0xfa): undefined reference to `connect_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `countEdges_hpg':
    hpathgraph.c:(.text+0x255): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x284): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x296): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x2a9): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `countVertices_hpg':
    hpathgraph.c:(.text+0x2e9): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `isValid_hpg':
    hpathgraph.c:(.text+0x797): undefined reference to `isValid_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x7a8): undefined reference to `isValid_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `isValid_nitr_hpg':
    hpathgraph.c:(.text+0x7e2): undefined reference to `isValid_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x7f2): undefined reference to `isValid_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x80c): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `isValid_svitr_hpg':
    hpathgraph.c:(.text+0x85c): undefined reference to `isValid_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x86d): undefined reference to `isValid_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `isValid_vitr_hpg':
    hpathgraph.c:(.text+0x8ac): undefined reference to `isValid_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x8bd): undefined reference to `isValid_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `isValidEdge_hpg':
    hpathgraph.c:(.text+0x8ef): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x905): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x930): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `isValidVertex_hpg':
    hpathgraph.c:(.text+0x94f): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `nextVertexId_nitr_hpg':
    hpathgraph.c:(.text+0x992): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/hpathgraph.o:hpathgraph.c:(.text+0x9a8): more undefined references to `isConnected_gmtx' follow
    /usr/bin/ld: obj/hpathgraph.o: in function `constructAcyclic_hpg':
    hpathgraph.c:(.text+0xcab): undefined reference to `connect_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0xcda): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0xd30): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0xd68): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0xd7b): undefined reference to `connect_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0xd88): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0xda6): undefined reference to `connect_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `constructPathTrace_hpg':
    hpathgraph.c:(.text+0xf55): undefined reference to `construct_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0xf8f): undefined reference to `free_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x10cf): undefined reference to `disconnect_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x110f): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x1126): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x113a): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x1167): undefined reference to `connect_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x118e): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x11a4): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x11b7): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x11ee): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x1204): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/hpathgraph.o:hpathgraph.c:(.text+0x1217): more undefined references to `isConnected_gmtx' follow
    /usr/bin/ld: obj/hpathgraph.o: in function `constructPathTrace_hpg':
    hpathgraph.c:(.text+0x1250): undefined reference to `connect_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `constructTestPaths_hpg':
    hpathgraph.c:(.text+0x13c8): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x1420): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x1437): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x144c): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/hpathgraph.o: in function `free_hpg':
    hpathgraph.c:(.text+0x1642): undefined reference to `free_gmtx'
    /usr/bin/ld: hpathgraph.c:(.text+0x164b): undefined reference to `free_gmtx'
    /usr/bin/ld: obj/vpath.o: in function `increaseCapIfNecessary_vpath':
    vpath.c:(.text+0x1a6): undefined reference to `reallocate'
    /usr/bin/ld: vpath.c:(.text+0x1bf): undefined reference to `reallocate'
    /usr/bin/ld: obj/vpath.o: in function `computeShortest_vpath':
    vpath.c:(.text+0x595): undefined reference to `recalloc'
    /usr/bin/ld: obj/vpath.o: in function `computeShortestCycle_vpath':
    vpath.c:(.text+0xea6): undefined reference to `recalloc'
    /usr/bin/ld: obj/vpath.o: in function `computeShortestInitializer_vpath':
    vpath.c:(.text+0x16f7): undefined reference to `recalloc'
    /usr/bin/ld: obj/vpatharray.o: in function `constructAllKPaths_vpa':
    vpatharray.c:(.text+0x136): undefined reference to `recalloc'
    /usr/bin/ld: vpatharray.c:(.text+0x1a6): undefined reference to `recalloc'
    /usr/bin/ld: obj/vpatharray.o:vpatharray.c:(.text+0x344): more undefined references to `recalloc' follow
    /usr/bin/ld: obj/vpathgraph.o: in function `construct_vpg':
    vpathgraph.c:(.text+0x31): undefined reference to `construct_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x117): undefined reference to `connect_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x15b): undefined reference to `disconnect_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x1d6): undefined reference to `connect_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x213): undefined reference to `disconnect_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `countEdges_vpg':
    vpathgraph.c:(.text+0x380): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `dump_vpg':
    vpathgraph.c:(.text+0x3dc): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x4f1): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `isValid_vpg':
    vpathgraph.c:(.text+0x5fb): undefined reference to `isValid_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `isValid_nitr_vpg':
    vpathgraph.c:(.text+0x645): undefined reference to `isValid_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `isValid_svitr_vpg':
    vpathgraph.c:(.text+0x6b0): undefined reference to `isValid_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `isValid_vitr_vpg':
    vpathgraph.c:(.text+0x6f0): undefined reference to `isValid_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `isValidEdge_vpg':
    vpathgraph.c:(.text+0x714): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `nextVertexId_nitr_vpg':
    vpathgraph.c:(.text+0x75a): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `constructTestPath_vpg':
    vpathgraph.c:(.text+0x85c): undefined reference to `construct_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x8d1): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x918): undefined reference to `connect_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x982): undefined reference to `isConnected_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x9ab): undefined reference to `connect_gmtx'
    /usr/bin/ld: vpathgraph.c:(.text+0x9bf): undefined reference to `free_gmtx'
    /usr/bin/ld: obj/vpathgraph.o: in function `free_vpg':
    vpathgraph.c:(.text+0xa29): undefined reference to `free_gmtx'
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [Makefile:13: bin/gwplus] Error 1
yavuzkoroglu commented 8 months ago

It turns out for Linux, the order of object files and the static libraries matter.

I changed the following line in Makefile:

; ${COMPILE} padkit/lib/libpadkit.a ${OBJECTS} -o bin/gwplus

to

; ${COMPILE} ${OBJECTS} padkit/lib/libpadkit.a -o bin/gwplus

It now compiles on Linux.