GithubHelp home page GithubHelp logo

Comments (6)

liangdong avatar liangdong commented on June 16, 2024

nm librabbitmq.so like this:

             U abort@@GLIBC_2.2.5

0000000000007f90 t amqp_abort
00000000000082e0 t amqp_basic_ack
0000000000007e40 t amqp_basic_cancel
0000000000007da0 t amqp_basic_consume
0000000000008310 t amqp_basic_get
0000000000008040 t amqp_basic_publish
0000000000007d70 t amqp_basic_qos
0000000000007e80 t amqp_basic_recover
00000000000083b0 t amqp_basic_reject
00000000000090f0 t amqp_bytes_free
00000000000090d0 t amqp_bytes_malloc
0000000000009080 t amqp_bytes_malloc_dup
00000000000081e0 t amqp_channel_close
0000000000007920 t amqp_channel_flow
00000000000078e0 t amqp_channel_open
0000000000007f10 t amqp_confirm_select
0000000000008270 t amqp_connection_close
00000000000011f0 t amqp_constant_is_hard_error
0000000000001010 t amqp_constant_name
0000000000009060 t amqp_cstring_bytes
00000000000092e0 t amqp_data_in_buffer
000000000000a2a0 t amqp_decode_field_value
0000000000001850 t amqp_decode_method
00000000000045d0 t amqp_decode_properties
000000000000a090 t amqp_decode_table
000000000000abf0 t amqp_default_connection_info
0000000000008410 t amqp_destroy_connection
000000000000bfe0 r amqp_empty_array
000000000000c000 r amqp_empty_bytes
000000000000bff0 r amqp_empty_table
0000000000000fc0 t amqp_encode_bytes
000000000000a710 t amqp_encode_field_value
0000000000004b30 t amqp_encode_method
0000000000007340 t amqp_encode_properties
000000000000aa60 t amqp_encode_table
0000000000007f40 t amqp_error_string
0000000000007a40 t amqp_exchange_bind
0000000000007950 t amqp_exchange_declare
00000000000079f0 t amqp_exchange_delete
0000000000007ad0 t amqp_exchange_unbind
00000000000092d0 t amqp_frames_enqueued
0000000000008400 t amqp_get_channel_max
00000000000099e0 t amqp_get_rpc_reply
00000000000083e0 t amqp_get_sockfd
0000000000008710 t amqp_handle_input
0000000000009a10 t amqp_login
0000000000008b00 t amqp_maybe_release_buffers
0000000000001810 t amqp_method_has_content
0000000000001290 t amqp_method_name
0000000000008550 t amqp_new_connection
0000000000009110 t amqp_open_socket
000000000000b460 t amqp_os_error_string
000000000000ac20 t amqp_parse_url
0000000000008e70 t amqp_pool_alloc
0000000000009040 t amqp_pool_alloc_bytes
0000000000007bd0 t amqp_queue_bind
0000000000007b60 t amqp_queue_declare
0000000000007ca0 t amqp_queue_delete
0000000000007c60 t amqp_queue_purge
0000000000007cf0 t amqp_queue_unbind
0000000000008ab0 t amqp_release_buffers
0000000000008a90 t amqp_release_buffers_ok
0000000000008b30 t amqp_send_frame
00000000000092a0 t amqp_send_header
0000000000009620 t amqp_send_method
00000000000083f0 t amqp_set_sockfd
0000000000009650 t amqp_simple_rpc
0000000000009990 t amqp_simple_rpc_decoded
0000000000009300 t amqp_simple_wait_frame
0000000000009430 t amqp_simple_wait_method
000000000000b3a0 t amqp_socket_error
000000000000b390 t amqp_socket_init
000000000000b3c0 t amqp_socket_socket
000000000000abb0 t amqp_table_entry_cmp
0000000000008470 t amqp_tune_connection
0000000000007ed0 t amqp_tx_commit
0000000000007ef0 t amqp_tx_rollback
0000000000007eb0 t amqp_tx_select
0000000000008cd0 t amqp_version

what's wrong with it.

from rabbitmq-c.

alanxz avatar alanxz commented on June 16, 2024

From your nm output it looks like all of the symbols in the shared library are hidden (lower-case 't' instead of upper-case 'T' in the nm output). Comparing it to what I have, this shouldn't be the case.

Do you have the CFLAGS environment variable set to something by chance?

from rabbitmq-c.

liangdong avatar liangdong commented on June 16, 2024

There is no CFLAGS in envrionment variable, i have tried to compile librabbitmq in ubuntu/opensuse with the virtualbox successfully, but it just doesn't work in my company's server.

The server's gcc , autoconf, automake, libtool and so on are old enough but can't be updeted privately, the versions are:

autoconf (GNU Autoconf) 2.59
Written by David J. MacKenzie and Akim Demaille.

ltmain.sh (GNU libtool) 1.5.6 (1.1220.2.95 2004/04/11 05:50:42)

automake (GNU automake) 1.9.2
Written by Tom Tromey [email protected].

gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2)
Copyright (C) 2004 Free Software Foundation, Inc.

i have tried both cmake and autoreconf methods, both failed here...

i think the tools are too old to work well with the project, do i have any methods to compile the source directly without cmake or automake, just write a simple makefile to do it myself?

thanks a lot for help.

from rabbitmq-c.

liangdong avatar liangdong commented on June 16, 2024

i remove some cflags in flag.make, and i works well now , maybe my gcc doesn't support some features... thanks.

from rabbitmq-c.

alanxz avatar alanxz commented on June 16, 2024

Ah the problem is that your gcc version is old enough that it doesn't support the __attribute__(visibility("default")) function decorator, which gets disabled in the code if GCC is old enough, but we do not disable the compiler flag -fvisibility=hidden which causes all of the symbols in the library to be marked as hidden.

The workaround is to remove the -fvisibility=hidden from the compiler flags on line 11 of CMakeLists.txt in the root folder. I will add some logic to CMakeLists.txt to make this happen automatically for GCC 3.x and lower.

from rabbitmq-c.

liangdong avatar liangdong commented on June 16, 2024

thank you very much for your help, and for your project as well :)

from rabbitmq-c.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.