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 09-23-2016, 07:16 AM   #16
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656

I definitely understand those reasons. It can be troublesome to switch to something you're not familiar/comfortable with.

I can't really speak to wine usage on 64bit as I don't have any reliance on Windows software on my desktop (I still have a laptop that runs only Windows, but mainly because it has stupid Nvidia Optimus, and I've never been pleased with how it works in Linux... my next laptop won't include dual video cards), but I can't imagine that kpackage or your schematics program would work any different in a multilib environment vs a standard 32bit install. Once everything is installed, it is pretty imperceptible to distinguish between 32bit and 64bit apps without actually checking them (like using file).

I know a lot of people are using wine regularly, and based on this post from Eric (Alien Bob), it seems that his wine packages will run both 32bit and 64bit Windows software seamlessly on a multilib setup.

Other than wrapping your head around setting up multilib (which might seem daunting, but really, you replace the pure 64bit glibc and gcc packages with multilib versions and then install some important 32bit libraries that 32bit programs will likely need... that's all there is to it -- and Eric has all the packages ready and waiting), 32bit software runs great in Slackware64.

Just some food for thought. I'm not trying to rush your transistion, just hoping to alleviate your concerns when you do decide to switch
 
Old 09-23-2016, 11:46 AM   #17
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,776

Original Poster
Rep: Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425
Wow! Thanks again, bassmadrigal. I am indeed indebted to you since nobody has laid out an updated experience with 64 bit like that as you nailed it... it did seem like daunting work for very little gain. I have been tossing around the idea of upgrading recently since I installed 14.2 on a new-to-me Thinkpad and like it rather a lot. So I think this month I will install 64 bit 14.2 on this, my Main, in it's own partition, to make for a comfortable transition. My 14.0 32 bit runs remarkably well considering it started as 12.0 and has been incrementally upgraded, cloned, and upgraded a few more times to be on this box. A fresh install seems...well... refreshing!

Last edited by enorbet; 09-23-2016 at 11:48 AM.
 
Old 09-23-2016, 12:25 PM   #18
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Awesome! I'm glad I could help

Since you're looking at doing this relatively soon, I'll give you some information to clear up some confusion that *I* had (maybe I was one of the few who didn't fully understand it). The only thing multilib in a Slackware multilib install (other than the kernel being capable of already running 32bit and 64bit programs) is gcc and glibc, and both are provided by Eric. All the other packages are regular old 32bit software (except for his compat32-tools package, but that's self explanatory), however, the package name is adjusted to ensure nothing is overwritten and the $ARCH is changed to x86_64 with a compat32 tag at the end. This allows you to easily distinguish between the 32bit compatibility packages and the regular 64bit packages (package-name-i586-1.txz would become package-name-compat32-x86_64-1compat32.txz). Any 32bit package can be converted with Eric's convertpkg-compat32 script that is installed with the compat32-tools package. Eric has provided a number of common 32bit compatibility libraries under his multilib directory. You're free to install any, some, or none of those. If you have a need for additional 32bit libraries that are official Slackware packages, you can easily download the 32bit package, run convertpkg-compat32 against it and install the resulting package.

Generally, the default compat32 packages provided by Eric are enough for most users needing multilib. However, if you find you're in need of something else, he also has provisions for you to load a 32bit environment and to compile 32bit software. But, I'd suggested reading the relevant info on his multilib page if you have the need.

Long story short, upgradepkg the gcc and glibc packages provided by Eric, then installpkg the 32bit compatibility packages, and then you should be good. It's pretty simple, and other than compiling software, there's not much different between a "pure" Slackware install and a multilib.

The only big gotcha in compiling 64bit software on a multilib machine, is that a few programs will look in /usr/lib/ for libraries before /usr/lib64/, so that can cause errors in compilation. Most of the time, it can be easily fixed using the answer on SBo's FAQ (adding LDFLAGS="-L/usr/lib${LIBDIRSUFFIX}" \ before the ./configure line). You can also temporarily rename (mv) your /usr/lib/ to something else (/usr/lib-bak/) until the compilation is done.

Also, if you use a proprietary driver, make sure you (re)install the driver after you set up multilib so the driver can enable 32bit support.

Good luck, and if you have questions/problems, you know where to find us
 
1 members found this post helpful.
Old 09-26-2016, 11:12 AM   #19
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,776

Original Poster
Rep: Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425
Update - 64 bit is installed and multi-libbed (It was easy). Just FTR I installed the latest factory nvidia beta and it handled everything perfectly, including blacklisting nouveau. Today is the big test, installing and configuring wine.
 
1 members found this post helpful.
Old 09-26-2016, 02:03 PM   #20
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Good luck!
 
Old 09-26-2016, 07:00 PM   #21
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,776

Original Poster
Rep: Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425
It has been surprisingly easy until installing wine. I preinstalled OpenAl, fontforge (all of it) as well as some recommended imlib, lua and tolua++ but after that long winebuild it keeps failing to complete "make" on lousy image files. The first one was "wine.svg", which I just copied from my 32 bit install to the new winebuild directory which got me past that from line 412 to line 415 which fails on "winecfg.png" and copying that to the same directory did not solve it. So far online searches reveals very little. I certainly wish I understood why there is any fault for simple icon files since one-by-one takes forever and doesn't always work the first or even second time (winecfg.png exists in several forms and locations in the final install on 32 bit, and I'm just making one available in the build directory).
 
Old 09-26-2016, 10:45 PM   #22
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Are you opposed to using Eric's pre-compiled binary for wine? It requires OpenAL and libva. If you prefer, it should be able to be installed with slackpkg+, if you have that configured.

If you do want to build it yourself, you may want to look at Eric's SlackBuild for it.
 
Old 09-27-2016, 10:57 AM   #23
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,776

Original Poster
Rep: Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425
I am using Eric's Slackbuild from his blog site which handles downloading latest but now that I checked the link you posted I see that oddly enough both files are there. That should solve the problem. Thanks again... and yes I do prefer building myself. Convenience makes one weaker so should be carefully considered, IMHO.
 
Old 09-27-2016, 12:03 PM   #24
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
Originally Posted by enorbet View Post
and yes I do prefer building myself. Convenience makes one weaker so should be carefully considered, IMHO.
I do agree with that sentiment, however, I do make exceptions for qt, chromium, openjdk, and libreoffice, as I don't want to take the time to build those myself. But pretty much everything else is built from source.
 
Old 09-27-2016, 03:09 PM   #25
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,776

Original Poster
Rep: Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425
Well in this case building one's own is seriously hampered by my newb status in multilib and possibly a little bit from unclear and old (not updated) entries in Alien Bob's blog on Wine. There are several ways to install Wine in Slackware and at least a few different winebuild scripts. I fervently wish I could give credit to the brilliance of the LQN member who wrote the wine-staging build script since I find it effective at getting the latest from Wine, who updates a LOT!, by downloading the latest directly and building it for Slack. This began with Pipelight IIRC but my memory is sadly not serving me well in giving heartfelt recognition. Eric now offers such a winebuild script and that's what I used as it was linked on his blog.

However just as it did not handle the icon files which, thanks to you, bassmadrigal, and your link to "Index of" revealed not only those missing icon files but also patches for staging and d3d. Unfortunately there is no mention of how these are handled once the build script is completed and installed. I'm unsure if it is possible to patch an existing install (there is no mention, let alone instructions) or if I simply must uninstall, copy the patches to the build directory and start all over.

I'm pleased enough with 64bit and recognize that sooner or later it will likely become mandatory, that I am willing to put in the work but this is exactly the kind of extra work I avoided by staying with a full 32 bit OpSys. Currently I am getting d3d errors when trying to launch an app that works great in 32 bit. I may go the complete rebuild route anyway since with this build script winetricks is not installed and I consider that essential.

Hopefully the investment in effort and time will pay off fairly soon.

Note: Since I mentioned a shortcoming in Eric's work, it's only fair that I express my deep respect and gratitude as well for the tremendous contribution he has made and continues to make. ^4 bit all by itself is rather a monumental achievement as is the highly welcome Live Edition. That said, I would like to know more about these patches, like if they can be applied externally or are just intended to be picked up by the build script.
 
Old 09-27-2016, 04:10 PM   #26
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
As far as I know, all the needed patches that Eric has in that directory are applied in the SlackBuild in this section:

Code:
# Patches:
touch $OUTPUT/patch-${PRGNAM}.log
# Apply the wine-staging patches:
echo -e "\n**\n** wine-staging:\n**" | tee -a $OUTPUT/patch-${PRGNAM}.log
tar -xf ${STAGINGSRC} --strip-components 1
./patches/patchinstall.sh DESTDIR="$(pwd)" --all \
  2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
if [ "$USE_NINE" = "YES" ]; then
  # Apply the Direct3D9 patch set:
  echo -e "\n**\n** direct3d9:\n**" | tee -a $OUTPUT/patch-${PRGNAM}.log
  tar xvf ${NINESRC} --strip-components 1
  cat staging-helper.patch | patch -p1 --verbose \
    2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
  cat wine-d3d9.patch | patch -p1 --verbose \
    2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
fi
As for having d3d support, there's a test to see if your mesa supports it at the beginning of the script.

Code:
## Slackware until 14.1 does not have d3dadapter aka "nine" ebabled in mesa:
if /usr/bin/pkg-config --exists d3d ; then
  echo "-- Adding d3dadapter"
  USE_NINE=${USE_NINE:-"YES"}
else
  USE_NINE=${USE_NINE:-"NO"}
fi
14.2 should have this option enabled automatically (the test itself doesn't output anything, but on 14.2 its "error code" will be 0, indicating success, and on 14.1, it will be 1, indicating failure -- you can check it after running using echo $?). But without the actual error, it's anybody's guess as to what is the issue.
 
Old 09-27-2016, 10:01 PM   #27
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,776

Original Poster
Rep: Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425
Well thanks again, but I bit the bullet and applied a rather cheap and dirty shotgun approach. I put the patch files in the build directory and deleted everything that had been generated there and in /tmp and started fresh. Then, which is probably the main problem, my sometimes fuzzy memory when tackling a multi-faceted job new to me, I logged out to console and reinstalled nvidia factory drivers having forgotten that I installed it before my system was multilib. Doh! Naturally it picked up the change and let me choose to install 32 bit drivers. Wine then worked properly but did have some ripple in graphics. Installing vdpau fixed that and now all seems well.

I still have a lot of work to do (I'm having problems getting that old KDE v3 app, kpackage, to work on 64 bit, which is a bit of a bummer so far) but I expect all will come along with blood, sweat and cuss words.

NOTE: I'm still getting errors
Code:
 fixme:d3d:wined3d_dxtn_init Wine cannot find the txc_dxtn library, DXTn software support unavailable
but everything seems to work in an acceptable manner. I'll work more on this.

Last edited by enorbet; 09-27-2016 at 10:17 PM.
 
Old 09-27-2016, 11:20 PM   #28
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
To get rid of that error, you'll need libtxc_dxtn, which is available on SBo.

However, you'll need to build a 32bit version (probably should do a 64bit version too, just in case). Eric's multilib page covers how to build 32bit packages with a multilib Slackware (towards the bottom, search for "Compiling 32-bit programs"), or if you have a 14.2 32bit machine, you can just build it there and run covertpkg-compat32 against that package and install the resulting package.

As for kpackage, do you have a SlackBuild or source for the version of kpackage you use? I won't be able to do anything until later tomorrow, but I can see if I can get it working on my old 14.1 multilib system to see if there's any "gotchas" that I can figure out.
 
Old 09-28-2016, 01:37 PM   #29
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,776

Original Poster
Rep: Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425Reputation: 4425
For the thread - Today I expect to try "Discord-Canary" on the new 64 bit 14.2 install. If it works, even though I'm still unclear about deb2tgz and it's abilities, I can mark this as essentially "solved". Editing the script, whether individually or with a wild card seems to fix errors but the output is not guaranteed. It's easier to unpack the deb file and manually copy n paste for the few deb-only files in existence.

For bassmadrigal - I'll try those out today or tomorrow. Thanks again. As for kpackage from KDE v3x, I actually used the app for what I like best about it - to view all the associated files and links associated with a package. Once I had that "roadmap" I simply copied everything to a newly created "/opt/kde3/" directory. There were a few Qt3 files called for in execution that were listed in errors so after just a few false starts, it ran. I'm not getting such verbose errors on 64 bit so far, so I may have to attempt to install Qt v3 in it's entirety in an "/opt/Qt3/" directory for 64 bit. FWIW the v3 Kpackage not only listed associated/installed files specific to each package, but was Slackware compatible and though the "Install" function became obsolete (possibly modifiable for SBs) the "Uninstall" feature was pretty nice especially since Kpackage v3 reveals versions and any duplications. It was/is a nice "one stop shop" without attempting to do too many things.
 
Old 09-28-2016, 05:46 PM   #30
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
As far as I know, deb2tgz automates what I put in my SlackBuild, but if I remember from your earlier posts, it doesn't support xz compression and only gz, so it might still fail. I looked into it. It basically extracts the data.tar.gz from the .deb archive and renames it to the packagename.tgz. But it has no support if the data file is compressed using xz (data.tar.xz). I did throw that SlackBuild up on my github, in case others want to use it/work on it.

Do you have a binary for kpackage3 that I could install and/or look at or do you build it from source? It might be something simple that is missing. You can try ldd or readelf to see if it is missing some component.

Code:
readelf -d /location/to/kpackage.binary | grep NEEDED
 
  


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
problem with deb2tgz in slackware64-14 hegira Slackware 31 09-03-2013 01:59 PM
convert deb2tgz... is it possible...? Alexvader Slackware 18 01-17-2010 02:58 PM

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

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
Open Source Consulting | Domain Registration