(hxcpp) ld: 45 duplicate symbols for architecture x86_64

100 views
Skip to first unread message

theRemix

unread,
Jun 14, 2016, 8:57:44 PM6/14/16
to Haxe

i just upgraded to haxe 3.3rc to test it out and am getting this error that seems to be caused when using both cpp.link.StaticRegexp and haxe.Http on osx


Main.hx


import cpp.link.StaticRegexp;
import haxe.Http;

class Main {
 
static function main() {
   
var req = new Http("https://www.reddit.com/r/haxe");
   
var body = "";
    req
.onData = function(body) body+=body;
    req
.onStatus = function(code) trace(code, body);
    req
.request();
 
}
}


haxe -main Main -cpp out

haxelib run hxcpp Build.xml haxe -Dhaxe3="1" -Dhaxe_ver="3.3" -Dhxcpp_api_level="330" -Dsource-header="Generated by Haxe 3.3.0" -I"/usr/lib/haxe/extraLibs/" -I"/usr/local/lib/haxe/extraLibs/" -I"" -I"/usr/lib/haxe/std/cpp/_std/" -I"/usr/share/haxe/std/cpp/_std/" -I"/usr/local/lib/haxe/std/cpp/_std/" -I"/usr/lib/haxe/std/" -I"/usr/share/haxe/std/" -I"/usr/local/lib/haxe/std/"
 
- Link : Main
duplicate symbol _pcre_get_substring_list
in:
 obj
/darwin64/2343ca83_pcre_get.o
 obj
/darwin64/401683a0_pcre_get.o
duplicate symbol _pcre_free_substring_list
in:
 obj
/darwin64/2343ca83_pcre_get.o
 obj
/darwin64/401683a0_pcre_get.o
duplicate symbol _pcre_get_stringtable_entries
in:
 obj
/darwin64/2343ca83_pcre_get.o
 obj
/darwin64/401683a0_pcre_get.o
duplicate symbol _pcre_get_stringnumber
in:
 obj
/darwin64/2343ca83_pcre_get.o
 obj
/darwin64/401683a0_pcre_get.o
duplicate symbol _pcre_copy_substring
in:
 obj
/darwin64/2343ca83_pcre_get.o
 obj
/darwin64/401683a0_pcre_get.o
duplicate symbol _pcre_get_substring
in:
 obj
/darwin64/2343ca83_pcre_get.o
 obj
/darwin64/401683a0_pcre_get.o
duplicate symbol _pcre_free_substring
in:
 obj
/darwin64/2343ca83_pcre_get.o
 obj
/darwin64/401683a0_pcre_get.o
duplicate symbol _pcre_copy_named_substring
in:
 obj
/darwin64/2343ca83_pcre_get.o
 obj
/darwin64/401683a0_pcre_get.o
duplicate symbol _pcre_get_named_substring
in:
 obj
/darwin64/2343ca83_pcre_get.o
 obj
/darwin64/401683a0_pcre_get.o
duplicate symbol _pcre_study
in:
 obj
/darwin64/2343ca83_pcre_study.o
 obj
/darwin64/401683a0_pcre_study.o
duplicate symbol __pcre_default_tables
in:
 obj
/darwin64/2343ca83_pcre_chartables.o
 obj
/darwin64/401683a0_pcre_chartables.o
duplicate symbol _pcre_callout
in:
 obj
/darwin64/2343ca83_pcre_globals.o
 obj
/darwin64/401683a0_pcre_globals.o
duplicate symbol _pcre_stack_free
in:
 obj
/darwin64/2343ca83_pcre_globals.o
 obj
/darwin64/401683a0_pcre_globals.o
duplicate symbol _pcre_free
in:
 obj
/darwin64/2343ca83_pcre_globals.o
 obj
/darwin64/401683a0_pcre_globals.o
duplicate symbol _pcre_stack_malloc
in:
 obj
/darwin64/2343ca83_pcre_globals.o
 obj
/darwin64/401683a0_pcre_globals.o
duplicate symbol _pcre_malloc
in:
 obj
/darwin64/2343ca83_pcre_globals.o
 obj
/darwin64/401683a0_pcre_globals.o
duplicate symbol __pcre_utt
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol __pcre_OP_lengths
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol __pcre_utt_names
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol __pcre_utt_size
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol __pcre_utf8_table1_size
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol __pcre_ucp_gentype
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol __pcre_utf8_table4
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol __pcre_utf8_table3
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol __pcre_utf8_table2
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol __pcre_utf8_table1
in:
 obj
/darwin64/2343ca83_pcre_tables.o
 obj
/darwin64/401683a0_pcre_tables.o
duplicate symbol _pcre_info
in:
 obj
/darwin64/2343ca83_pcre_info.o
 obj
/darwin64/401683a0_pcre_info.o
duplicate symbol _pcre_compile
in:
 obj
/darwin64/2343ca83_pcre_compile.o
 obj
/darwin64/401683a0_pcre_compile.o
duplicate symbol _pcre_compile2
in:
 obj
/darwin64/2343ca83_pcre_compile.o
 obj
/darwin64/401683a0_pcre_compile.o
duplicate symbol __pcre_try_flipped
in:
 obj
/darwin64/2343ca83_pcre_try_flipped.o
 obj
/darwin64/401683a0_pcre_try_flipped.o
duplicate symbol _pcre_config
in:
 obj
/darwin64/2343ca83_pcre_config.o
 obj
/darwin64/401683a0_pcre_config.o
duplicate symbol _pcre_maketables
in:
 obj
/darwin64/2343ca83_pcre_maketables.o
 obj
/darwin64/401683a0_pcre_maketables.o
duplicate symbol __pcre_ucd_records
in:
 obj
/darwin64/2343ca83_pcre_ucd.o
 obj
/darwin64/401683a0_pcre_ucd.o
duplicate symbol __pcre_ucd_stage2
in:
 obj
/darwin64/2343ca83_pcre_ucd.o
 obj
/darwin64/401683a0_pcre_ucd.o
duplicate symbol __pcre_ucd_stage1
in:
 obj
/darwin64/2343ca83_pcre_ucd.o
 obj
/darwin64/401683a0_pcre_ucd.o
duplicate symbol _pcre_dfa_exec
in:
 obj
/darwin64/2343ca83_pcre_dfa_exec.o
 obj
/darwin64/401683a0_pcre_dfa_exec.o
duplicate symbol __pcre_is_newline
in:
 obj
/darwin64/2343ca83_pcre_newline.o
 obj
/darwin64/401683a0_pcre_newline.o
duplicate symbol __pcre_was_newline
in:
 obj
/darwin64/2343ca83_pcre_newline.o
 obj
/darwin64/401683a0_pcre_newline.o
duplicate symbol __pcre_valid_utf8
in:
 obj
/darwin64/2343ca83_pcre_valid_utf8.o
 obj
/darwin64/401683a0_pcre_valid_utf8.o
duplicate symbol _pcre_exec
in:
 obj
/darwin64/2343ca83_pcre_exec.o
 obj
/darwin64/401683a0_pcre_exec.o
duplicate symbol __pcre_ord2utf8
in:
 obj
/darwin64/2343ca83_pcre_ord2utf8.o
 obj
/darwin64/401683a0_pcre_ord2utf8.o
duplicate symbol _pcre_version
in:
 obj
/darwin64/2343ca83_pcre_version.o
 obj
/darwin64/401683a0_pcre_version.o
duplicate symbol _pcre_fullinfo
in:
 obj
/darwin64/2343ca83_pcre_fullinfo.o
 obj
/darwin64/401683a0_pcre_fullinfo.o
duplicate symbol _pcre_refcount
in:
 obj
/darwin64/2343ca83_pcre_refcount.o
 obj
/darwin64/401683a0_pcre_refcount.o
duplicate symbol __pcre_xclass
in:
 obj
/darwin64/2343ca83_pcre_xclass.o
 obj
/darwin64/401683a0_pcre_xclass.o
ld
: 45 duplicate symbols for architecture x86_64
clang
: error: linker command failed with exit code 1 (use -v to see invocation)
Error: error running g++ -o Main -stdlib=libstdc++ -framework Cocoa -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -m64 -framework Security @obj/darwin64/all_objs
Error: Build failed


Hugh

unread,
Jun 15, 2016, 12:41:14 AM6/15/16
to Haxe
Yes, you do not need the  cpp.link.StaticRegexp for 3.3  and  it appears you actually need to get rid of it.
I will fix this in the source, meanwhile you can use:



#if (hxcpp_api_level<330)

import cpp.link.StaticRegexp;
#end




Hugh

theRemix

unread,
Jun 15, 2016, 3:21:25 AM6/15/16
to Haxe
yes i realize now that everything in 3.3 works without needing the static links, now that everything is now a static build.

Reply all
Reply to author
Forward
0 new messages