Bug #2964
closedmake upgrade REMOVE_OPENSSL_FILES=yes incompatible with make buildworld
0%
Description
On DragonFly master, for a previous recent build, if one does
make upgrade REMOVE_OPENSSL_FILES=yes
then updates to the latest master source, then
cd /usr/obj
mv usr usr.old
cd /usr/src
make buildworld
there seems a good chance one will encounter an error, really fast, such as:
===> bin/cpdup (bootstrap-tools)
/usr/obj/usr/src/btools_x86_64/usr/src/bin/cpdup created for /usr/src/bin/cpdup
rm -f .depend
.depend
mkdep -f .depend -a -std=gnu99 /usr/src/bin/cpdup/cpdup.c /usr/src/bin/cpdup/hcproto.c /usr/src/bin/cpdup/hclink.c /usr/src/bin/cpdup/misc.c /usr/src/bin/cpdup/fsmid.c /usr/src/bin/cpdup/md5.c
In file included from /usr/include/md5.h:41:0,
from /usr/src/bin/cpdup/cpdup.h:28,
from /usr/src/bin/cpdup/cpdup.c:58:
/usr/include/sys/md5.h:45:25: fatal error: openssl/md5.h: No such file or directory
compilation terminated.
It seems to me that cpdup.c includes "cpdup.h" which in turn includes <md5.h> if NOMD5 is undefined,
which in turn includes <sys/md5.h>, which in turn includes <openssl/md5.h>,
which after make upgrade REMOVE_OPENSSL_FILES doesn't exist anymore.
Updated by zrj almost 8 years ago
buildworld should be fixed by a78dfe84fb.
Temporary solution (if previous checkout is needed) is to just create symlink from /usr/include/priv/openssl -> /usr/include/openssl, it will be overwritten by next installworld because we accidentally started to create copy of private LibreSSL headers back to previous public OpenSSL dir.
This will be addressed later after deeper inspection of NO_CRYPT paths in makefiles, following with unconditional removal of /usr/include/openssl/ to prevent this happening again.
Updated by zrj almost 8 years ago
- Status changed from New to Resolved
Closing, as of cb740addd. Should be fixed.