graehl / cld2

Automatically exported from code.google.com/p/cld2
0 stars 0 forks source link

Can't link "dynamic" and "full" #13

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

This "g++" command-line is a mix between "full" and "dynamic":

g++ -O2 -m64 cld2_dynamic_data_tool.cc cld2_dynamic_data.cc 
cld2_dynamic_data_extractor.cc cld2_dynamic_data_loader.cc cldutil.cc 
cldutil_shared.cc compact_lang_det.cc compact_lang_det_hint_code.cc 
compact_lang_det_impl.cc debug.cc fixunicodevalue.cc generated_entities.cc 
generated_language.cc generated_ulscript.cc getonescriptspan.cc lang_script.cc 
offsetmap.cc scoreonescriptspan.cc tote.cc utf8statetable.cc 
cld_generated_cjk_uni_prop_80.cc cld2_generated_cjk_compatible.cc 
cld_generated_cjk_delta_bi_32.cc generated_distinct_bi_0.cc 
cld2_generated_quad0122.cc cld2_generated_deltaocta0122.cc 
cld2_generated_distinctocta0122.cc cld_generated_score_quad_octa_0122.cc -o 
cld2_dynamic_data_tooandl

What is the expected output? What do you see instead?

cld2_dynamic_data_tool.cc:(.text.startup+0x293): Undefined 
`CLD2::kQuadChromeIndSize'
cld2_dynamic_data_tool.cc:(.text.startup+0x29d): Undefined 
`CLD2::kQuadChrome2IndSize'

Original issue reported on code.google.com by doppelba...@gmail.com on 9 Apr 2014 at 9:59

GoogleCodeExporter commented 9 years ago
The dynamic data tool was written with Chromium in mind, which is why it 
directly references the Chrome data structures. The simplest fix is probably 
for us to provide empty tables with these names for non-Chrome builds. 
"Simplest" != "Cleanest". The clean solution here is to make the set of tables 
that are included in a dynamic build completely configurable, but that requires 
the format of the dynamic data file to be significantly altered to include 
metadata about which tables are included and in which order.

You should be able to work around this issue temporarily (if it is blocking 
you) by copying and pasting one of the quadschrome* sources and emptying it of 
all data, then linking against that instead.

Original comment by andrewha...@google.com on 15 May 2014 at 4:21

GoogleCodeExporter commented 9 years ago
doppelbauer: Did this work for you? If so, I'm happy to add a dummy file to the 
repository that will let you avoid the manual workaround.

Original comment by andrewha...@google.com on 27 Oct 2014 at 8:43

GoogleCodeExporter commented 9 years ago
Hello,
Maybe it is better to close this issue - it's not a real problem.
Thanks a lot for the excellent cld2!
Markus

Original comment by doppelba...@gmail.com on 27 Oct 2014 at 8:53