Bug 16015 - "make install" builds things missed by "make", and rebuilds others
Summary: "make install" builds things missed by "make", and rebuilds others
Status: NEW
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: Build (show other bugs)
Version: 4.23.4
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Samba QA Contact
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-02-28 20:19 UTC by R. Diez
Modified: 2026-03-01 22:43 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description R. Diez 2026-02-28 20:19:41 UTC
The first time I built Samba samba-4.23.4 from sources with "make" and "make install", I noticed that "make install" not only installed some files, but it also compiled some sources which you would expect to have been compiled during the "make" phase.

This is a problem, because you normally do not specify -j for parallel make execution during the 'install' phase, in order to avoid disk congestion when just copying files. However, without -j, "make install" takes much longer to run.

I normally configure like this:

./configure --prefix="$HOME/somewhere/samba-4.23.4-bin"  --enable-debug

Today I just built 'smbcacls' like this:

make --output-sync=recurse  -j "$(( $(getconf _NPROCESSORS_ONLN) + 1 ))"  smbcacls

make --output-sync=recurse  -j "$(( $(getconf _NPROCESSORS_ONLN) + 1 ))"  install

This time I kept a log. Example of things which are built during the "make install" phase are:

[3176/6193] Compiling source4/libcli/dgram/mailslot.c
[4616/6193] Linking bin/default/source3/winbindd/libidmap_module_autorid.inst.so

Some files and libraries are build by "make smbcacls" and then rebuilt by "make install". Examples are:

Example 1:

  From "make smbcacls":
  [1109/2393] Compiling third_party/heimdal/lib/base/expand_path.c

  From "make install":
  [1877/6193] Compiling third_party/heimdal/lib/base/expand_path.c

Example 2:

  From "make smbcacls":
  [2037/2393] Linking bin/default/source4/dsdb/libsamdb-private-samba.so

  From "make install":
  [3177/6193] Linking bin/default/source4/dsdb/libsamdb-private-samba.so

Example 3:

  From "make smbcacls":
  [2382/2393] Linking bin/default/source3/libsmb/libsmbclient.so

  From "make install":
  [3545/6193] Linking bin/default/source3/libsmb/libsmbclient.so

This means that either "make" fails to build some things it should, or the makefile is broken, and a parallel build generates the wrong files or timestamps, so that "make install" feels compelled to rebuild them. Or perhaps both errors exist at the same time.

By the way, building and installing just 'smbcacls' generates a bin directory with almost the same size. That means that "make smbcacls" and "make install" are building way too much.