View Single Post
  #1  
Old 10-09-2014, 05:46 PM
CoryWalker
Fire Beetle
 
Join Date: Oct 2014
Posts: 23
Default Porting to FreeBSD - Linker Issues with Lua Libraries

I'm continuing my mission to port EQEMu to FreeBSD. After tackling the std::to_string() and other C++11 issues from a previous thread - as well as fixing some lua and pthread issues - everything compiles (cmake reports 93% progress) and then the linker attempts to create "bin/zone."

The link phase fails. However, there is such an enormous amount of output that I'm not sure where to begin. I get the following output first:

Linking CXX executable ../bin/zone

And then an explosion of error output. Here is a good, representative slice of that error output:

--
CMakeFiles/zone.dir/lua_bit.cpp.o: In function `barg':
/usr/local/build/eqemu/zone/lua_bit.cpp:54: undefined reference to `lua_tonumber(lua_State*, int)'
/usr/local/build/eqemu/zone/lua_bit.cpp:78: undefined reference to `lua_isnumber(lua_State*, int)'
/usr/local/build/eqemu/zone/lua_bit.cpp:79: undefined reference to `luaL_typerror(lua_State*, int, char const*)'
--

Does anyone have a strategy on how to start to troubleshoot this?


The linker command is this:

--
g++49 -std=c++11 -std=c++0x -O2 -g -DNDEBUG CMakeFiles/zone.dir/aa.cpp.o CMakeFiles/zone.dir/aggro.cpp.o CMakeFiles/zone.dir/attack.cpp.o CMakeFiles/zone.dir/beacon.cpp.o CMakeFiles/zone.dir/bonuses.cpp.o CMakeFiles/zone.dir/bot.cpp.o CMakeFiles/zone.dir/botspellsai.cpp.o CMakeFiles/zone.dir/client.cpp.o CMakeFiles/zone.dir/client_logs.cpp.o CMakeFiles/zone.dir/client_mods.cpp.o CMakeFiles/zone.dir/client_packet.cpp.o CMakeFiles/zone.dir/client_process.cpp.o CMakeFiles/zone.dir/command.cpp.o CMakeFiles/zone.dir/corpse.cpp.o CMakeFiles/zone.dir/doors.cpp.o CMakeFiles/zone.dir/effects.cpp.o CMakeFiles/zone.dir/embparser.cpp.o CMakeFiles/zone.dir/embparser_api.cpp.o CMakeFiles/zone.dir/embperl.cpp.o CMakeFiles/zone.dir/embxs.cpp.o CMakeFiles/zone.dir/entity.cpp.o CMakeFiles/zone.dir/exp.cpp.o CMakeFiles/zone.dir/fearpath.cpp.o CMakeFiles/zone.dir/forage.cpp.o CMakeFiles/zone.dir/groups.cpp.o CMakeFiles/zone.dir/guild.cpp.o CMakeFiles/zone.dir/guild_mgr.cpp.o CMakeFiles/zone.dir/hate_list.cpp.o CMakeFiles/zone.dir/horse.cpp.o CMakeFiles/zone.dir/inventory.cpp.o CMakeFiles/zone.dir/loottables.cpp.o CMakeFiles/zone.dir/lua_bit.cpp.o CMakeFiles/zone.dir/lua_corpse.cpp.o CMakeFiles/zone.dir/lua_client.cpp.o CMakeFiles/zone.dir/lua_door.cpp.o CMakeFiles/zone.dir/lua_entity.cpp.o CMakeFiles/zone.dir/lua_entity_list.cpp.o CMakeFiles/zone.dir/lua_general.cpp.o CMakeFiles/zone.dir/lua_group.cpp.o CMakeFiles/zone.dir/lua_hate_list.cpp.o CMakeFiles/zone.dir/lua_inventory.cpp.o CMakeFiles/zone.dir/lua_item.cpp.o CMakeFiles/zone.dir/lua_iteminst.cpp.o CMakeFiles/zone.dir/lua_mob.cpp.o CMakeFiles/zone.dir/lua_npc.cpp.o CMakeFiles/zone.dir/lua_object.cpp.o CMakeFiles/zone.dir/lua_packet.cpp.o CMakeFiles/zone.dir/lua_parser.cpp.o CMakeFiles/zone.dir/lua_parser_events.cpp.o CMakeFiles/zone.dir/lua_raid.cpp.o CMakeFiles/zone.dir/lua_spawn.cpp.o CMakeFiles/zone.dir/lua_spell.cpp.o CMakeFiles/zone.dir/map.cpp.o CMakeFiles/zone.dir/merc.cpp.o CMakeFiles/zone.dir/mob.cpp.o CMakeFiles/zone.dir/mob_ai.cpp.o CMakeFiles/zone.dir/mod_functions.cpp.o CMakeFiles/zone.dir/net.cpp.o CMakeFiles/zone.dir/npc.cpp.o CMakeFiles/zone.dir/npc_ai.cpp.o CMakeFiles/zone.dir/object.cpp.o CMakeFiles/zone.dir/oriented_bounding_box.cpp.o CMakeFiles/zone.dir/pathing.cpp.o CMakeFiles/zone.dir/perl_client.cpp.o CMakeFiles/zone.dir/perl_doors.cpp.o CMakeFiles/zone.dir/perl_entity.cpp.o CMakeFiles/zone.dir/perl_groups.cpp.o CMakeFiles/zone.dir/perl_hateentry.cpp.o CMakeFiles/zone.dir/perl_mob.cpp.o CMakeFiles/zone.dir/perl_npc.cpp.o CMakeFiles/zone.dir/perl_object.cpp.o CMakeFiles/zone.dir/perl_perlpacket.cpp.o CMakeFiles/zone.dir/perl_player_corpse.cpp.o CMakeFiles/zone.dir/perl_questitem.cpp.o CMakeFiles/zone.dir/perl_raids.cpp.o CMakeFiles/zone.dir/perlpacket.cpp.o CMakeFiles/zone.dir/petitions.cpp.o CMakeFiles/zone.dir/pets.cpp.o CMakeFiles/zone.dir/qglobals.cpp.o CMakeFiles/zone.dir/queryserv.cpp.o CMakeFiles/zone.dir/questmgr.cpp.o CMakeFiles/zone.dir/quest_parser_collection.cpp.o CMakeFiles/zone.dir/raids.cpp.o CMakeFiles/zone.dir/raycast_mesh.cpp.o CMakeFiles/zone.dir/spawn2.cpp.o CMakeFiles/zone.dir/spawngroup.cpp.o CMakeFiles/zone.dir/special_attacks.cpp.o CMakeFiles/zone.dir/spell_effects.cpp.o CMakeFiles/zone.dir/spells.cpp.o CMakeFiles/zone.dir/tasks.cpp.o CMakeFiles/zone.dir/titles.cpp.o CMakeFiles/zone.dir/tradeskills.cpp.o CMakeFiles/zone.dir/trading.cpp.o CMakeFiles/zone.dir/trap.cpp.o CMakeFiles/zone.dir/tribute.cpp.o CMakeFiles/zone.dir/water_map.cpp.o CMakeFiles/zone.dir/water_map_v1.cpp.o CMakeFiles/zone.dir/water_map_v2.cpp.o CMakeFiles/zone.dir/waypoints.cpp.o CMakeFiles/zone.dir/worldserver.cpp.o CMakeFiles/zone.dir/zone.cpp.o CMakeFiles/zone.dir/zone_logsys.cpp.o CMakeFiles/zone.dir/zone_config.cpp.o CMakeFiles/zone.dir/zonedb.cpp.o CMakeFiles/zone.dir/zoning.cpp.o -o ../bin/zone -L/usr/local/lib/perl5/5.16/mach/CORE ../bin/libcommon.a /usr/local/lib/mysql/libmysqlclient_r.so -lz -lperl ../bin/libluabind.a /usr/local/build/lua/include/liblua.a -lz -lm -lrt -lpthread -Wl,-rpath,/usr/local/lib/mysql:/usr/local/lib/perl5/5.16/mach/CORE:
--
Reply With Quote