LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
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 03-21-2014, 05:50 AM   #16
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Rep: Reputation: Disabled

Quote:
Originally Posted by comet.berkeley View Post
Maybe some day Slackware can provide a libx11-dev package like Debian?
My crystal bowl tells me: don't hold your breath
 
Old 07-25-2014, 03:18 PM   #17
aaazen
Member
 
Registered: Dec 2009
Posts: 358

Original Poster
Rep: Reputation: Disabled
I created a script to build the 4 static x11 libraries from the Slackware source code. I called it make-x11-static.

Code:
#! /bin/sh
# For Slackware, create x11-static packages from the original x11 package source
# for libX11 libXau libXdmcp and libxcb

set -e

# >>>> EDIT THESE! <<<<<

#set the from and to directories
SLACKDIR="/home/ftp/pub/slackware/slackware64-current/source/x"
BUILDDIR="/home/slackbuilds"

# Change the build number each time
BUILD=${BUILD:-1-static}

# >>>> SHOULD NOT NEED TO CHANGE ANYTHING BELOW HERE <<<<

# destination directory
PKGDIR="$BUILDDIR/x11-static"

# copy the original x11 package source to x11-static
rm -rf              $PKGDIR
cp -a $SLACKDIR/x11 $PKGDIR

# create new configuration files and
# replace all --disable-static with --disable-loadable-xcursor
cd $PKGDIR

for APKG in configure libX11 libXau libXdmcp libxcb ; do
  if  [ -r $PKGDIR/configure/$APKG ]; then
    mv -f  $PKGDIR/configure/$APKG \
           $PKGDIR/configure/$APKG-orig
    sed -e "s/--disable-static /--disable-loadable-xcursor /" \
         < $PKGDIR/configure/$APKG-orig \
         > $PKGDIR/configure/$APKG
  fi
done

# build each sub package
BUILD=$BUILD ./x11.SlackBuild lib libX11
BUILD=$BUILD ./x11.SlackBuild lib libXau
BUILD=$BUILD ./x11.SlackBuild lib libXdmcp
BUILD=$BUILD ./x11.SlackBuild xcb libxcb

exit 0

Last edited by aaazen; 07-27-2014 at 08:54 AM. Reason: put full SLACKDIR directory path at top of script
 
Old 05-10-2015, 10:19 AM   #18
aaazen
Member
 
Registered: Dec 2009
Posts: 358

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by comet.berkeley View Post
...

Maybe some day Slackware can provide a libx11-dev package like Debian?
I am marking this thread as UNSOLVED because Slackware used to have an x11-devel package just like other Linux distributions still do.

While installing Slackware 11.0 (2006) on an old machine, I found a package called x11-devel containing the missing libX11.a file and other .a files.

Quote:
x11-devel: x11-devel (Libraries and other files for X programming)
x11-devel:
x11-devel: This is a set of include files (found in /usr/X11R6/include), static
x11-devel: libraries (found in /usr/X11R6/lib/*.a) and configuration files
x11-devel: (found in /usr/X11R6/lib/X11/config/) needed to compile X programs.
x11-devel:
x11-devel:
x11-devel:
x11-devel:
x11-devel:
x11-devel:
The package disappeared in Slackware 12.0 with this comment in
the UGRADE.TXT:
Code:
*** PACKAGE REMOVALS SINCE 11.0 ***
...
x/x11-*: removed old x/x11-* packages - replaced by new modular x11.
...
Perhaps Slackware current could and should have this package again?
 
Old 05-10-2015, 10:52 AM   #19
the3dfxdude
Member
 
Registered: May 2007
Posts: 730

Rep: Reputation: 358Reputation: 358Reputation: 358Reputation: 358
Quote:
Originally Posted by comet.berkeley View Post
I am marking this thread as UNSOLVED because Slackware used to have an x11-devel package just like other Linux distributions still do.

While installing Slackware 11.0 (2006) on an old machine, I found a package called x11-devel containing the missing libX11.a file and other .a files.



The package disappeared in Slackware 12.0 with this comment in
the UGRADE.TXT:
Code:
*** PACKAGE REMOVALS SINCE 11.0 ***
...
x/x11-*: removed old x/x11-* packages - replaced by new modular x11.
...
Perhaps Slackware current could and should have this package again?
When I read through this thread, this is what I thought happened.

Were you successful obtaining the static libs, and linking into your program by now? I guess you were. So this is a request to have to already packaged for you? How large are the .a files you need?
 
1 members found this post helpful.
Old 05-10-2015, 10:57 AM   #20
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106
Quote:
Originally Posted by comet.berkeley View Post
I am marking this thread as UNSOLVED because Slackware used to have an x11-devel package just like other Linux distributions still do.

While installing Slackware 11.0 (2006) on an old machine, I found a package called x11-devel containing the missing libX11.a file and other .a files.



The package disappeared in Slackware 12.0 with this comment in
the UGRADE.TXT:
Code:
*** PACKAGE REMOVALS SINCE 11.0 ***
...
x/x11-*: removed old x/x11-* packages - replaced by new modular x11.
...
Perhaps Slackware current could and should have this package again?
It says "replaced by new modular x11" which means it is not coming back. And there is no reason to have it back, because all the files it contained (with the exception of the static libraries) have been moved into other packages where needed.

Slackware has a policy of not using or providing static libraries unless software can not be compiled without the static library. This allows for easier upgrades of individual packages without requiring that all other packages which used a static library component have to be recompiled as well. Moreso, it saves space on the Slackware media when only shipping the shared libraries. A static libX11.a is not going to re-appear in Slackware.

And you already found your solution by compiling the static library yourself.
 
1 members found this post helpful.
Old 05-10-2015, 01:36 PM   #21
aaazen
Member
 
Registered: Dec 2009
Posts: 358

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by the3dfxdude View Post
When I read through this thread, this is what I thought happened.

Were you successful obtaining the static libs, and linking into your program by now? I guess you were.
Yes, the above script worked for me, but it is a horrible kludge and not the "right" way to fix the problem.

Quote:
So this is a request to have to already packaged for you?
Yes, I guess it is. The x11-devel (Slack 11.0) package used to be built automatically by the x11 build process.

Alien Bob and others object to having an x11-devel package as part of the standard release because it can introduce static library dependencies between packages. I don't disagree with this.

But other distributions get around this problem by supplying the x11-devel (libX11-devel) packages as optional and extra, not part of a standard release.

Slackware could have an x11-devel package in the /extra release directory just for developers.

Quote:
How large are the .a files you need?
They are actually fairly small. In Slackware 11.0 the x11-devel package is 5 megabytes.

Last edited by aaazen; 05-15-2015 at 01:41 AM. Reason: spelling
 
Old 05-10-2015, 03:28 PM   #22
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 2,503

Rep: Reputation: 8459Reputation: 8459Reputation: 8459Reputation: 8459Reputation: 8459Reputation: 8459Reputation: 8459Reputation: 8459Reputation: 8459Reputation: 8459Reputation: 8459
Quote:
Originally Posted by comet.berkeley View Post
I am marking this thread as UNSOLVED because Slackware used to have an x11-devel package just like other Linux distributions still do.

While installing Slackware 11.0 (2006) on an old machine, I found a package called x11-devel containing the missing libX11.a file and other .a files.



The package disappeared in Slackware 12.0 with this comment in
the UGRADE.TXT:
Code:
*** PACKAGE REMOVALS SINCE 11.0 ***
...
x/x11-*: removed old x/x11-* packages - replaced by new modular x11.
...
Perhaps Slackware current could and should have this package again?
Like the previous poster said, don't hold your breath. Those static libraries are huge, and almost nobody needs them for anything.

Glad you figured out how to build them. IMHO, this should be marked solved.
 
1 members found this post helpful.
Old 05-15-2015, 01:40 AM   #23
aaazen
Member
 
Registered: Dec 2009
Posts: 358

Original Poster
Rep: Reputation: Disabled
x11-devel.SlackBuild

I have created a replacement for my kludge above called x11-devel.SlackBuild.

http://sourceforge.net/projects/slac...ckbuild/files/

This was made from the existing x11.SlackBuild script.

It writes all output packages and modified configuration files to the /tmp/x11-devel/ directory.

It should leave the original x11 source files/scripts/configuration untouched.

It builds multiple x11-devel packages.

Use the script with Slackware 14.1 or newer by placing it in the source/x/x11 directory.

Then to build and install all available x11 static libraries, run these 3 commands:

#./x11-devel.SlackBuild xcb
#./x11-devel.SlackBuild lib
#./x11-devel.SlackBuild app compiz

The created package files are put in the /tmp/x11-devel directory.

To create the packages without installation, run the scripts like this:

#UPGRADE_PACKAGES=no ./x11-devel.SlackBuild xcb
#UPGRADE_PACKAGES=no ./x11-devel.SlackBuild lib
#UPGRADE_PACKAGES=no ./x11-devel.SlackBuild app compiz

Last edited by aaazen; 05-18-2015 at 03:44 PM. Reason: Fix url
 
1 members found this post helpful.
Old 05-24-2015, 02:02 PM   #24
aaazen
Member
 
Registered: Dec 2009
Posts: 358

Original Poster
Rep: Reputation: Disabled
README for x11-devel.SlackBuild

Here is the updated README for x11-devel.SlackBuild 1.1:

2018-05-18 x11-devel.SlackBuild 1.1

The Slackware x11-devel.SlackBuild script can create static libraries for use with the X Window system.

Use the script with Slackware 14.1 or newer by placing it in the source/x/x11 directory.

Then to build and install all available x11 static libraries, run these 3 commands:

#./x11-devel.SlackBuild xcb
#./x11-devel.SlackBuild lib
#./x11-devel.SlackBuild app compiz

The created package files are put in the /tmp/x11-devel directory.

To create the packages without installation, run the scripts like this:

#UPGRADE_PACKAGES=no ./x11-devel.SlackBuild xcb
#UPGRADE_PACKAGES=no ./x11-devel.SlackBuild lib
#UPGRADE_PACKAGES=no ./x11-devel.SlackBuild app compiz

47 packages are created:
(When all installed they use less than 11 megabytes of disk)

x11-devel-compiz-0.8.8-x86_64-2.txz
x11-devel-libFS-1.0.6-x86_64-1.txz
x11-devel-libICE-1.0.9-x86_64-1.txz
x11-devel-libSM-1.2.2-x86_64-1.txz
x11-devel-libX11-1.6.3-x86_64-1.txz
x11-devel-libXScrnSaver-1.2.2-x86_64-1.txz
x11-devel-libXau-1.0.8-x86_64-1.txz
x11-devel-libXaw-1.0.12-x86_64-1.txz
x11-devel-libXaw3d-1.6.2-x86_64-2.txz
x11-devel-libXcomposite-0.4.4-x86_64-1.txz
x11-devel-libXcursor-1.1.14-x86_64-1.txz
x11-devel-libXdamage-1.1.4-x86_64-1.txz
x11-devel-libXdmcp-1.1.2-x86_64-1.txz
x11-devel-libXevie-1.0.3-x86_64-1.txz
x11-devel-libXext-1.3.3-x86_64-1.txz
x11-devel-libXfixes-5.0.1-x86_64-1.txz
x11-devel-libXfont-1.5.1-x86_64-1.txz
x11-devel-libXfontcache-1.0.5-x86_64-1.txz
x11-devel-libXft-2.3.2-x86_64-2.txz
x11-devel-libXi-1.7.4-x86_64-1.txz
x11-devel-libXinerama-1.1.3-x86_64-1.txz
x11-devel-libXmu-1.1.2-x86_64-1.txz
x11-devel-libXp-1.0.3-x86_64-1.txz
x11-devel-libXpm-3.5.11-x86_64-1.txz
x11-devel-libXrandr-1.4.2-x86_64-1.txz
x11-devel-libXrender-0.9.8-x86_64-1.txz
x11-devel-libXres-1.0.7-x86_64-1.txz
x11-devel-libXt-1.1.4-x86_64-1.txz
x11-devel-libXtst-1.2.2-x86_64-1.txz
x11-devel-libXv-1.0.10-x86_64-1.txz
x11-devel-libXvMC-1.0.9-x86_64-1.txz
x11-devel-libXxf86dga-1.1.4-x86_64-1.txz
x11-devel-libXxf86misc-1.0.3-x86_64-1.txz
x11-devel-libXxf86vm-1.1.4-x86_64-1.txz
x11-devel-libdmx-1.1.3-x86_64-1.txz
x11-devel-libfontenc-1.1.2-x86_64-1.txz
x11-devel-libpciaccess-0.13.3-x86_64-1.txz
x11-devel-libxcb-1.11-x86_64-1.txz
x11-devel-libxkbfile-1.0.8-x86_64-1.txz
x11-devel-libxshmfence-1.2-x86_64-1.txz
x11-devel-pixman-0.32.6-x86_64-1.txz
x11-devel-xcb-util-0.4.0-x86_64-1.txz
x11-devel-xcb-util-cursor-0.1.2-x86_64-1.txz
x11-devel-xcb-util-image-0.4.0-x86_64-1.txz
x11-devel-xcb-util-keysyms-0.4.0-x86_64-1.txz
x11-devel-xcb-util-renderutil-0.3.9-x86_64-1.txz
x11-devel-xcb-util-wm-0.4.1-x86_64-1.txz

-------------------------------------------------------------------------
Changelog:
2015-05-14 version 1.0 * Copy/modify x11.SlackBuild
2015-05-18 version 1.1 * include only libraries (*.a) in each package
2015-05-24 * Update this README
 
1 members found this post helpful.
  


Reply



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
install libX11 error! (xproto) totallybored Linux - Software 7 12-10-2019 05:02 PM
error in libX11 in blfs ankit0301 Linux From Scratch 26 05-02-2012 12:36 AM
error: *** libX11 not found. when installing GTK+-2.18.7 Prisp Linux - Newbie 4 02-23-2010 08:39 AM
KDevelop Executable->static link library lucky6969b Programming 1 02-13-2006 04:01 PM
Building executable for RH Ent 3 smallest Programming 1 06-09-2005 01:45 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 01:17 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
Open Source Consulting | Domain Registration