Showing posts with label gcc. Show all posts
Showing posts with label gcc. Show all posts
July 15, 2018
February 22, 2017
SUSE Linux Enterprise 12 Service Pack 2 (SLES 12 SP2) released
On November 8th 2016 eleven months after the last service pack SUSE has released the latest updated to their flag ship server distribution. SUSE also has a blog post with some more details.
The kernel level for 12.2 is kernel-4.4.21-69.1. This is a jump in the kernel version from the old 3.12 based kernel. It's the same major kernel level that's being used by Canonical for Ubuntu 16.04. And with that kernel a lot of new functionality is delivered. SUSE and IBM worked hard to ensure that for applications it behaves the same.
What's new (details see documentation and release notes):
- The release notes states that SUSE now fully supports MariaDB. They have version 10.0.27 inlcuded
- Networking:
- For OSA the specification of a portname is no longer needed
- Hipersockets can now be bridged to Erhernet
- Layer2 offloads are enabled
- The 10 GbE RoCE card now also supports the DAPL/OFED stack on
- Encryption and security updates
- Glibc has now the first set of SIMD exploitations for z13
- Toolchain module updates
- Full KVM host support - so you can now run SLES12 as a Hypervisor on System z an Linux boxes
- ....
- Complete SLES 12 documentation
- SLES 12.2 release notes (s390x version)
- z Systems / s390x specific information
- release notes for High Availability Extensions (z Systems / s390x version)
- release notes for SDK (z Systems / s390x version)
- SUSE tuning guide updated to SP2
- Whitepaper on SUSE's module concept
- IBM documentation on developerworks
- Docker support statement
February 16, 2017
IBM z Systems Processor Optimization Primer
For z Systems optimizations are essential to keep the consolidation ratio high and make the best use of the hardware. As more and more open source software is ported to Linux on z / LinuxONE Kevin Shum has posted his excellent "BM z Systems Processor Optimization Primer" on developerworks.
There is a long version with all the details and a shorter summary presented at last SHARE.
This is a "must read" for everyone working on compilers and inline assembly on z.
There is a long version with all the details and a shorter summary presented at last SHARE.
This is a "must read" for everyone working on compilers and inline assembly on z.
December 29, 2015
SUSE Linux Enterprise 12 Service Pack 1 (SLES 12 SP1) released
On December 22nd just in time for Christmas SUSE has released the latest updated to their flag ship server distribution.
The kernel level for 12.1 is kernel-3.12.49-11.1. As one of the top features this distribution is the first one, which allows full exploitation of the z13. And this distribution is so far the only one that's supported by IBM's version of KVM as well as Docker. SUSE has published a nice summary of the the z specific news.
And of course it has many bug fixes. So after the installation be sure to run an update to install the latest fixes from the maintweb.
Here is my usual summary of links to more information:
- Complete SLES 12 documentation
- SLES 12.1 release notes (s390x version)
- z Systems / s390x specific information
- release notes for High Availability Extensions (z Systems / s390x version)
- release notes for SDK (z Systems / s390x version)
- SUSE tuning guide updated to SP1
- Whitepaper on SUSE's module concept
- IBM documentation on developerworks
- KVM support statement
- Docker support statement
- the oldest ones are in a package called compat, that you can install with zypper directly. It has libstdc++-3-libc6.2-2-2.10.0.so and libstdc++-libc6.2-2.so.3
- the libstdc++33 is part of the Legacy Module that SUSE provides. Add it to your repositories with yast2 repositories and then you can install. It contains the libstc++.so.5
September 24, 2013
Getting the Go programming language to work on zLinux
There is an increased interest in the new programming language Go. The standard download page doesn't have packages for s390x so I tried getting gccgo to work as described but with no success. Probably the current gccgo branch is broken for s390x.
So as a fallback I used the standard gcc 4.8.1. As the base I used a SLES 11 SP3. Here are the steps:
export PATH=/opt/gcc481/bin:$PATH
export LD_LIBRARY_PATH=/opt/gcc481/lib64/:/opt/gcc481/lib/:$LD_LIBRARY_PATH
Finally you can enter the hellozworld.go program
and compile and run it with
gccgo hellozworld.go -o hellozworld
./hellozworld
If you think this is an interesting language please approach Red Hat and SUSE and ask for it in the next releases!
So as a fallback I used the standard gcc 4.8.1. As the base I used a SLES 11 SP3. Here are the steps:
- Check out gcc 4.8.1 using svn
svn checkout svn://gcc.gnu.org/svn/gcc/tags/gcc_4_8_1_release gcc481 - Create build directory (here build) and change to it
- Configure gcc with your favorite options, include go in it. I used
../gcc481/configure --prefix=/opt/gcc481 --enable-languages=c,c++,go --enable-shared --with-system-zlib --with-arch=z9-109 --enable-threads=posix --enable-__cxa_atexit --enable-checking --enable-lto - The configure script is going to complain on various missing or outdated packages. So you probably need to try multiple times in a clean directory.
Get the missing stuff from the SUSE DVDs and install them or build them from source. (I used gmp-4.2.3 and mpc2-0.8.2 from the SDK and compiled mpfr-3.1.2 from sources and installed in /usr/local) - make
- make install
export PATH=/opt/gcc481/bin:$PATH
export LD_LIBRARY_PATH=/opt/gcc481/lib64/:/opt/gcc481/lib/:$LD_LIBRARY_PATH
Finally you can enter the hellozworld.go program
package main
import "fmt"
func main() {
fmt.Printf("Hello, z-world\n")
}
and compile and run it with
gccgo hellozworld.go -o hellozworld
./hellozworld
If you think this is an interesting language please approach Red Hat and SUSE and ask for it in the next releases!