-
-
make install /tank/ws/il-pam-ldflags/usr/src/lib/pam_modules/smb/i386 /ws/onnv-tools/onbld/bin/i386/cw -_cc -O -m32 -xspace -Xa -xildoff -errtags=yes -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT -erroff=E_STATEMENT_NOT_REACHED -erroff=E_DECLARATION_IN_CODE -_gcc=-Wno-missing-braces -_gcc=-Wno-sign-compare -_gcc=-Wno-unknown-pragmas -_gcc=-Wno-unused-parameter -_gcc=-Wno-missing-field-initializers -_gcc=-Wno-array-bounds -xc99=%none -W0,-xglobalstatic -_gcc=-fno-inline-small-functions -_gcc=-fno-inline-functions-called-once -_gcc=-fno-ipa-cp -v -o pam_smb_passwd.so.1 -G -hpam_smb_passwd.so.1 -ztext -zdefs -Bdirect -M../mapfile-vers -M/tank/ws/il-pam-ldflags/usr/src/common/mapfiles/common/map.pagealign -M/tank/ws/il-pam-ldflags/usr/src/common/mapfiles/common/map.noexdata -R/usr/lib/smbsrv /tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/passwdutil.so.1 pics/smb_passwd.o -L/tank/ws/il-pam-ldflags/proto/root_i386/lib -L/tank/ws/il-pam-ldflags/proto/root_i386/usr/lib -lsmb -lpam -lc -L/tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/smbsrv + /ws/onnv-tools/SUNWspro/SS12/bin/cc -O -m32 -xspace -Xa -xildoff -errtags=yes -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT -erroff=E_STATEMENT_NOT_REACHED -erroff=E_DECLARATION_IN_CODE -xc99=%none -W0,-xglobalstatic -v -o pam_smb_passwd.so.1 -G -hpam_smb_passwd.so.1 -ztext -zdefs -Bdirect -M../mapfile-vers -M/tank/ws/il-pam-ldflags/usr/src/common/mapfiles/common/map.pagealign -M/tank/ws/il-pam-ldflags/usr/src/common/mapfiles/common/map.noexdata -R/usr/lib/smbsrv /tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/passwdutil.so.1 pics/smb_passwd.o -L/tank/ws/il-pam-ldflags/proto/root_i386/lib -L/tank/ws/il-pam-ldflags/proto/root_i386/usr/lib -lsmb -lpam -lc -L/tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/smbsrv ld: fatal: library -lsmb: not found ld: fatal: file processing errors. No output written to pam_smb_passwd.so.1 *** Error code 1 make: Fatal error: Command failed for target `pam_smb_passwd.so.1' Current working directory /tank/ws/il-pam-ldflags/usr/src/lib/pam_modules/smb/i386 *** Error code 1
-
And after the fix in this review:
make install /tank/ws/il-pam-ldflags/usr/src/lib/pam_modules/smb/i386 /ws/onnv-tools/onbld/bin/i386/cw -_cc -O -m32 -xspace -Xa -xildoff -errtags=yes -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT -erroff=E_STATEMENT_NOT_REACHED -erroff=E_DECLARATION_IN_CODE -_gcc=-Wno-missing-braces -_gcc=-Wno-sign-compare -_gcc=-Wno-unknown-pragmas -_gcc=-Wno-unused-parameter -_gcc=-Wno-missing-field-initializers -_gcc=-Wno-array-bounds -xc99=%none -W0,-xglobalstatic -_gcc=-fno-inline-small-functions -_gcc=-fno-inline-functions-called-once -_gcc=-fno-ipa-cp -v -o pam_smb_passwd.so.1 -G -hpam_smb_passwd.so.1 -ztext -zdefs -Bdirect -M../mapfile-vers -M/tank/ws/il-pam-ldflags/usr/src/common/mapfiles/common/map.pagealign -M/tank/ws/il-pam-ldflags/usr/src/common/mapfiles/common/map.noexdata -R/usr/lib/smbsrv /tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/passwdutil.so.1 pics/smb_passwd.o -L/tank/ws/il-pam-ldflags/proto/root_i386/lib -L/tank/ws/il-pam-ldflags/proto/root_i386/usr/lib -L/tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/smbsrv -lsmb -lpam -lc + /ws/onnv-tools/SUNWspro/SS12/bin/cc -O -m32 -xspace -Xa -xildoff -errtags=yes -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT -erroff=E_STATEMENT_NOT_REACHED -erroff=E_DECLARATION_IN_CODE -xc99=%none -W0,-xglobalstatic -v -o pam_smb_passwd.so.1 -G -hpam_smb_passwd.so.1 -ztext -zdefs -Bdirect -M../mapfile-vers -M/tank/ws/il-pam-ldflags/usr/src/common/mapfiles/common/map.pagealign -M/tank/ws/il-pam-ldflags/usr/src/common/mapfiles/common/map.noexdata -R/usr/lib/smbsrv /tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/passwdutil.so.1 pics/smb_passwd.o -L/tank/ws/il-pam-ldflags/proto/root_i386/lib -L/tank/ws/il-pam-ldflags/proto/root_i386/usr/lib -L/tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/smbsrv -lsmb -lpam -lc /usr/bin/rm -f /tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/security/pam_smb_passwd.so.1; install -s -m 755 -f /tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/security pam_smb_passwd.so.1 /usr/bin/rm -f /tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/security/pam_smb_passwd.so; /usr/bin/ln -s pam_smb_passwd.so.1 /tank/ws/il-pam-ldflags/proto/root_i386/usr/lib/security/pam_smb_passwd.so
Note that -L.../usr/lib/smbsrv is there now.
-
Oh, so I just noticed this is because (apparently) gcc reorders the linker args, and Studio does not.
The way the -L is added in the first one it lands at the end, but apparently it needs to be before -lsmb -
That's unfortunate. If we are going to go down the path of using LDLIBS32 and LDLIBS64, which is probably better anyway, I think we should move them back up to the Makefile.com file.
-
Agreed. I'll update this later.
-
You OK with this change now? I do think I'd like to RTI this.
-
-
7287 smb pam module not picking up libsmb from proto area (LDLIBS32/64)
Review Request #546 — Created May 29, 2017 and submitted
Information | |
---|---|
gwr | |
illumos-gate | |
Reviewers | |
general | |
The fix pushed for 7287 didn't quite work for me.
Looks like it should use LDLIBS32 / LDLIBS64Actually, it's fine. It turns out the problem was specific to Studio,
so I'll just combine this with my other "build on Studio hacks",
over in https://www.illumos.org/rb/r/548/On the other hand, maybe this fix is worth taking anyway. Thoughts?
Build works for me now.
Description: |
|
---|
Description: |
|
---|