Currently (7.2 and earlier), all daemons and command line tools are linked against the same set of libraries. This leaves dependencies on pcre and gsoap for command line tools and X11 for daemons and tools (only kbdd requires). These, and other, dependencies are not necessary. They are an artifact of the build system, which needs to be fixed.
Bad: $ condor_version $CondorVersion: 7.4.1 Dec 11 2009 BuildID: RH-7.4.1-0.7.1.el5 PRE-RELEASE $ $CondorPlatform: X86_64-LINUX_RHEL5 $ $ ldd $(which condor_shadow) | grep -e soap -e pcre -e classad libpcre.so.0 => /lib64/libpcre.so.0 (0x0000003210400000) libgsoapssl++.so.0 => /usr/lib64/libgsoapssl++.so.0 (0x0000003211400000) libclassad.so.0 => /usr/lib64/libclassad.so.0 (0x0000003210c00000) Good: $ ./release_dir/bin/condor_version $CondorVersion: 7.5.0 Jan 4 2010 PRE-RELEASE $ $CondorPlatform: I386-LINUX_F12 $ $ ldd release_dir/sbin/condor_shadow | grep -e soap -e pcre -e classad libpcre.so.0 => /lib/libpcre.so.0 (0x07c52000) libclassad.so.0 => /usr/lib/libclassad.so.0 (0x003e5000)
Better: $ ./release_dir/bin/condor_version $CondorVersion: 7.5.0 Jan 4 2010 PRE-RELEASE $ $CondorPlatform: I386-LINUX_F12 $ $ ldd release_dir/sbin/condor_shadow | grep -e soap -e pcre -e classad libpcre.so.0 => /lib/libpcre.so.0 (0x07c52000)
Acceptable: $ grep libgsoap release_dir/bin/condor_* release_dir/sbin/condor_* Binary file release_dir/sbin/condor_collector matches Binary file release_dir/sbin/condor_schedd matches $ grep libclassad release_dir/bin/condor_* release_dir/sbin/condor_* Binary file release_dir/bin/condor_check_userlogs matches Binary file release_dir/bin/condor_dagman matches Binary file release_dir/bin/condor_q matches Binary file release_dir/bin/condor_submit_dag matches Binary file release_dir/bin/condor_userlog matches Binary file release_dir/bin/condor_userlog_job_counter matches
pcre gets pulled in for classad's regex() function and for user mapping via the MapFile - regex are not used for ALLOW/DENY security configuration
commit cfe7e27765d818a6b8d8c695d7ad2984e45dedab Author: Matthew Farrellee <matt@> Date: Mon Jan 4 12:04:32 2010 -0500 Pulled -lclassad from general LIBS, all makefiles that needed -lclassad had it explicitly
Acceptable: $ grep libpq /usr/sbin/condor_* Binary file /usr/sbin/condor_advertise matches Binary file /usr/sbin/condor_dbmsd matches Binary file /usr/sbin/condor_fetchlog matches Binary file /usr/sbin/condor_off matches Binary file /usr/sbin/condor_on matches Binary file /usr/sbin/condor_preen matches Binary file /usr/sbin/condor_quill matches Binary file /usr/sbin/condor_reconfig matches Binary file /usr/sbin/condor_restart matches Binary file /usr/sbin/condor_store_cred matches $ grep libpq /usr/bin/condor_* Binary file /usr/bin/condor_cod matches Binary file /usr/bin/condor_config_val matches Binary file /usr/bin/condor_dump_history matches Binary file /usr/bin/condor_findhost matches Binary file /usr/bin/condor_history matches Binary file /usr/bin/condor_load_history matches Binary file /usr/bin/condor_q matches Binary file /usr/bin/condor_qedit matches Binary file /usr/bin/condor_reschedule matches Binary file /usr/bin/condor_ssh_to_job matches Binary file /usr/bin/condor_stats matches Binary file /usr/bin/condor_transfer_data matches Binary file /usr/bin/condor_userprio matches Binary file /usr/bin/condor_vacate matches Binary file /usr/bin/condor_version matches Binary file /usr/bin/condor_wait matches
Fixed in 7.4.2-0.1
As of 7.4.3-0.11, libpq should be removed entirely
Verify with the "Better" and "Acceptable" comments
libpq is not linked anymore. libX11 is linked by condor_kbdd only. The usage of libgsoap and libclassad has been restricted according to Comment #3 . (The usage of pcre has been moved to bz584825). Verified on condor 7.4.3-0.16 on RHEL 4.8/5.5, i386/x86_64.
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Previously, all daemons and command line tools were linked against the same set of libraries, which left dependencies on pcre and gsoap. This update removes these redundant dependencies. These, and other, dependencies are not necessary.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2010-0773.html