Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump so version #1261

Closed
yangfl opened this issue Nov 7, 2018 · 6 comments
Closed

Bump so version #1261

yangfl opened this issue Nov 7, 2018 · 6 comments
Labels
P3 Low priority
Milestone

Comments

@yangfl
Copy link

yangfl commented Nov 7, 2018

I see some symbols missing from the lastest toxcore lib (e.g. DHT_addfriend -> dht_addfriend, missing create_audio_encoder, etc), which makes ABI incompatible.

Please bump so version like CURRENT=3 REVISION=0 AGE=0

@nurupo
Copy link
Member

nurupo commented Nov 7, 2018

DHT_addfriend is an internal function, it's not part of the public API and should not be exposed in the ABI.

You should build toxcore with cmake using STRICT_ABI option, that option makes it so that the only visible ABI symbols are those of the public API.

@nurupo
Copy link
Member

nurupo commented Nov 7, 2018

Looks like there are some issues with the STRICT_ABI option (see the referenced issue). CMake builds test programs unconditionally and links them against libtoxcore. Those test programs test the internals of toxcore, they call the internal symbols, but due to STRICT_ABI option not exporting those symbols the building of tests (well, the linking of them) fails. So if you try to build toxcore with the STRICT_ABI option the build will fail. Kind of weird no caught this issue before and that we don't test STRICT_ABI on Travis-CI.

@nurupo
Copy link
Member

nurupo commented Dec 12, 2018

Looks like the STRICT_ABI option is workable again, you just have to additionally set -DBOOTSTRAP_DAEMON=OFF -DDHT_BOOTSTRAP=OFF when using it.

sudo docker run --rm -it debian:stretch /bin/bash

apt-get update

apt-get install -y \
    build-essential \
    cmake \
    git \
    libopus-dev \
    libsodium-dev \
    libvpx-dev

cd ~

git clone https://github.com/TokTok/c-toxcore
cd c-toxcore
git checkout 0f8f82a3cf639233c69c893c102a82b6e11ae98e
mkdir _build
cd _build
cmake .. \
    -DCMAKE_BUILD_TYPE=Release \
    -DENABLE_SHARED=ON \
    -DENABLE_STATIC=OFF \
    -DBUILD_TOXAV=ON \
    -DBOOTSTRAP_DAEMON=OFF \
    -DDHT_BOOTSTRAP=OFF \
    -DSTRICT_ABI=ON
make
make install

nm --defined-only -g /usr/local/lib/libtoxcore.so
Output of `nm` with ` -DSTRICT_ABI=ON` <-- only API functions are exported
0000000000034530 T tox_add_tcp_relay
00000000000334d0 T tox_address_size
00000000000343a0 T tox_bootstrap
0000000000035840 T tox_callback_conference_connected
0000000000035830 T tox_callback_conference_invite
0000000000035850 T tox_callback_conference_message
0000000000035880 T tox_callback_conference_peer_list_changed
0000000000035870 T tox_callback_conference_peer_name
0000000000035860 T tox_callback_conference_title
0000000000035800 T tox_callback_file_chunk_request
0000000000035810 T tox_callback_file_recv
0000000000035820 T tox_callback_file_recv_chunk
0000000000035520 T tox_callback_file_recv_control
0000000000035110 T tox_callback_friend_connection_status
0000000000036260 T tox_callback_friend_lossless_packet
0000000000036170 T tox_callback_friend_lossy_packet
0000000000035340 T tox_callback_friend_message
0000000000034f30 T tox_callback_friend_name
0000000000035320 T tox_callback_friend_read_receipt
0000000000035330 T tox_callback_friend_request
00000000000350c0 T tox_callback_friend_status
0000000000035070 T tox_callback_friend_status_message
0000000000035170 T tox_callback_friend_typing
00000000000346c0 T tox_callback_self_connection_status
0000000000035fa0 T tox_conference_by_id
0000000000036010 T tox_conference_by_uid
00000000000358d0 T tox_conference_delete
0000000000035f10 T tox_conference_get_chatlist
0000000000035ef0 T tox_conference_get_chatlist_size
0000000000035f80 T tox_conference_get_id
0000000000035e00 T tox_conference_get_title
0000000000035d90 T tox_conference_get_title_size
0000000000035f40 T tox_conference_get_type
0000000000035f90 T tox_conference_get_uid
0000000000035b60 T tox_conference_invite
0000000000035be0 T tox_conference_join
0000000000035890 T tox_conference_new
0000000000035950 T tox_conference_peer_count
0000000000035a00 T tox_conference_peer_get_name
0000000000035990 T tox_conference_peer_get_name_size
0000000000035a70 T tox_conference_peer_get_public_key
0000000000035ae0 T tox_conference_peer_number_is_ours
0000000000035cd0 T tox_conference_send_message
0000000000035e70 T tox_conference_set_title
0000000000035390 T tox_file_control
0000000000035530 T tox_file_get_file_id
0000000000033540 T tox_file_id_length
0000000000035460 T tox_file_seek
00000000000355c0 T tox_file_send
0000000000035720 T tox_file_send_chunk
00000000000349d0 T tox_friend_add
0000000000034b20 T tox_friend_add_norequest
0000000000034d00 T tox_friend_by_public_key
0000000000034ca0 T tox_friend_delete
0000000000034dd0 T tox_friend_exists
00000000000350d0 T tox_friend_get_connection_status
0000000000034df0 T tox_friend_get_last_online
0000000000034ec0 T tox_friend_get_name
0000000000034e80 T tox_friend_get_name_size
0000000000034d70 T tox_friend_get_public_key
0000000000035080 T tox_friend_get_status
0000000000034f80 T tox_friend_get_status_message
0000000000034f40 T tox_friend_get_status_message_size
0000000000035120 T tox_friend_get_typing
0000000000036180 T tox_friend_send_lossless_packet
0000000000036080 T tox_friend_send_lossy_packet
00000000000351e0 T tox_friend_send_message
000000000003d2a0 T tox_get_salt
0000000000034320 T tox_get_savedata
00000000000342f0 T tox_get_savedata_size
0000000000035350 T tox_hash
0000000000033530 T tox_hash_length
000000000003d910 T tox_is_data_encrypted
00000000000346e0 T tox_iterate
00000000000346d0 T tox_iteration_interval
0000000000034240 T tox_kill
0000000000033520 T tox_max_custom_packet_size
0000000000033550 T tox_max_filename_length
0000000000033500 T tox_max_friend_request_length
0000000000033560 T tox_max_hostname_length
0000000000033510 T tox_max_message_length
00000000000334e0 T tox_max_name_length
00000000000334f0 T tox_max_status_message_length
0000000000033c50 T tox_new
00000000000334c0 T tox_nospam_size
0000000000033750 T tox_options_default
0000000000033870 T tox_options_free
0000000000033630 T tox_options_get_end_port
0000000000033670 T tox_options_get_hole_punching_enabled
0000000000033570 T tox_options_get_ipv6_enabled
0000000000033710 T tox_options_get_local_discovery_enabled
00000000000336d0 T tox_options_get_log_callback
00000000000336f0 T tox_options_get_log_user_data
00000000000335d0 T tox_options_get_proxy_host
00000000000335f0 T tox_options_get_proxy_port
00000000000335b0 T tox_options_get_proxy_type
0000000000033730 T tox_options_get_savedata_data
00000000000336b0 T tox_options_get_savedata_length
0000000000033690 T tox_options_get_savedata_type
0000000000033610 T tox_options_get_start_port
0000000000033650 T tox_options_get_tcp_port
0000000000033590 T tox_options_get_udp_enabled
0000000000033810 T tox_options_new
0000000000033640 T tox_options_set_end_port
0000000000033680 T tox_options_set_hole_punching_enabled
0000000000033580 T tox_options_set_ipv6_enabled
0000000000033720 T tox_options_set_local_discovery_enabled
00000000000336e0 T tox_options_set_log_callback
0000000000033700 T tox_options_set_log_user_data
00000000000335e0 T tox_options_set_proxy_host
0000000000033600 T tox_options_set_proxy_port
00000000000335c0 T tox_options_set_proxy_type
0000000000033740 T tox_options_set_savedata_data
00000000000336c0 T tox_options_set_savedata_length
00000000000336a0 T tox_options_set_savedata_type
0000000000033620 T tox_options_set_start_port
0000000000033660 T tox_options_set_tcp_port
00000000000335a0 T tox_options_set_udp_enabled
000000000003d7e0 T tox_pass_decrypt
000000000003d600 T tox_pass_encrypt
000000000003d280 T tox_pass_encryption_extra_length
000000000003d6b0 T tox_pass_key_decrypt
000000000003d4a0 T tox_pass_key_derive
000000000003d380 T tox_pass_key_derive_with_salt
000000000003d4e0 T tox_pass_key_encrypt
000000000003d290 T tox_pass_key_free
000000000003d270 T tox_pass_key_length
000000000003d260 T tox_pass_salt_length
00000000000334a0 T tox_public_key_size
00000000000334b0 T tox_secret_key_size
0000000000034730 T tox_self_get_address
0000000000034690 T tox_self_get_connection_status
0000000000036270 T tox_self_get_dht_id
0000000000034e40 T tox_self_get_friend_list
0000000000034e20 T tox_self_get_friend_list_size
00000000000348c0 T tox_self_get_name
00000000000348a0 T tox_self_get_name_size
0000000000034770 T tox_self_get_nospam
0000000000034790 T tox_self_get_public_key
00000000000347d0 T tox_self_get_secret_key
00000000000349b0 T tox_self_get_status
0000000000034980 T tox_self_get_status_message
0000000000034960 T tox_self_get_status_message_size
00000000000362f0 T tox_self_get_tcp_port
00000000000362b0 T tox_self_get_udp_port
0000000000034810 T tox_self_set_name
0000000000034750 T tox_self_set_nospam
00000000000349a0 T tox_self_set_status
00000000000348e0 T tox_self_set_status_message
0000000000035180 T tox_self_set_typing
0000000000033c30 T tox_version_is_compatible
0000000000033470 T tox_version_major
0000000000033480 T tox_version_minor
0000000000033490 T tox_version_patch
000000000003c700 T toxav_add_av_groupchat
000000000003bff0 T toxav_answer
000000000003b200 T toxav_audio_send_frame
000000000003af40 T toxav_audio_set_bit_rate
000000000003bc00 T toxav_call
000000000003c2e0 T toxav_call_control
000000000003ab70 T toxav_callback_audio_bit_rate
000000000003abf0 T toxav_callback_audio_receive_frame
000000000003aaf0 T toxav_callback_call
000000000003ab30 T toxav_callback_call_state
000000000003abb0 T toxav_callback_video_bit_rate
000000000003ac30 T toxav_callback_video_receive_frame
000000000003aac0 T toxav_get_tox
000000000003c750 T toxav_group_send_audio
000000000003ad60 T toxav_iterate
000000000003aad0 T toxav_iteration_interval
000000000003c720 T toxav_join_av_groupchat
000000000003c220 T toxav_kill
000000000003a910 T toxav_new
000000000003b470 T toxav_video_send_frame
000000000003b0a0 T toxav_video_set_bit_rate
Output of `nm` with ` -DSTRICT_ABI=OFF` <-- everything is exported
0000000000259264 B __bss_start
0000000000259264 D _edata
00000000002594a0 B _end
0000000000048b60 T _fini
000000000000da90 T _init
0000000000041ab0 T ac_iterate
00000000000419f0 T ac_kill
0000000000041560 T ac_new
0000000000041e10 T ac_queue_message
0000000000041ff0 T ac_reconfigure_encoder
0000000000023ee0 T accept_crypto_connection
0000000000042bb0 T add_av_groupchat
000000000003b900 T add_groupchat
000000000001def0 T add_tcp_number_relay_connection
00000000000232f0 T add_tcp_relay
000000000001e0a0 T add_tcp_relay_connection
000000000001de30 T add_tcp_relay_global
0000000000023250 T add_tcp_relay_peer
00000000000144f0 T add_to_list
0000000000010e70 T addr_parse_ip
0000000000010f10 T addr_resolve
0000000000011210 T addr_resolve_or_parse_ip
0000000000014f30 T addto_lists
0000000000045ea0 T audio_bit_rate_invalid
0000000000011620 T bind_to_port
00000000000219b0 T bs_list_add
00000000000218c0 T bs_list_find
0000000000021890 T bs_list_free
0000000000021810 T bs_list_init
0000000000021c10 T bs_list_remove
0000000000021e40 T bs_list_trim
0000000000042590 T bwc_add_lost
00000000000425b0 T bwc_add_recv
00000000000422a0 T bwc_handle_data
0000000000042440 T bwc_kill
0000000000042380 T bwc_new
0000000000045f70 T call_get
0000000000047380 T call_kill_transmission
0000000000046ae0 T call_new
0000000000046f80 T call_prepare_transmission
0000000000046d50 T call_remove
0000000000045a20 T callback_bwc
0000000000045ef0 T callback_capabilites
0000000000047810 T callback_end
0000000000047860 T callback_error
0000000000033750 T callback_file_control
0000000000033760 T callback_file_data
0000000000033770 T callback_file_reqchunk
0000000000033740 T callback_file_sendrequest
000000000002fe20 T callback_friendrequest
000000000003c890 T callback_groupchat_delete
000000000003c850 T callback_groupchat_peer_delete
000000000003c810 T callback_groupchat_peer_new
0000000000046c90 T callback_invite
00000000000478b0 T callback_start
0000000000017e40 T closelist_nodes
000000000003b890 T conference_by_id
000000000003c2f0 T conference_get_id
000000000003d2d0 T conferences_load_state_section
000000000003cf40 T conferences_save
000000000003cf20 T conferences_size
0000000000023470 T connection_data_handler
00000000000234c0 T connection_lossy_data_handler
0000000000023420 T connection_status_handler
000000000003e640 T copy_chatlist
00000000000233d0 T copy_connected_tcp_relays
0000000000035e40 T copy_friendlist
000000000003e280 T count_chatlist
0000000000035a90 T count_friendlist
00000000000299a0 T create_announce_request
0000000000029ad0 T create_data_request
0000000000028050 T create_onion_packet
00000000000283e0 T create_onion_packet_tcp
0000000000027ce0 T create_onion_path
00000000000126e0 T create_recursive_mutex
00000000000137d0 T create_request
0000000000023610 T crypto_connection_status
0000000000010530 T crypto_derive_public_key
00000000000248f0 T crypto_kill
0000000000010620 T crypto_memcmp
0000000000010610 T crypto_memzero
0000000000010520 T crypto_new_keypair
0000000000023560 T crypto_num_free_sendqueue_slots
00000000000261c0 T crypto_run_interval
0000000000010540 T crypto_sha256
0000000000010550 T crypto_sha512
0000000000017f60 T cryptopacket_registerhandler
00000000000235c0 T cryptpacket_received
0000000000010840 T current_time_monotonic
00000000000344d0 T custom_lossless_packet_registerhandler
00000000000343b0 T custom_lossy_packet_registerhandler
0000000000010400 T decrypt_data
0000000000010210 T decrypt_data_symmetric
000000000003baf0 T del_groupchat
0000000000016930 T dht_addfriend
0000000000016e80 T dht_bootstrap
0000000000016e90 T dht_bootstrap_from_address
0000000000018f70 T dht_connect_after_load
0000000000016b40 T dht_delfriend
0000000000012be0 T dht_friend_client
0000000000012bd0 T dht_friend_public_key
0000000000012cb0 T dht_get_close_client
0000000000012ca0 T dht_get_close_clientlist
0000000000012ce0 T dht_get_friend
0000000000012d00 T dht_get_friend_public_key
0000000000012c80 T dht_get_net
0000000000012cd0 T dht_get_num_friends
0000000000012c90 T dht_get_ping
0000000000012c00 T dht_get_self_public_key
0000000000012c10 T dht_get_self_secret_key
0000000000013530 T dht_get_shared_key_recv
0000000000013550 T dht_get_shared_key_sent
0000000000016cf0 T dht_getfriendip
0000000000016e50 T dht_getnodes
0000000000018e50 T dht_isconnected
0000000000018de0 T dht_load
0000000000018ec0 T dht_non_lan_connected
0000000000018480 T dht_save
0000000000012c20 T dht_set_self_public_key
0000000000012c50 T dht_set_self_secret_key
00000000000181a0 T dht_size
000000000001c120 T do_TCP_connection
0000000000021180 T do_TCP_server
0000000000019040 T do_dht
000000000002f7d0 T do_friend_connections
000000000003d890 T do_groupchats
00000000000346d0 T do_messenger
00000000000261d0 T do_net_crypto
000000000002d6a0 T do_onion_client
000000000001e730 T do_tcp_connections
0000000000010390 T encrypt_data
0000000000010090 T encrypt_data_symmetric
0000000000010070 T encrypt_precompute
0000000000033b70 T file_control
0000000000033f50 T file_data
0000000000034250 T file_dataremaining
0000000000033780 T file_get_id
0000000000033da0 T file_seek
000000000002ea50 T friend_add_tcp_relay
000000000002f0c0 T friend_con_connected
000000000002f230 T friend_connection_callbacks
000000000002f2b0 T friend_connection_crypt_connection_id
000000000002f080 T friend_connection_lock
000000000002e840 T friendconn_net_crypto
000000000002fea0 T friendreq_init
000000000002fed0 T friendreq_kill
000000000002fec0 T friendreq_new
000000000003c7c0 T g_callback_group_connected
000000000003c7b0 T g_callback_group_invite
000000000003c7d0 T g_callback_group_message
000000000003c800 T g_callback_group_title
000000000003c7f0 T g_callback_peer_list_changed
000000000003c7e0 T g_callback_peer_name
0000000000014630 T get_close_nodes
000000000002f100 T get_friendcon_public_keys
0000000000010900 T get_ip4_loopback
0000000000010910 T get_ip6_loopback
000000000002fe10 T get_nospam
0000000000023340 T get_random_tcp_con_number
000000000001d3c0 T get_random_tcp_onion_conn_number
0000000000030d10 T get_real_pk
0000000000013010 T get_shared_key
0000000000030d90 T getaddress
000000000002e850 T getfriend_conn_id_pk
0000000000030c70 T getfriend_id
0000000000030d60 T getfriendcon_id
0000000000033100 T getname
00000000000330d0 T getself_name
000000000003cc50 T group_action_send
000000000003ce00 T group_get_object
000000000003c2b0 T group_get_type
000000000003c8d0 T group_leave
000000000003c7a0 T group_lossy_packet_registerhandler
000000000003cc20 T group_message_send
000000000003c130 T group_names
000000000003c1f0 T group_number_peers
000000000003ce40 T group_peer_get_object
000000000003bf30 T group_peer_pubkey
000000000003cdb0 T group_peer_set_object
000000000003c010 T group_peername
000000000003bfa0 T group_peername_size
000000000003c230 T group_peernumber_is_ours
0000000000042e00 T group_send_audio
000000000003cd70 T group_set_object
000000000003cb40 T group_title_get
000000000003cae0 T group_title_get_size
000000000003c950 T group_title_send
0000000000043f70 T handle_init
0000000000044520 T handle_msi_packet
0000000000044330 T handle_pop
0000000000044140 T handle_push
0000000000013920 T handle_request
00000000000123d0 T host_to_lendian16
0000000000012610 T host_to_lendian_bytes16
00000000000123e0 T host_to_lendian_bytes32
0000000000012680 T host_to_net
0000000000012d20 T id_closest
0000000000012650 T id_copy
0000000000012630 T id_equal
0000000000010470 T increment_nonce
00000000000104a0 T increment_nonce_number
000000000003c360 T invite_friend
0000000000045ec0 T invoke_call_state_callback
0000000000048de0 R ip4_broadcast
0000000000048dd0 R ip6_broadcast
0000000000010c40 T ip_copy
0000000000011850 T ip_equal
0000000000010bc0 T ip_init
0000000000019bc0 T ip_is_lan
0000000000019b60 T ip_is_local
0000000000010bf0 T ip_isset
0000000000010ca0 T ip_ntoa
0000000000010df0 T ip_parse_addr
0000000000010ba0 T ip_reset
0000000000010c70 T ipport_copy
0000000000011960 T ipport_equal
0000000000010c20 T ipport_isset
0000000000011820 T ipv6_ipv4_in_v6
0000000000042ce0 T join_av_groupchat
000000000003c430 T join_groupchat
000000000001c6f0 T kill_TCP_connection
00000000000216b0 T kill_TCP_server
0000000000043bf0 T kill_call
0000000000017f80 T kill_dht
000000000002f4b0 T kill_friend_connection
000000000002fbd0 T kill_friend_connections
000000000003e220 T kill_groupchats
0000000000034590 T kill_messenger
0000000000026f60 T kill_net_crypto
0000000000010b50 T kill_networking
0000000000028d70 T kill_onion
0000000000029e40 T kill_onion_announce
000000000002e2f0 T kill_onion_client
00000000000109c0 T kill_sock
000000000001d6f0 T kill_tcp_connection_to
000000000001f130 T kill_tcp_connections
0000000000019fe0 T lan_discovery_init
000000000001a010 T lan_discovery_kill
0000000000019de0 T lan_discovery_send
0000000000012620 T lendian_bytes_to_host16
0000000000012430 T lendian_bytes_to_host32
00000000000123c0 T lendian_to_host16
0000000000025ff0 T load_secret_key
0000000000010650 T logger_callback_log
0000000000010640 T logger_kill
0000000000010630 T logger_new
0000000000010660 T logger_write
0000000000030e10 T m_addfriend
0000000000031230 T m_addfriend_norequest
0000000000033660 T m_callback_conference_invite
0000000000033630 T m_callback_connectionstatus
0000000000033650 T m_callback_connectionstatus_internal_av
0000000000033640 T m_callback_core_connection
00000000000335d0 T m_callback_friendmessage
00000000000335c0 T m_callback_friendrequest
00000000000342d0 T m_callback_msi_packet
00000000000335e0 T m_callback_namechange
0000000000033620 T m_callback_read_receipt
00000000000343c0 T m_callback_rtp_packet
00000000000335f0 T m_callback_statusmessage
0000000000033610 T m_callback_typingchange
0000000000033600 T m_callback_userstatus
0000000000033480 T m_copy_self_statusmessage
00000000000333d0 T m_copy_statusmessage
0000000000031490 T m_delfriend
0000000000032620 T m_friend_exists
00000000000316d0 T m_get_friend_connectionstatus
0000000000033590 T m_get_istyping
0000000000033500 T m_get_last_online
0000000000033160 T m_get_name_size
0000000000033190 T m_get_self_name_size
0000000000033470 T m_get_self_statusmessage_size
00000000000334f0 T m_get_self_userstatus
00000000000333a0 T m_get_statusmessage_size
00000000000334b0 T m_get_userstatus
00000000000342e0 T m_msi_packet
0000000000035370 T m_register_state_plugin
0000000000034420 T m_send_custom_lossy_packet
0000000000032650 T m_send_message_generic
00000000000331a0 T m_set_statusmessage
0000000000033310 T m_set_userstatus
0000000000033530 T m_set_usertyping
0000000000012750 T max_s32
0000000000025ea0 T max_speed_reached
0000000000035a20 T messenger_load_state_section
00000000000346b0 T messenger_run_interval
00000000000359d0 T messenger_save
0000000000035970 T messenger_size
0000000000012760 T min_s32
0000000000012770 T min_u32
0000000000012780 T min_u64
00000000000107d0 T mono_time_free
00000000000107e0 T mono_time_get
00000000000107f0 T mono_time_is_timeout
0000000000010880 T mono_time_new
0000000000010810 T mono_time_set_current_time_callback
0000000000010850 T mono_time_update
00000000000432d0 T msg_init
0000000000043520 T msg_parse_header_out
00000000000432f0 T msg_parse_in
00000000000436f0 T msi_answer
0000000000043820 T msi_change_capabilities
0000000000043db0 T msi_hangup
0000000000043a90 T msi_invite
0000000000043c90 T msi_kill
00000000000431e0 T msi_new
0000000000043190 T msi_register_callback
0000000000023510 T nc_dht_pk_callback
0000000000022c50 T nc_get_dht
0000000000022c20 T nc_get_self_public_key
0000000000022c30 T nc_get_self_secret_key
0000000000022c40 T nc_get_tcp_c
00000000000115b0 T net_accept
0000000000011250 T net_connect
0000000000011990 T net_error
0000000000010ac0 T net_family
0000000000048dc2 R net_family_ipv4
0000000000048dc1 R net_family_ipv6
0000000000010930 T net_family_is_ipv4
0000000000010940 T net_family_is_ipv6
0000000000010950 T net_family_is_tcp_family
0000000000010970 T net_family_is_tcp_ipv4
0000000000010980 T net_family_is_tcp_ipv6
0000000000010960 T net_family_is_tcp_onion
0000000000010990 T net_family_is_tox_tcp_ipv4
00000000000109a0 T net_family_is_tox_tcp_ipv6
0000000000010920 T net_family_is_unspec
0000000000048dc0 R net_family_tcp_family
0000000000048dbe R net_family_tcp_ipv4
0000000000048dbd R net_family_tcp_ipv6
0000000000048dbf R net_family_tcp_onion
0000000000048dbc R net_family_tox_tcp_ipv4
0000000000048dbb R net_family_tox_tcp_ipv6
0000000000048dc3 R net_family_unspec
00000000000114f0 T net_freeipport
0000000000011310 T net_getipport
0000000000011600 T net_htonl
0000000000011610 T net_htons
0000000000048dc4 R net_invalid_socket
00000000000119b0 T net_kill_strerror
00000000000115a0 T net_listen
00000000000119a0 T net_new_strerror
00000000000116c0 T net_ntohl
00000000000116d0 T net_ntohs
00000000000116e0 T net_pack_u16
0000000000011700 T net_pack_u32
0000000000011730 T net_pack_u64
0000000000010ad0 T net_port
0000000000011580 T net_recv
0000000000011560 T net_send
0000000000011500 T net_socket
00000000000115d0 T net_socket_data_recv_buffer
00000000000126d0 T net_to_host
0000000000011760 T net_unpack_u16
0000000000011780 T net_unpack_u32
00000000000117d0 T net_unpack_u64
0000000000010b00 T networking_at_startup
00000000000121a0 T networking_poll
0000000000010ae0 T networking_registerhandler
000000000001bcb0 T new_TCP_connection
0000000000020f50 T new_TCP_server
0000000000043990 T new_call
0000000000022c60 T new_connection_handler
0000000000022c70 T new_crypto_connection
0000000000018010 T new_dht
0000000000033850 T new_filesender
000000000002f2f0 T new_friend_connection
000000000002f730 T new_friend_connections
000000000003d810 T new_groupchats
0000000000025f80 T new_keys
0000000000035400 T new_messenger
0000000000026030 T new_net_crypto
0000000000012190 T new_networking
0000000000011c60 T new_networking_ex
0000000000010b30 T new_networking_no_udp
0000000000028c70 T new_onion
0000000000029db0 T new_onion_announce
000000000002e1c0 T new_onion_client
0000000000010600 T new_symmetric_key
000000000001d530 T new_tcp_connection_to
000000000001e670 T new_tcp_connections
0000000000014dd0 T node_addable_to_close_list
0000000000043ec0 T on_peer_status
000000000002c140 T onion_add_bs_path_node
000000000002cf30 T onion_addfriend
0000000000029970 T onion_announce_entry_public_key
0000000000029980 T onion_announce_entry_set_time
000000000002c270 T onion_backup_nodes
000000000002d680 T onion_connection_status
000000000002d070 T onion_delfriend
000000000002d170 T onion_dht_pk_callback
000000000002ceb0 T onion_friend_num
000000000002c120 T onion_get_dht
000000000002c130 T onion_get_net_crypto
000000000002d530 T onion_getfriend_DHT_pubkey
000000000002d580 T onion_getfriendip
0000000000027f20 T onion_path_to_nodes
000000000001bca0 T onion_response_handler
0000000000028900 T onion_send_1
000000000002d1b0 T onion_set_friend_DHT_pubkey
000000000002d5c0 T onion_set_friend_online
000000000002d660 T oniondata_registerhandler
000000000001b9c0 T oob_data_handler
0000000000013a90 T pack_ip_port
0000000000013c10 T pack_nodes
0000000000013a40 T packed_node_size
000000000001a2b0 T ping_add
000000000001a990 T ping_array_add
000000000001aaf0 T ping_array_check
000000000001a910 T ping_array_kill
000000000001a890 T ping_array_new
000000000001a6b0 T ping_iterate
000000000001a840 T ping_kill
000000000001a7a0 T ping_new
000000000001a160 T ping_send_request
0000000000010050 T public_key_cmp
0000000000010060 T public_key_valid
0000000000017ca0 T randfriends_nodes
0000000000010560 T random_bytes
00000000000105f0 T random_nonce
0000000000010570 T random_u08
0000000000010590 T random_u16
00000000000105b0 T random_u32
00000000000105d0 T random_u64
0000000000044800 T rb_data
00000000000446a0 T rb_empty
0000000000044680 T rb_full
00000000000447a0 T rb_kill
0000000000044740 T rb_new
0000000000044700 T rb_read
00000000000447d0 T rb_size
00000000000446b0 T rb_write
000000000001fa30 T read_TCP_length
000000000001fab0 T read_TCP_packet
000000000001fb30 T read_packet_TCP_secure_connection
000000000002d130 T recv_tcp_relay_handler
000000000002fe40 T remove_request_received
0000000000016fc0 T route_packet
00000000000171d0 T route_tofriend
000000000001b9b0 T routing_data_handler
000000000001b4d0 T routing_response_handler
000000000001b4e0 T routing_status_handler
00000000000453c0 T rtp_allow_receiving
0000000000044850 T rtp_header_pack
0000000000044950 T rtp_header_unpack
00000000000455e0 T rtp_kill
0000000000045440 T rtp_new
0000000000045610 T rtp_send_data
00000000000455b0 T rtp_stop_receiving
0000000000025f90 T save_keys
0000000000029be0 T send_announce_request
0000000000033670 T send_conference_invite_packet
00000000000344e0 T send_custom_lossless_packet
000000000001b4f0 T send_data
0000000000029ce0 T send_data_request
000000000001b9d0 T send_disconnect_request
0000000000043940 T send_error
000000000002f650 T send_friend_request_packet
000000000003cc80 T send_group_lossy_packet
00000000000247e0 T send_lossy_cryptpacket
000000000003ce90 T send_name_all_groups
000000000002c470 T send_onion_data
0000000000028700 T send_onion_packet
000000000001bb80 T send_onion_request
00000000000287a0 T send_onion_response
000000000001b770 T send_oob_packet
000000000001d200 T send_packet_tcp_connection
000000000001b2f0 T send_routing_request
0000000000023380 T send_tcp_onion_request
0000000000042480 T send_update
00000000000119c0 T sendpacket
0000000000028c60 T set_callback_handle_recv_1
000000000002f180 T set_dht_temp_pk
0000000000023000 T set_direct_ip_port
000000000002fe30 T set_filter_function
000000000002f630 T set_friend_request_callback
000000000002f2a0 T set_global_status_callback
000000000002fe00 T set_nospam
000000000001d520 T set_onion_packet_tcp_connection_callback
000000000001d510 T set_oob_packet_tcp_connection_callback
000000000001d500 T set_packet_tcp_connection_callback
0000000000010a40 T set_socket_dualstack
00000000000109d0 T set_socket_nonblock
0000000000010a00 T set_socket_nosigpipe
0000000000010a10 T set_socket_reuseaddr
000000000001b980 T set_tcp_connection_number
000000000001dae0 T set_tcp_connection_to_status
000000000001e520 T set_tcp_onion_status
00000000000329a0 T setfriendname
0000000000032f60 T setname
00000000000109b0 T sock_valid
0000000000012440 T state_load
00000000000123f0 T state_write_section_header
000000000001b2b0 T tcp_con_custom_object
000000000001b2c0 T tcp_con_custom_uint
000000000001b270 T tcp_con_ip_port
000000000001b260 T tcp_con_public_key
000000000001b2d0 T tcp_con_set_custom_object
000000000001b2e0 T tcp_con_set_custom_uint
000000000001b2a0 T tcp_con_status
000000000001e2f0 T tcp_connection_to_online_tcp_relays
000000000001d1f0 T tcp_connections_public_key
000000000001e3c0 T tcp_copy_connected_relays
000000000001d430 T tcp_send_onion_request
000000000001d490 T tcp_send_oob_packet
000000000001f610 T tcp_server_listen_count
000000000001f600 T tcp_server_public_key
000000000003f760 T tox_add_tcp_relay
000000000003e700 T tox_address_size
000000000003f5d0 T tox_bootstrap
0000000000040a70 T tox_callback_conference_connected
0000000000040a60 T tox_callback_conference_invite
0000000000040a80 T tox_callback_conference_message
0000000000040ab0 T tox_callback_conference_peer_list_changed
0000000000040aa0 T tox_callback_conference_peer_name
0000000000040a90 T tox_callback_conference_title
0000000000040a30 T tox_callback_file_chunk_request
0000000000040a40 T tox_callback_file_recv
0000000000040a50 T tox_callback_file_recv_chunk
0000000000040750 T tox_callback_file_recv_control
0000000000040340 T tox_callback_friend_connection_status
0000000000041490 T tox_callback_friend_lossless_packet
00000000000413a0 T tox_callback_friend_lossy_packet
0000000000040570 T tox_callback_friend_message
0000000000040160 T tox_callback_friend_name
0000000000040550 T tox_callback_friend_read_receipt
0000000000040560 T tox_callback_friend_request
00000000000402f0 T tox_callback_friend_status
00000000000402a0 T tox_callback_friend_status_message
00000000000403a0 T tox_callback_friend_typing
000000000003f8f0 T tox_callback_self_connection_status
00000000000411d0 T tox_conference_by_id
0000000000041240 T tox_conference_by_uid
0000000000040b00 T tox_conference_delete
0000000000041140 T tox_conference_get_chatlist
0000000000041120 T tox_conference_get_chatlist_size
00000000000411b0 T tox_conference_get_id
0000000000041030 T tox_conference_get_title
0000000000040fc0 T tox_conference_get_title_size
0000000000041170 T tox_conference_get_type
00000000000411c0 T tox_conference_get_uid
0000000000040d90 T tox_conference_invite
0000000000040e10 T tox_conference_join
0000000000040ac0 T tox_conference_new
0000000000040b80 T tox_conference_peer_count
0000000000040c30 T tox_conference_peer_get_name
0000000000040bc0 T tox_conference_peer_get_name_size
0000000000040ca0 T tox_conference_peer_get_public_key
0000000000040d10 T tox_conference_peer_number_is_ours
0000000000040f00 T tox_conference_send_message
00000000000410a0 T tox_conference_set_title
00000000000405c0 T tox_file_control
0000000000040760 T tox_file_get_file_id
000000000003e770 T tox_file_id_length
0000000000040690 T tox_file_seek
00000000000407f0 T tox_file_send
0000000000040950 T tox_file_send_chunk
000000000003fc00 T tox_friend_add
000000000003fd50 T tox_friend_add_norequest
000000000003ff30 T tox_friend_by_public_key
000000000003fed0 T tox_friend_delete
0000000000040000 T tox_friend_exists
0000000000040300 T tox_friend_get_connection_status
0000000000040020 T tox_friend_get_last_online
00000000000400f0 T tox_friend_get_name
00000000000400b0 T tox_friend_get_name_size
000000000003ffa0 T tox_friend_get_public_key
00000000000402b0 T tox_friend_get_status
00000000000401b0 T tox_friend_get_status_message
0000000000040170 T tox_friend_get_status_message_size
0000000000040350 T tox_friend_get_typing
00000000000413b0 T tox_friend_send_lossless_packet
00000000000412b0 T tox_friend_send_lossy_packet
0000000000040410 T tox_friend_send_message
00000000000484d0 T tox_get_salt
000000000003f550 T tox_get_savedata
000000000003f520 T tox_get_savedata_size
0000000000040580 T tox_hash
000000000003e760 T tox_hash_length
0000000000048b40 T tox_is_data_encrypted
000000000003f910 T tox_iterate
000000000003f900 T tox_iteration_interval
000000000003f470 T tox_kill
000000000003e750 T tox_max_custom_packet_size
000000000003e780 T tox_max_filename_length
000000000003e730 T tox_max_friend_request_length
000000000003e790 T tox_max_hostname_length
000000000003e740 T tox_max_message_length
000000000003e710 T tox_max_name_length
000000000003e720 T tox_max_status_message_length
000000000003ee80 T tox_new
000000000003e6f0 T tox_nospam_size
000000000003e980 T tox_options_default
000000000003eaa0 T tox_options_free
000000000003e860 T tox_options_get_end_port
000000000003e8a0 T tox_options_get_hole_punching_enabled
000000000003e7a0 T tox_options_get_ipv6_enabled
000000000003e940 T tox_options_get_local_discovery_enabled
000000000003e900 T tox_options_get_log_callback
000000000003e920 T tox_options_get_log_user_data
000000000003e800 T tox_options_get_proxy_host
000000000003e820 T tox_options_get_proxy_port
000000000003e7e0 T tox_options_get_proxy_type
000000000003e960 T tox_options_get_savedata_data
000000000003e8e0 T tox_options_get_savedata_length
000000000003e8c0 T tox_options_get_savedata_type
000000000003e840 T tox_options_get_start_port
000000000003e880 T tox_options_get_tcp_port
000000000003e7c0 T tox_options_get_udp_enabled
000000000003ea40 T tox_options_new
000000000003e870 T tox_options_set_end_port
000000000003e8b0 T tox_options_set_hole_punching_enabled
000000000003e7b0 T tox_options_set_ipv6_enabled
000000000003e950 T tox_options_set_local_discovery_enabled
000000000003e910 T tox_options_set_log_callback
000000000003e930 T tox_options_set_log_user_data
000000000003e810 T tox_options_set_proxy_host
000000000003e830 T tox_options_set_proxy_port
000000000003e7f0 T tox_options_set_proxy_type
000000000003e970 T tox_options_set_savedata_data
000000000003e8f0 T tox_options_set_savedata_length
000000000003e8d0 T tox_options_set_savedata_type
000000000003e850 T tox_options_set_start_port
000000000003e890 T tox_options_set_tcp_port
000000000003e7d0 T tox_options_set_udp_enabled
0000000000048a10 T tox_pass_decrypt
0000000000048830 T tox_pass_encrypt
00000000000484b0 T tox_pass_encryption_extra_length
00000000000488e0 T tox_pass_key_decrypt
00000000000486d0 T tox_pass_key_derive
00000000000485b0 T tox_pass_key_derive_with_salt
0000000000048710 T tox_pass_key_encrypt
00000000000484c0 T tox_pass_key_free
00000000000484a0 T tox_pass_key_length
0000000000048490 T tox_pass_salt_length
000000000003e6d0 T tox_public_key_size
000000000003e6e0 T tox_secret_key_size
000000000003f960 T tox_self_get_address
000000000003f8c0 T tox_self_get_connection_status
00000000000414a0 T tox_self_get_dht_id
0000000000040070 T tox_self_get_friend_list
0000000000040050 T tox_self_get_friend_list_size
000000000003faf0 T tox_self_get_name
000000000003fad0 T tox_self_get_name_size
000000000003f9a0 T tox_self_get_nospam
000000000003f9c0 T tox_self_get_public_key
000000000003fa00 T tox_self_get_secret_key
000000000003fbe0 T tox_self_get_status
000000000003fbb0 T tox_self_get_status_message
000000000003fb90 T tox_self_get_status_message_size
0000000000041520 T tox_self_get_tcp_port
00000000000414e0 T tox_self_get_udp_port
000000000003fa40 T tox_self_set_name
000000000003f980 T tox_self_set_nospam
000000000003fbd0 T tox_self_set_status
000000000003fb10 T tox_self_set_status_message
00000000000403b0 T tox_self_set_typing
000000000003ee60 T tox_version_is_compatible
000000000003e6a0 T tox_version_major
000000000003e6b0 T tox_version_minor
000000000003e6c0 T tox_version_patch
0000000000047930 T toxav_add_av_groupchat
0000000000047220 T toxav_answer
0000000000046430 T toxav_audio_send_frame
0000000000046170 T toxav_audio_set_bit_rate
0000000000046e30 T toxav_call
0000000000047510 T toxav_call_control
0000000000045da0 T toxav_callback_audio_bit_rate
0000000000045e20 T toxav_callback_audio_receive_frame
0000000000045d20 T toxav_callback_call
0000000000045d60 T toxav_callback_call_state
0000000000045de0 T toxav_callback_video_bit_rate
0000000000045e60 T toxav_callback_video_receive_frame
0000000000045cf0 T toxav_get_tox
0000000000047980 T toxav_group_send_audio
0000000000045f90 T toxav_iterate
0000000000045d00 T toxav_iteration_interval
0000000000047950 T toxav_join_av_groupchat
0000000000047450 T toxav_kill
0000000000045b40 T toxav_new
00000000000466a0 T toxav_video_send_frame
00000000000462d0 T toxav_video_set_bit_rate
0000000000013b60 T unpack_ip_port
0000000000013d00 T unpack_nodes
0000000000047e60 T vc_iterate
0000000000047df0 T vc_kill
00000000000479a0 T vc_new
0000000000047fb0 T vc_queue_message
0000000000048100 T vc_reconfigure_encoder
0000000000045eb0 T video_bit_rate_invalid
000000000001f620 T wipe_priority_list
0000000000024740 T write_cryptpacket

@nurupo
Copy link
Member

nurupo commented Dec 12, 2018

Oh, and I don't recommend using master for anything, better wait for a point release, that git checkout 0f8f82a3cf639233c69c893c102a82b6e11ae98e was just to show that it's working now.

@iphydf iphydf added this to the v0.2.x milestone Jan 6, 2019
@nurupo
Copy link
Member

nurupo commented Jan 28, 2019

So, where are we at in this issue, @yangfl? My understanding is that it has been resolved with the -DSTRICT_ABI being fixed, so you can use it and have only symbols from the public API being exported, instead of everything being exported.

@yangfl
Copy link
Author

yangfl commented Jan 28, 2019

Oh, I forgot to reply that solves my issue. Thank you!

@yangfl yangfl closed this as completed Jan 28, 2019
@robinlinden robinlinden modified the milestones: v0.2.x, v0.2.10 May 20, 2019
@iphydf iphydf added the P3 Low priority label Feb 4, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P3 Low priority
Projects
None yet
Development

No branches or pull requests

4 participants