Discussion:
[gt-user] Compile GT6 from sources on SuSE Linux Enterprise Server 11
Lanati, Matteo
2014-09-15 13:08:00 UTC
Permalink
Hi all,

I'm trying to compile from scratch GT6 on SLES11.
The first problem that I encountered was configuring PAM and TCP wrappers support in gsisshd.
GT 5.x used to have the option "--with-gsiopensshargs" available for the general "configure" command (that is from the root of the source). Now it's not listed among the options of "configure" anymore. The result is that sshd is not linked against PAM and wrappers libraries.

I tried to re-launch the configure command from within the gsi_openssh source folder (globus_toolkit-6.0/gsi_openssh/source), adding the "--with-pam" and "--with-tcp-wrappers" options. Of course I can see that PAM and TCP wrappers support are listed. At this point, re-building from the source root with "make gsi_openssh-all" (after a clean, eventually) returns me an error, SLES11 specific I suppose:

/usr/x86_64-suse-linux/bin/ld -m elf_x86_64 -o ssh ssh.o readconf.o clientloop.o sshtty.o sshconnect.o sshconnect1.o sshconnect2.o mux.o roaming_common.o roaming_client.o -L. -Lopenbsd-compat/ -fstack-protector-all -lssh -lopenbsd-compat -lcrypto -lrt -ldl -lutil -lz -lnsl -lcrypt -lresolv -lpthread
/usr/x86_64-suse-linux/bin/ld: -f may not be used without -shared
make[1]: *** [ssh] Error 1
make[1]: Leaving directory `/lrz/mnt/sys.x86_64/grid/globusToolkit/src/globus_toolkit-6.0/gsi_openssh/source'
make: *** [gsi_openssh-stamp] Error 1

The gcc version I'm using is

gcc -v
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3 --enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --program-suffix=-4.3 --enable-linux-futex --without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux
Thread model: posix
gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)

My questions are:
- what's the correct procedure to link gsisshd against PAM and TCP wrappers, especially on SLES11?
- since GT6 got rid of GPT, how can I rebuild a GT component after applying a patch? In 5.x I used to go to the source folder, apply the patch and issue "gpt-build -f <flavour>".

Thanks,

Matteo





Matteo Lanati
Distributed Resources Group
Leibniz-Rechenzentrum (LRZ)
Boltzmannstrasse 1
85748 Garching b. München (Germany)
Phone: +49 89 35831 8724
Joseph Bester
2014-09-15 14:05:49 UTC
Permalink
Post by Lanati, Matteo
Hi all,
I'm trying to compile from scratch GT6 on SLES11.
The first problem that I encountered was configuring PAM and TCP wrappers support in gsisshd.
GT 5.x used to have the option "--with-gsiopensshargs" available for the general "configure" command (that is from the root of the source). Now it's not listed among the options of "configure" anymore. The result is that sshd is not linked against PAM and wrappers libraries.
/usr/x86_64-suse-linux/bin/ld -m elf_x86_64 -o ssh ssh.o readconf.o clientloop.o sshtty.o sshconnect.o sshconnect1.o sshconnect2.o mux.o roaming_common.o roaming_client.o -L. -Lopenbsd-compat/ -fstack-protector-all -lssh -lopenbsd-compat -lcrypto -lrt -ldl -lutil -lz -lnsl -lcrypt -lresolv -lpthread
/usr/x86_64-suse-linux/bin/ld: -f may not be used without -shared
make[1]: *** [ssh] Error 1
make[1]: Leaving directory `/lrz/mnt/sys.x86_64/grid/globusToolkit/src/globus_toolkit-6.0/gsi_openssh/source'
make: *** [gsi_openssh-stamp] Error 1
The gcc version I'm using is
gcc -v
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3 --enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --program-suffix=-4.3 --enable-linux-futex --without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux
Thread model: posix
gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)
I couldn't duplicate this error this morning with the same compiler on SLES11. Perhaps there is something different in how we configured or some interaction with other environment variables?
Post by Lanati, Matteo
- what's the correct procedure to link gsisshd against PAM and TCP wrappers, especially on SLES11?
At the top-level, you can pass in component-level configuration options (see configure --help=recursive for the list of those). So

% configure --with-pam --with-tcp-wrappers

should do the job. This is normal autoconf/automake behavior (not GT-specifc).
Post by Lanati, Matteo
- since GT6 got rid of GPT, how can I rebuild a GT component after applying a patch? In 5.x I used to go to the source folder, apply the patch and issue "gpt-build -f <flavour>".
I'd use make clean all or the component-specific version of those. For globus_xio: make globus_xio-clean globus_xio-all

Joe
Lanati, Matteo
2014-09-16 12:23:21 UTC
Permalink
Hi Joe,

thanks for the hints, everything worked.
I didn't know about the recursiveness of the options passed to the main configure (though "--disable-option-checking" is added).
The problem with the compilation is also gone. Probably launching the configure from the top level fixed the environment.
I confirm that now gsisshd is compiled against the libraries I need.
Best,

Matteo
Post by Joseph Bester
Post by Lanati, Matteo
Hi all,
I'm trying to compile from scratch GT6 on SLES11.
The first problem that I encountered was configuring PAM and TCP wrappers support in gsisshd.
GT 5.x used to have the option "--with-gsiopensshargs" available for the general "configure" command (that is from the root of the source). Now it's not listed among the options of "configure" anymore. The result is that sshd is not linked against PAM and wrappers libraries.
/usr/x86_64-suse-linux/bin/ld -m elf_x86_64 -o ssh ssh.o readconf.o clientloop.o sshtty.o sshconnect.o sshconnect1.o sshconnect2.o mux.o roaming_common.o roaming_client.o -L. -Lopenbsd-compat/ -fstack-protector-all -lssh -lopenbsd-compat -lcrypto -lrt -ldl -lutil -lz -lnsl -lcrypt -lresolv -lpthread
/usr/x86_64-suse-linux/bin/ld: -f may not be used without -shared
make[1]: *** [ssh] Error 1
make[1]: Leaving directory `/lrz/mnt/sys.x86_64/grid/globusToolkit/src/globus_toolkit-6.0/gsi_openssh/source'
make: *** [gsi_openssh-stamp] Error 1
The gcc version I'm using is
gcc -v
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3 --enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --program-suffix=-4.3 --enable-linux-futex --without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux
Thread model: posix
gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)
I couldn't duplicate this error this morning with the same compiler on SLES11. Perhaps there is something different in how we configured or some interaction with other environment variables?
Post by Lanati, Matteo
- what's the correct procedure to link gsisshd against PAM and TCP wrappers, especially on SLES11?
At the top-level, you can pass in component-level configuration options (see configure --help=recursive for the list of those). So
% configure --with-pam --with-tcp-wrappers
should do the job. This is normal autoconf/automake behavior (not GT-specifc).
Post by Lanati, Matteo
- since GT6 got rid of GPT, how can I rebuild a GT component after applying a patch? In 5.x I used to go to the source folder, apply the patch and issue "gpt-build -f <flavour>".
I'd use make clean all or the component-specific version of those. For globus_xio: make globus_xio-clean globus_xio-all
Joe
Matteo Lanati
Distributed Resources Group
Leibniz-Rechenzentrum (LRZ)
Boltzmannstrasse 1
85748 Garching b. München (Germany)
Phone: +49 89 35831 8724

Loading...