SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Attached is a modified prep-sfs-tools.txt. It allows one to use a pre-saved tools
directory or build a new one. Saving a new one is left as an exercise for the reader.
Note: I used xz compression for the tarred old directory. Nobodino uses gz compression.
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564
Rep:
regression test on slackware64-current up to 20032018 (new gst-plugins packages):
When there is no previous gst-plugins-base (you build from scratch), this package fails to build because it tries to find libgstvideo which doesn't exists yet.
It belongs to itself !!
auto reference : gst-plugins-base :
root@drakstar64:/var/log/packages# ls | xargs grep libgstvideo-1.0
gst-plugins-base-1.14.0-x86_64-1:usr/lib64/libgstvideo-1.0.la
gst-plugins-base-1.14.0-x86_64-1:usr/lib64/libgstvideo-1.0.so.0.1400.0
------------------------
It fails with the following message:
--------------------
make[5]: Entering directory '/tmp/gst-plugins-base-1.14.0/tests/examples/gl/sdl'
CCLD sdlshare
/usr/lib64/gcc/x86_64-slackware-linux/7.3.0/../../../../x86_64-slackware-linux/bin/ld: cannot find -lgstvideo-1.0
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:659: sdlshare] Error 1
make[5]: Leaving directory '/tmp/gst-plugins-base-1.14.0/tests/examples/gl/sdl'
make[4]: *** [Makefile:630: all-recursive] Error 1
make[4]: Leaving directory '/tmp/gst-plugins-base-1.14.0/tests/examples/gl'
make[3]: *** [Makefile:905: gl] Error 2
make[3]: Leaving directory '/tmp/gst-plugins-base-1.14.0/tests/examples'
make[2]: *** [Makefile:639: all-recursive] Error 1
make[2]: Leaving directory '/tmp/gst-plugins-base-1.14.0/tests'
make[1]: *** [Makefile:748: all-recursive] Error 1
make[1]: Leaving directory '/tmp/gst-plugins-base-1.14.0'
make: *** [Makefile:679: all] Error 2
-------------------------------------
The way to solve the problem is to build it two times, (not optimum) by adding ! "--disable-examples " to ./configure on the first build, and build it normally on the second pass.
--------------------------------------
--- gst-plugins-base.SlackBuild.old 2018-03-22 01:36:26.000000000 +0100
+++ gst-plugins-base.SlackBuild 2018-03-24 10:04:51.928510997 +0100
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -92,6 +92,7 @@
--mandir=/usr/man \
--disable-debug \
--disable-static \
+ --disable-examples \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
-------------------------------------
regression test on slackware64-current up to 20032018 (new gst-plugins packages):
When there is no previous gst-plugins-base (you build from scratch), this package fails to build because it tries to find libgstvideo which doesn't exists yet.
It belongs to itself !!
auto reference : gst-plugins-base :
root@drakstar64:/var/log/packages# ls | xargs grep libgstvideo-1.0
gst-plugins-base-1.14.0-x86_64-1:usr/lib64/libgstvideo-1.0.la
gst-plugins-base-1.14.0-x86_64-1:usr/lib64/libgstvideo-1.0.so.0.1400.0
------------------------
It fails with the following message:
--------------------
make[5]: Entering directory '/tmp/gst-plugins-base-1.14.0/tests/examples/gl/sdl'
CCLD sdlshare
/usr/lib64/gcc/x86_64-slackware-linux/7.3.0/../../../../x86_64-slackware-linux/bin/ld: cannot find -lgstvideo-1.0
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:659: sdlshare] Error 1
make[5]: Leaving directory '/tmp/gst-plugins-base-1.14.0/tests/examples/gl/sdl'
make[4]: *** [Makefile:630: all-recursive] Error 1
make[4]: Leaving directory '/tmp/gst-plugins-base-1.14.0/tests/examples/gl'
make[3]: *** [Makefile:905: gl] Error 2
make[3]: Leaving directory '/tmp/gst-plugins-base-1.14.0/tests/examples'
make[2]: *** [Makefile:639: all-recursive] Error 1
make[2]: Leaving directory '/tmp/gst-plugins-base-1.14.0/tests'
make[1]: *** [Makefile:748: all-recursive] Error 1
make[1]: Leaving directory '/tmp/gst-plugins-base-1.14.0'
make: *** [Makefile:679: all] Error 2
-------------------------------------
The way to solve the problem is to build it two times, (not optimum) by adding ! "--disable-examples " to ./configure on the first build, and build it normally on the second pass.
--------------------------------------
--- gst-plugins-base.SlackBuild.old 2018-03-22 01:36:26.000000000 +0100
+++ gst-plugins-base.SlackBuild 2018-03-24 10:04:51.928510997 +0100
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -92,6 +92,7 @@
--mandir=/usr/man \
--disable-debug \
--disable-static \
+ --disable-examples \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
-------------------------------------
You could build a conditional into the SlackBuild like
Code:
if ! pkg-config --exists gstreamer-video-1.0 ; then
DO_EXAMPLES="--disable-examples"
else
DO_EXAMPLES=" "
fi
And then later on you use the ${DO_EXAMPLES} variable in your configure commandline instead of "--disable-examples".
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564
Rep:
It's time for a great "spring cleaning".
Here is the result. Fewer scripts, 9 at least and direct "rsync" with slackware mirrror and "others" can be "populated" directly from internet if you choose "rsync" option.
I enclosed a little memo to explain how to do all this.
While building slackware64-current, using your scripts from 3/13, I had
to add "d git" just before "x vulkan-sdk" in build2_s.list. Otherwise,
vulkan-sdk bombed out with "file not found" error.
Last edited by worsel; 03-26-2018 at 02:20 PM.
Reason: forgot version info
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564
Rep:
the last -current update (26032018) broke the sfs-tools-current script:
-------------------------------
Are you to go on ok?
1) go-on
2) quit
Your choice:1
You choose to continue the process of building 'tools' for SFS.
tar (child): lzip: Cannot exec: Too many levels of symbolic links
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
mkdir: cannot create directory 'build': File exists
./sfs-tools-current.sh: line 231: ../configure: No such file or directory
-------------------------------
Don't know what contributes to this new behavior?
edit: not the same behavior on slackware64-14.2 (it works normally) , I must have broken something.
Don't know what contributes to this new behavior?
edit: not the same behavior on slackware64-14.2 (it works normally) , I must have broken something.
I've seen the message "Cannot exec: Too many levels of symbolic links" before but have never been able
to track down the cause. It has usually been associated with the following aliases from my .bashrc, but
is not consistent. I can call "cview /something/*/afilename" and it works most of the time. Occasionally
up pops that error message. Never happens if I don't use the wild card though.
Quote:
alias cvi="gvim +"set tabstop=4 autoindent ""
alias cview="cvi -R "
Not much help, I know, but all I've got. Good Luck.
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564
Rep:
regression test on slackware64-current (29032018), I caught two bugs (I think).
I didn't go to the end for now (up to httpd in SFS), but I thinks it's worth noting.
- httpd doesn't like the new option "--with-mysql=usr" see th error while building:
--------------------------------
make[1]: Entering directory '/tmp/httpd-2.4.33/support'
make[2]: Entering directory '/tmp/httpd-2.4.33/support'
/usr/lib64/apr-1.6.3/build-1/libtool --silent --mode=link gcc -pthread -O2 -fPIC -pie -o htpasswd htpasswd.lo passwd_common.lo /usr/lib64/libaprutil-1.la -ldb-4.4 -lexpat -lsqlite3 -L/usr/lib64/ -lmysqlclient -L/usr/lib64/ -lmariadb -lz -ldl -lm -lpthread -lssl -lcrypto -ldb-4.4 -lldap -llber /usr/lib64/libapr-1.la -luuid -lrt -lcrypt -lpthread -ldl -lcrypt
/usr/lib64/libaprutil-1.so: undefined reference to `my_init'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:48: htpasswd] Error 1
make[2]: Leaving directory '/tmp/httpd-2.4.33/support'
make[1]: *** [/tmp/httpd-2.4.33/build/rules.mk:75: all-recursive] Error 1
make[1]: Leaving directory '/tmp/httpd-2.4.33/support'
make: *** [/tmp/httpd-2.4.33/build/rules.mk:75: all-recursive] Error 1
------------------------------
If you remove the new option to apr-utils, it works. Unless a patch is found to solve httpd compilation ?
------------------------------
-glibc-2.26 introduced a bug in flex (see LFS-8.1)
In slackware:
-flex-2.6.4 was compiled with glibc-2.25 on 07052017
-glibc-2.26 came in slackware on 23092017, so after the flex binary came in
So if actually you recompile flex-2.6.4 with glibc-2.27 and the same SlackBuild, and
upgradepkg -reinstall flex-2.6.4*.txz
Now if you try to recompile doxygen it will fail with the following error:
-----------------------------
[ 38%] Building CXX object addon/doxywizard/CMakeFiles/doxywizard.dir/moc_wizard.cxx.o
In file included from /tmp/doxygen-1.8.14/qtools/qiodevice.h:43:0,
from /tmp/doxygen-1.8.14/qtools/qfile.h:42,
from /tmp/doxygen-1.8.14/qtools/qfile_unix.cpp:40:
In static member function 'static QCString::LSData* QCString::LSData::resize(QCString::LSData*, int)',
inlined from 'bool QCString::StringRep::resize(uint)' at /tmp/doxygen-1.8.14/qtools/qcstring.h:664:34,
inlined from 'virtual int QFile::readBlock(char*, uint)' at /tmp/doxygen-1.8.14/qtools/qcstring.h:227:19:
/tmp/doxygen-1.8.14/qtools/qcstring.h:407:17: warning: 'void* memcpy(void*, const void*, size_t)': specified size between 18446744071562067968 and 18446744073709551614 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
memcpy(newData->toStr(),d->toStr(),len);
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 38%] Building CXX object qtools/CMakeFiles/qtools.dir/qdir_unix.cpp.o
[ 40%] Building CXX object qtools/CMakeFiles/qtools.dir/qfileinfo_unix.cpp.o
[ 40%] Building CXX object qtools/CMakeFiles/qtools.dir/qthread_unix.cpp.o
[ 40%] Building CXX object addon/doxywizard/CMakeFiles/doxywizard.dir/qrc_doxywizard.cxx.o
[ 40%] Building CXX object qtools/CMakeFiles/qtools.dir/qwaitcondition_unix.cpp.o
[ 40%] Building CXX object qtools/CMakeFiles/qtools.dir/qmutex_unix.cpp.o
[ 40%] Building CXX object vhdlparser/CMakeFiles/vhdlparser.dir/VhdlParserIF.cpp.o
[ 40%] Linking CXX executable ../../bin/doxywizard
[ 40%] Built target doxywizard
[ 41%] Linking CXX static library ../lib/libqtools.a
[ 41%] Built target qtools
[ 43%] Linking CXX static library ../lib/libvhdlparser.a
[ 43%] Built target vhdlparser
make: *** [Makefile:163: all] Error 2
[ 1%] Built target md5
[ 16%] Built target qtools
[ 21%] Built target vhdlparser
[ 26%] Built target doxycfg
[ 26%] [FLEX][scanner] Building scanner with flex 2.6.4
/usr/bin/m4:make[2]: *** [src/CMakeFiles/_doxygen.dir/build.make:236: generated_src/scanner.cpp] Segmentation fault
stdin:871: ERROR: end of file in stringmake[2]: *** Deleting file 'generated_src/scanner.cpp'
make[1]: *** [CMakeFiles/Makefile2:291: src/CMakeFiles/_doxygen.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
------------------------------
The solution is to apply the LFS patch to flex.SlackBuild as what's following:
-----------------------------
--- flex.SlackBuild.old 2018-03-22 01:36:30.000000000 +0100
+++ flex.SlackBuild 2018-03-29 18:11:25.668430370 +0200
@@ -71,6 +71,9 @@
tar xvf $CWD/${PKGNAM}-$VERSION.tar.lz || exit 1
cd ${PKGNAM}-$VERSION
+# fix patch from LFS to solve doxygen-1.8.14 build failure:
+sed -i "/math.h/a #include <malloc.h>" src/flexdef.h
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
--------------------------------------
And doxygen-1.8.14 will be happy again.
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564
Rep:
I'm still screwd with:
----------------------------
tar (child): lzip: Cannot exec: Too many levels of symbolic links
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
---------------------------
the only working options now in 'pre-sfs-tools.sh' are 'old' and 'quit', 'new' doesn't work.
I can't bootstrap anymore, even building 'tools' manually.
I even tried:
upgradepkg --reinstall */*.t?z from slackware64/ but it did nothing better: same message
The ultimate option will be to reinstall completely a new slackware64-current on a new partition to see what's wrong. I'll go back to version r0 of that script.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.