LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices



Reply
 
Search this Thread
Old 02-09-2013, 09:39 AM   #1
tuxbg
Member
 
Registered: Sep 2012
Location: Bulgaria,Varna
Distribution: Slackware64
Posts: 249

Rep: Reputation: Disabled
Slackware glibc-2.17


Hello Slackware friends.
If someone of you try to compile new glibc-2.17,this is what you gotta do
put this in diffutils and tar,because they will fail to compile without that line in SlackBuild script.I will test other packages to view if they fail to compile with new glibc

Code:
sed -i -e '/gets is a/d' gnu/stdio.in.h
p.s
Sorry for my english
This is the packages that i tested and they compile perfect with new glibc

This is the build order that i compile my packages after bild toolchain from my next post

Code:
aaa_base
aaa_elflibs
aalib
alsa-lib
alsa-oss
alsa-utils
atk
attr
audiofile
bin
cairo
cdparanoia
cdrtools
cxxlibs
cyrus-sasl
dbus
dbus-glib
dhcpcd
dialog
e2fsprogs
eject
esound
etc
exiv2
flac
fribidi
gdk-pixbuf2
geeqie
giflib
glib2
gnupg
gtk+2
gvfs
htop
infozip
iputils
kernel-firmware
kmod
lcms
lcms2
libatasmart
libcaca
libcdio
libcroco
libffi
libgcrypt
libgnome-keyring
libmad
libmcs
libmng
libmowgli
libmpc
libnotify
libogg
libpng
libtheora
libvorbis
libwnck
libxklavier
libxml2
lilo
links
lzo
mpg123
nano
network-scripts
pango
phonon
polkit
poppler
procps
sdl
shadow
shared-mime-info
slocate
startup-notification
sysklogd
sysvinit
sysvinit-scripts
udev
udisks2
unrar
util-linux
vte
wget
which
zlib

ALL XFCE-4.10 packages Thunar-1.6.2,exo-0.10.2
ALL packages from X directory
I compile only them because i heve a minimal installation of Slackware64
To build freeglud with MESA-9.0.2 you need this stuff in freeglut.SlackBuild

Code:
sed -i '/PFNGLSHADERSOURCEPROC/s/ \*\*string/\* const \*string/' \
    progs/demos/smooth_opengl3/smooth_opengl3.c
Also if you whant opengl 3.0 with r600,r600g driver for ati you need this to configure option for Mesa

Code:
  --enable-texture-float \

Last edited by tuxbg; 02-11-2013 at 07:35 AM.
 
Old 02-10-2013, 05:42 AM   #2
ponce
Senior Member
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 2,498

Rep: Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912
just FYI, on Dec 21 2012
Quote:
Originally Posted by -current's ChangeLog
Still testing the new glibc, which removes the gets() function and may or may
not be a safe upgrade yet. It might be safer after the next gcc comes out.
consider that the first release candidate (not the final one) of gcc-4.8.0 is, at least (being optimistic), one month away...

As you are basically rebuilding a slackware system from scratch, (if you feel like) could be useful also for others to update the first post with the exact order you follow in building the various packages

Last edited by ponce; 02-10-2013 at 06:05 AM.
 
Old 02-10-2013, 07:27 AM   #3
tuxbg
Member
 
Registered: Sep 2012
Location: Bulgaria,Varna
Distribution: Slackware64
Posts: 249

Original Poster
Rep: Reputation: Disabled
Yes basically i rebuild all my packages with new glibc.First i rebuild my toolchain gcc-4.7.2 following this link http://www.linuxfromscratch.org/lfs/...technotes.html
I use original SlackBuilds
Toolchain build order is

Code:
binutils 
mpfr
gmp
mpc
gcc
headers
glibc  #Here i add this line to SlackBuild sed -i -e 's/-lgcc_eh//g' Makeconfig
patches for glibc is glibc-2.17-sync-with-linux37.patch and glibc-2.17-no_timezones.patch
binutils
gcc
ncurses
bash
bzip
coreutils
difutils # sed -i -e '/gets is a/d' gnu/stdio.in.h This in SlackBuild
file
findutils
gawk
grep
gzip
make
patch
perl
sed
tar #This line iin SlackBuild sed -i -e '/gets is a/d' gnu/stdio.in.h
xz

Last edited by tuxbg; 02-10-2013 at 07:35 AM.
 
Old 02-10-2013, 08:09 AM   #4
tuxbg
Member
 
Registered: Sep 2012
Location: Bulgaria,Varna
Distribution: Slackware64
Posts: 249

Original Poster
Rep: Reputation: Disabled
Other packages successfully build is
This is the build order that i compile this packages

Code:
ConsoleKit
MPlayer
audacious
audacious-plugins
epdfview
flash-player
leafpad
libevent
libsoup
murrine
murrine-themes
p7zip
transmission
xarchiver
xfce4-screenshooter
ttf-bitsream-vera
dejavu
skype_static
openssl  #Todays upgrade
openssl-solibs
mozilla-firefox
And one last thing i build all my packages with that CFLAGS -O2 -fpic -pipe -march=native

Last edited by tuxbg; 02-11-2013 at 07:32 AM.
 
Old 02-11-2013, 07:28 AM   #5
tuxbg
Member
 
Registered: Sep 2012
Location: Bulgaria,Varna
Distribution: Slackware64
Posts: 249

Original Poster
Rep: Reputation: Disabled
New packages that's compile correctly is all KDE-4.10 deps and all KDE-4.10 with new glibc-2.17.
I will try gcc-4.8 snapshot
All packages are compiled with CFLAGS -O2 -fpic -pipe -march=native
Also i have a one question why Slackware packages are compiled with fPIC instead fpic ?

Last edited by tuxbg; 02-11-2013 at 07:31 AM.
 
Old 02-11-2013, 10:07 AM   #6
ponce
Senior Member
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 2,498

Rep: Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912
I guess because of this

http://tldp.org/HOWTO/Program-Librar...libraries.html

Quote:
create the object files that will go into the shared library using the gcc -fPIC or -fpic flag. The -fPIC and -fpic options enable ``position independent code'' generation, a requirement for shared libraries;
...
Use -fPIC or -fpic to generate code. Whether to use -fPIC or -fpic to generate code is target-dependent. The -fPIC choice always works, but may produce larger code than -fpic (mnenomic to remember this is that PIC is in a larger case, so it may produce larger amounts of code). Using -fpic option usually generates smaller and faster code, but will have platform-dependent limitations, such as the number of globally visible symbols or the size of the code. The linker will tell you whether it fits when you create the shared library. When in doubt, I choose -fPIC, because it always works.
 
1 members found this post helpful.
Old 02-11-2013, 10:14 AM   #7
tuxbg
Member
 
Registered: Sep 2012
Location: Bulgaria,Varna
Distribution: Slackware64
Posts: 249

Original Poster
Rep: Reputation: Disabled
Ok thanks,i found that Vector Linux use fpic instead fPIC but not on all packages
 
Old 02-11-2013, 11:53 AM   #8
GazL
Senior Member
 
Registered: May 2008
Posts: 3,503

Rep: Reputation: 1026Reputation: 1026Reputation: 1026Reputation: 1026Reputation: 1026Reputation: 1026Reputation: 1026Reputation: 1026
On x86 family processors I don't believe there is any difference between -fpic and -fPIC, at least that is what the gcc man-page seems to be saying.
 
Old 02-11-2013, 12:42 PM   #9
tuxbg
Member
 
Registered: Sep 2012
Location: Bulgaria,Varna
Distribution: Slackware64
Posts: 249

Original Poster
Rep: Reputation: Disabled
Ok what about without fpic/fPIC option ?

I found this link http://www.gentoo.org/proj/en/harden...-internals.xml
 
Old 02-11-2013, 01:19 PM   #10
ponce
Senior Member
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 2,498

Rep: Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912Reputation: 912
Quote:
While the architectures supported by Gentoo are quite differently addressing memory, they all share the same characteristic: direct non-PIC-aware addressing is always cheaper (read: faster) than PIC addressing. For example the RISC (Reduced Instruction Set) architectures sparc, ppc and hppa sometimes use more than one assembler command issuing several more opcodes to do what x86 does with a single variable length assembler command, loading a full 32-Bit address for example. Only the AMD64 seems to support some kind of "emulation" mode where it does not seem to make a difference if PIC or normal addressing is used for referring code functions and data to access.
-fPIC is enabled in the *.SlackBuilds only for the x86_64 architecture.
 
1 members found this post helpful.
Old 03-28-2014, 06:50 PM   #11
hendrickxm
Member
 
Registered: Feb 2014
Posts: 85

Rep: Reputation: Disabled
I decided to update my toolchain. Well actually only glibc and rebuilding the toolchain.

PART 1:
1) U glibc-2.19-1
I just needed to add/delete a patch to the slackbuild and all went well.
2) R zlib-1.2.8-2
Why not huh?
3) R binutils-2.23.52-3
4) R oprofile-0.9.7-5
5) U file-5.17-1
6) R gmp-3.1.2-2
7) R mpfr
9) U libmpc-1.0.2-3
Create symlink:
cd /usr/lib64
ln -s libmpc.so.3 libmpc.so.3
10) R gcc-4.8.2-2
First install gcc-gnat gcc-java and gcc-go and reinstall updated packages including gcc-g++
11) R libtool-2.4.2-3
12) R binutils-2.23.52-4
13) R popt
14) R oprofile
15) R glibc-2.19-2

DONE

PART 2: base rebuild according to LFS book and dependencies according to salix

R zlib, R file, R attr, R acl, R sed, R bzip2, U pkg-config-0.28-1, R shadow, R ncurses
R libtermcap, R procps and U psmisc-22.21
R libcap and U coreutils-8.22
R m4, R flex, U bison-3.0.2, R bash, R libtool, R gdbm, R net-tools

A few updates are available but gave me problems like gdbm and I decided to skip procps-ng.
Net-tools is unmaintained and the slackbuild needed a few extra patches.

R autoconf, U automake-1.14.1, R diffutils, R gawk, R findutils, U gettext-0.18.3.1, R xz
R less, R gzip, R kbd, U kmod-16, R make, R patch, R sysklogd, R sysvinit, U tar, R texinfo.

Again a few could need some updating like kbd but did not try, tar needed a few patches and texinfo is old.

R readline, R bc, R gawk, R man, U man-pages-3.61, R db48, R expat, R openssl and openssl-solibs.
U perl-5.18.2. I tried gdbm > 1.8.3 but somehow the usr/include/gdbm.h does not install.
I should try to upgrade to man-db as well. Readline is also quite old.

R libpng, U freetype-2.5.3, U fuse-2.9.3, R libelf, R libffi, R python, R gamin, U glib2-2.40.0 and R gamin again.
Python could get an update though. Almost there.

R udev, U util-linux-2.24, R udev, U e2fsprogs-1.42.9, U mdadm-3.3, R lvm2, R grub.
I spent a lot of time fixing grub with a few hard to find patches.

R libmnl, R libnfnetfilter_conntrack, R libnl3, U libusb-1.0.18, U libpcap-1.5.3, iptables and iproute2.
U iptables-1.4.21, U iproute2-3.12.0. Almost forgot R nano.
R sysvinit-functions and salix scripts. The scripts are built with SLKBUILD.
R mkinitrd and I rebooted!

If I made some foolish errors, so what, I can go again!

Is there a slackbuild available for the headers?

Last edited by hendrickxm; 03-29-2014 at 01:35 AM.
 
Old 03-30-2014, 12:10 PM   #12
tuxbg
Member
 
Registered: Sep 2012
Location: Bulgaria,Varna
Distribution: Slackware64
Posts: 249

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by hendrickxm View Post
I decided to update my toolchain. Well actually only glibc and rebuilding the toolchain.


Create symlink:
cd /usr/lib64
ln -s libmpc.so.3 libmpc.so.3


Is there a slackbuild available for the headers?
You need to create libmpc.so.2 symlink to libmcp.so.3,because your gcc search for libmpc-so.2 that is direct dependencies to gcc.

Code:
#!/bin/sh
set -e
CWD=`pwd`

VERSION=${VERSION:-3.10.30}
ARCH=${ARCH:-x86}
BUILD=${BUILD:-1}
TMP=${TMP:-/tmp}


PKG=$TMP/package-kernel-headers
rm -rf $PKG

cd /usr/src/linux-$VERSION

make headers_check || exit 1
make headers_install INSTALL_HDR_PATH=$PKG/usr


cd $PKG
mkdir install
cat $CWD/slack-desc > install/slack-desc
makepkg -l y -c n  $TMP/kernel-headers-$VERSION-${ARCH}-$BUILD.txz
 
Old 03-31-2014, 11:16 AM   #13
hendrickxm
Member
 
Registered: Feb 2014
Posts: 85

Rep: Reputation: Disabled
Thanks.
The libmpc.so.3 symlink was a typo.

I will update to 3.12 kernel headers since that release is the new LTS.
Next, am I going to think about what packages I can/will upgrade/rebuild and the order.
I used the LFS-book, the dependencies according to salix and toolchain notes in this write-up: http://eerielinux.wordpress.com/2013...x-system-pt-3/ as a lead.

I tried to create packages for an updated kernel but I have not figured out yet how I can rebuild a "huge" kernel package. I tried to change the direcotries in the slackbuild but the buildscript finishes almost instantly without actually building a package.
 
Old 03-31-2014, 01:39 PM   #14
tuxbg
Member
 
Registered: Sep 2012
Location: Bulgaria,Varna
Distribution: Slackware64
Posts: 249

Original Poster
Rep: Reputation: Disabled
You say that you use glibc.Slackbuild to build glibc-2.19.
But do you edit doinst.sh-glibc and doinst.sh-glibc-solibs ?
There is a simlinks to 2.17
 
Old 03-31-2014, 02:41 PM   #15
hendrickxm
Member
 
Registered: Feb 2014
Posts: 85

Rep: Reputation: Disabled
Quote:
Originally Posted by tuxbg View Post
You say that you use glibc.Slackbuild to build glibc-2.19.
But do you edit doinst.sh-glibc and doinst.sh-glibc-solibs ?
There is a simlinks to 2.17
Yes, I have changed those scriptfiles.
Included are my edited files.
Attached Files
File Type: txt glibc.SlackBuild.txt (16.2 KB, 19 views)
File Type: txt doinst.sh-glibc-solibs.txt (4.5 KB, 3 views)
File Type: txt doinst.sh-glibc.txt (7.2 KB, 3 views)
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Glibc 2.4 installation in Slackware 11 irfanhab Slackware 4 11-11-2006 11:50 PM
upgrade glibc from 2.3.6 to 2.4 in slackware aukuntin Slackware 5 08-07-2006 07:25 AM
recompiling glibc on slackware 10.2 win32sux Slackware 10 10-07-2005 02:35 PM
glibc and Slackware 9 lt1derful Slackware 9 07-21-2003 06:35 AM
Slackware 8.1 and GLIBC 2.3 Bengt Slackware 1 11-12-2002 11:23 PM


All times are GMT -5. The time now is 08:34 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration