summaryrefslogtreecommitdiffstats
path: root/xlators/encryption/crypt/src/crypt.c
diff options
context:
space:
mode:
authorKaleb S. KEITHLEY <kkeithle@redhat.com>2018-09-11 14:17:02 -0400
committerShyamsundar Ranganathan <srangana@redhat.com>2018-09-12 14:38:13 +0000
commitf15e948da3881b61a8b546af7c64340db87d3cf7 (patch)
tree1d62049561f23371c00ddfa0069cba8e5da8d89a /xlators/encryption/crypt/src/crypt.c
parentd9475b8d06ca184b5305575e5f04490604f8ca2c (diff)
downloadglusterfs-6dev.tar.gz
glusterfs-6dev.tar.xz
glusterfs-6dev.zip
build: cleanup xlator link, --no-undefined, libuuidv6dev
While attempting to build a (pre-)5.0 of glusterfs on Ubuntu bionic and cosmic, it became apparent that there are some gremlins hiding in the combination of the xlator export-symbols, the newish addition of -Wl,--no-undefined, and the new switch to libuuid from the old contrib/uuid. Note: even though Fedora 28 (and later) and Ubuntu bionic (and later) have the same nominal version of libtool, the Fedora version appears to do a better job of recursing through dependencies to determine the libraries to link with. Examination of the build logs showed that despite appearing to work on Fedora, not all xlators and shared libs were linked with -Wl, --no-undefined, and -luuid. And in the case of the gnfs xlator, it was not only not linked with -Wl,--no-undefined but alsos not linked with -lgfxdr and -lgfrpc. Added GF_XLATOR_LDFLAGS, similar to GF_XLATOR_DEFAULT_LDFLAGS. GF_XLATOR_DEFAULT_LDFLAGS is for xlators that export/expose the default or common set of symbols. GF_XLATOR_LDFLAGS is for those remaining xlators that export/expose non-default symbols, e.g. dht and glupy. This removes the need in the future to add things like $(UUID_LIBS) to every xlator's Makefile.am. Just add it to GF_XLATOR_LDFLAGS and GF_XLATOR_DEFAULT_LDFLAGS in configure.ac and you're done. This patch was tested on Fedora 28 (build, rpmbuild), Fedora Rawhide/30 (rpmbuild), RHEL8 (rpmbuild), CentOS7 (rpmbuild), Fedora koji --scratch build for f30/rawhide, and a Launchpad build for Ubuntu cosmic/18.10. Change-Id: Ieca104fa5c5d3c094e701c8ca4a73754dd0292b0 updates: bz#1193929 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'xlators/encryption/crypt/src/crypt.c')
0 files changed, 0 insertions, 0 deletions
pc">#define BASE_N_EVENTS 4 void context_clear (struct context *c); void context_clear_1 (struct context *c); void context_clear_2 (struct context *c); void context_init_1 (struct context *c); void context_clear_all_except_first_time (struct context *c); bool init_static (void); void uninit_static (void); #define IVM_LEVEL_1 (1<<0) #define IVM_LEVEL_2 (1<<1) void init_verb_mute (struct context *c, unsigned int flags); void init_options_dev (struct options *options); bool print_openssl_info (const struct options *options); bool do_genkey (const struct options *options); bool do_persist_tuntap (const struct options *options); void pre_setup (const struct options *options); void init_instance_handle_signals (struct context *c, const struct env_set *env, const unsigned int flags); void init_instance (struct context *c, const struct env_set *env, const unsigned int flags); void do_route (const struct options *options, struct route_list *route_list, const struct tuntap *tt, const struct plugin_list *plugins, struct env_set *es); void close_instance (struct context *c); bool do_test_crypto (const struct options *o); void context_gc_free (struct context *c); void do_up (struct context *c, bool pulled_options, unsigned int option_types_found); unsigned int pull_permission_mask (const struct context *c); const char *format_common_name (struct context *c, struct gc_arena *gc); void reset_coarse_timers (struct context *c); void do_deferred_options (struct context *c, const unsigned int found); void inherit_context_child (struct context *dest, const struct context *src); void inherit_context_top (struct context *dest, const struct context *src); #define CC_GC_FREE (1<<0) #define CC_USR1_TO_HUP (1<<1) #define CC_HARD_USR1_TO_HUP (1<<2) void close_context (struct context *c, int sig, unsigned int flags); struct context_buffers *init_context_buffers (const struct frame *frame); void free_context_buffers (struct context_buffers *b); #define ISC_ERRORS (1<<0) #define ISC_SERVER (1<<1) void initialization_sequence_completed (struct context *c, const unsigned int flags); #ifdef ENABLE_MANAGEMENT void init_management (struct context *c); bool open_management (struct context *c); void close_management (void); void management_show_net_callback (void *arg, const int msglevel); #endif void init_management_callback_p2p (struct context *c); void uninit_management_callback (void); #ifdef ENABLE_PLUGIN void open_plugins (struct context *c, const bool import_options); #endif #endif