# emerge php USE pam imap ssl--broken imap

## mwickes

Does anyone have a work around for building imap support into php without installing uw-imap. It appears that imap is the problem child as emerge php with imap ssl pam in the USE clause causes apache to error upon starting with an "undefined symbol: pam_start". But if you emerge php with only pam ssl in the USE clause and remove imap or by entering -imap, everything merges and starts with no problems--> php works, ssl works and apache works.

When php is compiling without imap I notice that when I see "yes" in the following line apache,ssl,php works.

Checking for pam_start in -lpam...(cached)yes

however with imap support included in the USE clause when I see "no" in the php line when its compiling.

Checking for pam_start in -lpam...(cached)no  

apache will not start with the following error:

>>> /usr/lib/php/build/ltlib.mk

>>> /usr/lib/php/build/mkdep.awk

>>> /usr/lib/php/build/program.mk

>>> /usr/lib/php/build/rules.mk

>>> /usr/lib/php/build/rules_common.mk

>>> /usr/lib/php/build/rules_pear.mk

>>> /usr/lib/php/build/dynlib.mk

>>> /usr/lib/php/build/shtool

>>> /usr/lib/php/build/dynlib.m4

>>> /usr/lib/php/build/acinclude.m4

>>> /usr/lib/php/Cache.php

>>> /usr/lib/php/DB.php

>>> /usr/lib/php/HTTP.php

>>> /usr/lib/php/Log.php

>>> /usr/lib/php/Mail.php

>>> /usr/lib/php/PEAR.php

>>> /usr/lib/php/System.php

--- /usr/lib/apache-extramodules/

>>> /usr/lib/apache-extramodules/libphp4.so

--- /usr/include/

>>> /usr/include/php/

>>> /usr/include/php/Zend/

>>> /usr/include/php/Zend/FlexLexer.h

>>> /usr/include/php/Zend/acconfig.h

>>> /usr/include/php/Zend/zend.h

>>> /usr/include/php/Zend/zend_API.h

>>> /usr/include/php/Zend/zend_alloc.h

>>> /usr/include/php/Zend/zend_builtin_functions.h

>>> /usr/include/php/Zend/zend_compile.h

>>> /usr/include/php/Zend/zend_config.h

>>> /usr/include/php/Zend/zend_config.w32.h

>>> /usr/include/php/Zend/zend_constants.h

>>> /usr/include/php/Zend/zend_dynamic_array.h

>>> /usr/include/php/Zend/zend_errors.h

>>> /usr/include/php/Zend/zend_execute.h

>>> /usr/include/php/Zend/zend_execute_locks.h

>>> /usr/include/php/Zend/zend_extensions.h

>>> /usr/include/php/Zend/zend_fast_cache.h

>>> /usr/include/php/Zend/zend_globals.h

>>> /usr/include/php/Zend/zend_globals_macros.h

>>> /usr/include/php/Zend/zend_hash.h

>>> /usr/include/php/Zend/zend_highlight.h

>>> /usr/include/php/Zend/zend_indent.h

>>> /usr/include/php/Zend/zend_ini.h

>>> /usr/include/php/Zend/zend_ini_parser.h

>>> /usr/include/php/Zend/zend_ini_scanner.h

>>> /usr/include/php/Zend/zend_istdiostream.h

>>> /usr/include/php/Zend/zend_language_parser.h

>>> /usr/include/php/Zend/zend_language_scanner.h

>>> /usr/include/php/Zend/zend_list.h

>>> /usr/include/php/Zend/zend_llist.h

>>> /usr/include/php/Zend/zend_modules.h

>>> /usr/include/php/Zend/zend_operators.h

>>> /usr/include/php/Zend/zend_ptr_stack.h

>>> /usr/include/php/Zend/zend_stack.h

>>> /usr/include/php/Zend/zend_static_allocator.h

>>> /usr/include/php/Zend/zend_variables.h

>>> /usr/include/php/TSRM/

>>> /usr/include/php/TSRM/TSRM.h

>>> /usr/include/php/TSRM/acconfig.h

>>> /usr/include/php/TSRM/readdir.h

>>> /usr/include/php/TSRM/tsrm_config.h

>>> /usr/include/php/TSRM/tsrm_config.w32.h

>>> /usr/include/php/TSRM/tsrm_config_common.h

>>> /usr/include/php/TSRM/tsrm_strtok_r.h

>>> /usr/include/php/TSRM/tsrm_virtual_cwd.h

>>> /usr/include/php/TSRM/tsrm_win32.h

>>> /usr/include/php/ext/

>>> /usr/include/php/ext/standard/

>>> /usr/include/php/ext/standard/base64.h

>>> /usr/include/php/ext/standard/basic_functions.h

>>> /usr/include/php/ext/standard/credits.h

>>> /usr/include/php/ext/standard/credits_ext.h

>>> /usr/include/php/ext/standard/credits_sapi.h

>>> /usr/include/php/ext/standard/cyr_convert.h

>>> /usr/include/php/ext/standard/datetime.h

>>> /usr/include/php/ext/standard/dl.h

>>> /usr/include/php/ext/standard/dns.h

>>> /usr/include/php/ext/standard/exec.h

>>> /usr/include/php/ext/standard/file.h

>>> /usr/include/php/ext/standard/flock_compat.h

>>> /usr/include/php/ext/standard/fsock.h

>>> /usr/include/php/ext/standard/head.h

>>> /usr/include/php/ext/standard/html.h

>>> /usr/include/php/ext/standard/info.h

>>> /usr/include/php/ext/standard/md5.h

>>> /usr/include/php/ext/standard/microtime.h

>>> /usr/include/php/ext/standard/pack.h

>>> /usr/include/php/ext/standard/pageinfo.h

>>> /usr/include/php/ext/standard/php_array.h

>>> /usr/include/php/ext/standard/php_assert.h

>>> /usr/include/php/ext/standard/php_browscap.h

>>> /usr/include/php/ext/standard/php_crypt.h

>>> /usr/include/php/ext/standard/php_dir.h

>>> /usr/include/php/ext/standard/php_ext_syslog.h

>>> /usr/include/php/ext/standard/php_filestat.h

>>> /usr/include/php/ext/standard/php_fopen_wrappers.h

>>> /usr/include/php/ext/standard/php_image.h

>>> /usr/include/php/ext/standard/php_incomplete_class.h

>>> /usr/include/php/ext/standard/php_iptc.h

>>> /usr/include/php/ext/standard/php_lcg.h

>>> /usr/include/php/ext/standard/php_link.h

>>> /usr/include/php/ext/standard/php_mail.h

>>> /usr/include/php/ext/standard/php_math.h

>>> /usr/include/php/ext/standard/php_metaphone.h

>>> /usr/include/php/ext/standard/php_parsedate.h

>>> /usr/include/php/ext/standard/php_rand.h

>>> /usr/include/php/ext/standard/php_smart_str.h

>>> /usr/include/php/ext/standard/php_smart_str_public.h

>>> /usr/include/php/ext/standard/php_standard.h

>>> /usr/include/php/ext/standard/php_string.h

>>> /usr/include/php/ext/standard/php_var.h

>>> /usr/include/php/ext/standard/php_versioning.h

>>> /usr/include/php/ext/standard/quot_print.h

>>> /usr/include/php/ext/standard/reg.h

>>> /usr/include/php/ext/standard/scanf.h

>>> /usr/include/php/ext/standard/type.h

>>> /usr/include/php/ext/standard/uniqid.h

>>> /usr/include/php/ext/standard/url.h

>>> /usr/include/php/ext/standard/url_scanner.h

>>> /usr/include/php/ext/standard/url_scanner_ex.h

>>> /usr/include/php/ext/xml/

>>> /usr/include/php/ext/xml/expat/

>>> /usr/include/php/ext/xml/expat/xmlparse/

>>> /usr/include/php/ext/xml/expat/xmltok/

>>> /usr/include/php/ext/xml/php_xml.h

>>> /usr/include/php/main/

>>> /usr/include/php/main/SAPI.h

>>> /usr/include/php/main/build-defs.h

>>> /usr/include/php/main/config.w32.h

>>> /usr/include/php/main/fopen_wrappers.h

>>> /usr/include/php/main/internal_functions_registry.h

>>> /usr/include/php/main/logos.h

>>> /usr/include/php/main/php.h

>>> /usr/include/php/main/php3_compat.h

>>> /usr/include/php/main/php_compat.h

>>> /usr/include/php/main/php_config.h

>>> /usr/include/php/main/php_content_types.h

>>> /usr/include/php/main/php_globals.h

>>> /usr/include/php/main/php_ini.h

>>> /usr/include/php/main/php_logos.h

>>> /usr/include/php/main/php_main.h

>>> /usr/include/php/main/php_network.h

>>> /usr/include/php/main/php_open_temporary_file.h

>>> /usr/include/php/main/php_output.h

>>> /usr/include/php/main/php_reentrancy.h

>>> /usr/include/php/main/php_regex.h

>>> /usr/include/php/main/php_streams.h

>>> /usr/include/php/main/php_syslog.h

>>> /usr/include/php/main/php_ticks.h

>>> /usr/include/php/main/php_variables.h

>>> /usr/include/php/main/php_version.h

>>> /usr/include/php/main/rfc1867.h

>>> /usr/include/php/main/safe_mode.h

>>> /usr/include/php/main/snprintf.h

>>> /usr/include/php/main/win95nt.h

>>> /usr/include/php/regex/

>>> /usr/include/php/regex/cclass.h

>>> /usr/include/php/regex/cname.h

>>> /usr/include/php/regex/regex.h

>>> /usr/include/php/regex/regex2.h

>>> /usr/include/php/regex/regex_extra.h

>>> /usr/include/php/regex/utils.h

>>> /usr/include/php/acconfig.h

>>> /usr/include/php/php_version.h

--- /usr/bin/

>>> /usr/bin/phpize

>>> /usr/bin/php-config

>>> /usr/bin/pear

>>> /usr/bin/pearize

>>> /usr/bin/phptar

>>> /usr/bin/phpextdist

--- /usr/share/

--- /usr/share/doc/

>>> /usr/share/doc/php-4.1.2-r7/

>>> /usr/share/doc/php-4.1.2-r7/CODING_STANDARDS.gz

>>> /usr/share/doc/php-4.1.2-r7/LICENSE.gz

>>> /usr/share/doc/php-4.1.2-r7/EXTENSIONS.gz

>>> /usr/share/doc/php-4.1.2-r7/RELEASE_PROCESS.gz

>>> /usr/share/doc/php-4.1.2-r7/README.CVS-RULES.gz

>>> /usr/share/doc/php-4.1.2-r7/README.EXT_SKEL.gz

>>> /usr/share/doc/php-4.1.2-r7/README.EXTENSIONS.gz

>>> /usr/share/doc/php-4.1.2-r7/README.QNX.gz

>>> /usr/share/doc/php-4.1.2-r7/README.STREAMS.gz

>>> /usr/share/doc/php-4.1.2-r7/README.SELF-CONTAINED-EXTENSIONS.gz

>>> /usr/share/doc/php-4.1.2-r7/README.Zeus.gz

>>> /usr/share/doc/php-4.1.2-r7/TODO.gz

>>> /usr/share/doc/php-4.1.2-r7/NEWS.gz

>>> /usr/share/doc/php-4.1.2-r7/ChangeLog.1999.gz

>>> /usr/share/doc/php-4.1.2-r7/ChangeLog.2000.gz

>>> /usr/share/doc/php-4.1.2-r7/TODO-4.2.txt.gz

>>> /usr/share/doc/php-4.1.2-r7/apidoc-zend.txt.gz

>>> /usr/share/doc/php-4.1.2-r7/apidoc.txt.gz

--- /etc/

--- /etc/apache/

--- /etc/apache/conf/

--- /etc/apache/conf/addon-modules/

>>> /etc/apache/conf/addon-modules/mod_php.conf

>>> /etc/apache/conf/addon-modules/php.ini

>>> /etc/apache/conf/php.ini -> /etc/apache/conf/addon-modules/php.ini

 *

 * Execute ebuild /var/db/pkg/dev-lang/php-4.1.2-r7/php-4.1.2-r7.ebuild config

 * to have your apache.conf auto-updated for use with this module.

 * You should then edit your /etc/conf.d/apache file to suit.

 *

>>> Regenerating /etc/ld.so.cache...

>>> dev-lang/php-4.1.2-r7 merged.

 * Regenerating GNU info directory index...

 * Processed 59 info files.

 * IMPORTANT: 4 config files in /etc need updating.

 * Type emerge --help config to learn how to update config files.

blemail / # /etc/init.d/apache start

 * Starting apache...

Syntax error on line 56 of /etc/apache/conf/apache.conf:

Cannot load /etc/apache/extramodules/libphp4.so into server: /etc/apache/extramodules/libphp4.so: undefined symbol: pam_start

HTH!

Mike

----------

## rac

From Bugs to Networking & Security, references HTTP and IMAP.

----------

