php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #67700 Compile fails when -lcrypt is missing
Submitted: 2014-07-28 16:24 UTC Modified: 2021-08-26 11:00 UTC
Votes:9
Avg. Score:4.0 ± 0.9
Reproduced:8 of 8 (100.0%)
Same Version:1 (12.5%)
Same OS:5 (62.5%)
From: thekid@php.net Assigned: cmb (profile)
Status: Closed Package: Compile Failure
PHP Version: 5.5.15 OS: Linux
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: thekid@php.net
New email:
PHP Version: OS:

 

 [2014-07-28 16:24 UTC] thekid@php.net
Description:
------------
The linking fails with "undefined reference to zm_startup_password".

Test script:
---------------
Configure PHP, run make. 

Expected result:
----------------
Either configure bail and PHP states it depends on `-lcrypt` or the password functions are non-core.

See also https://github.com/php/php-src/pull/703

Actual result:
--------------
The whole of password.c is inside a  #if HAVE_CRYPT  conditional, but  basic_functions.c  unconditionally initializes the password module and tries to declares its functions, leading to this error.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2014-07-28 16:25 UTC] thekid@php.net
-Assigned To: +Assigned To: ircmaxell
 [2015-05-04 11:56 UTC] alcione dot sombra at gmail dot com
Para resolver o problema acima descrito utilizei um recurso de alimentar as variáveis do ambiente LDFLAGS e LIBS antes de executar o script de configure, da seguinte forma:

$ LDFLAGS="$LDFLAGS -lcrypt" LIBS="$LIBS -lcrypt" ./configure <opcoes>

Espero ter ajudado

---

To solve the problem described above used a resource to feed the variables LDFLAGS and LIBS environment before running the configure script, as follows:

$ LDFLAGS = "$ LDFLAGS -lcrypt" LIBS = "$ LIBS -lcrypt" ./configure <options>

I hope this helps
 [2017-09-28 02:30 UTC] dapphp at sonic dot net
Ran into this building PHP 5.6.31.  Spent quite a bit of time trying different combinations until I finally found this post.

Thanks much to alcione who suggested adding -lcrypt which at least works around it.
 [2017-10-24 06:55 UTC] kalle@php.net
-Status: Assigned +Status: Open -Assigned To: ircmaxell +Assigned To:
 [2021-08-26 11:00 UTC] cmb@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: cmb
 [2021-08-26 11:00 UTC] cmb@php.net
PHP provides its own crypt() fallback when necessary, so actually
the HAVE_CRYPT condition was wrong, and that is fixed[1] as of PHP
7.1.0.

[1] <https://github.com/php/php-src/commit/d3ed75b9ebc998b8cf325e0e3ab954bd10989918>
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Jul 02 10:01:38 2025 UTC