LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
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 09-14-2011, 12:09 PM   #1
Bindestreck
Member
 
Registered: Jul 2011
Location: Sweden
Distribution: Slackware
Posts: 820

Rep: Reputation: 440Reputation: 440Reputation: 440Reputation: 440Reputation: 440
No binary file when installing with src2pkg


Hi,

I am a bit confused about src2pkg. I was trying to upgrade pidgin 2.9.0 to 2.10.0, but with no success. I do src2pkg like this:

src2pkg pidgin-2.10.0.tar.bz2 -e='--disable-avahi --disable-nm --sysconfdir=/etc'

The building of the package is successfull, and the package is placed in /tmp. I then do a upgradepkg, also with success. However, when I try to execute Pidgin there is no binary files?!?

I then tried to remove pidgin, and do installpkg instead. But, even here there is no binary files installed to execute Pidgin.

I then tried to manually install Pidgin with make; make install (with exactly the same configuration flags as when using src2pkg), and then the binary files can be found and are installed in /usr/bin. However, I dont want to install manually but with src2pkg.

So, the question is, what am I doing wrong with src2pkg, why is there no binary files installed when using src2pkg? This is not the first time it happens, it did happen with several other softwares.

/eXpander
 
Old 09-14-2011, 12:47 PM   #2
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
pidgin is a pretty complex beast to build manually: is there any particular reason why you are not using the slackbuild?

http://slackware.osuosl.org/slackwar...ce/xap/pidgin/
 
Old 09-14-2011, 12:54 PM   #3
Bindestreck
Member
 
Registered: Jul 2011
Location: Sweden
Distribution: Slackware
Posts: 820

Original Poster
Rep: Reputation: 440Reputation: 440Reputation: 440Reputation: 440Reputation: 440
Quote:
Originally Posted by ponce View Post
pidgin is a pretty complex beast to build manually: is there any particular reason why you are not using the slackbuild?

http://slackware.osuosl.org/slackwar...ce/xap/pidgin/
Hi ponce,

no, there is no particular reason that I dont use Slackbuild. Im just curious if there is something extra one needs to do with src2pkg to make a successfull installation, or why this happens. I can install it manually, but with src2pkg it fails.

However, I should go Slackbuild instead when something like this happens...
 
Old 09-14-2011, 01:00 PM   #4
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,225

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
This also happened to me this weekend, when I tried to use src2pkg to build another program (DeSmuME, I think).

Src2pkg bug?
 
Old 09-14-2011, 01:18 PM   #5
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
Quote:
Originally Posted by eXpander_ View Post
I can install it manually
have a look at Pat's slackbuild: beside passing a lot of options to configure it does many things (mainly perl-related) that you probably haven't done with the manual install...

Quote:
However, I should go Slackbuild instead when something like this happens...
in my opinion, the best practice is to use a working slackbuild for everything that has one available from trusted sources (Pat, slackbuilds.org, Eric, Robby, Niels, etc., whoever you trust).
for everything else, you can try with src2pkg.

or you can also write one slackbuild yourself for it, it's fun
 
Old 09-14-2011, 02:19 PM   #6
Bindestreck
Member
 
Registered: Jul 2011
Location: Sweden
Distribution: Slackware
Posts: 820

Original Poster
Rep: Reputation: 440Reputation: 440Reputation: 440Reputation: 440Reputation: 440
Quote:
Originally Posted by ponce View Post
have a look at Pat's slackbuild: beside passing a lot of options to configure it does many things (mainly perl-related) that you probably haven't done with the manual install...


in my opinion, the best practice is to use a working slackbuild for everything that has one available from trusted sources (Pat, slackbuilds.org, Eric, Robby, Niels, etc., whoever you trust).
for everything else, you can try with src2pkg.

or you can also write one slackbuild yourself for it, it's fun
I used that Slackbuild from your link above and it worked flawlessly. Thanks for your time.

I dont know If I should marked this thread as solved or not. I let it be unsolved for some time, maybe someone got the answer for the src2pkg issue.
 
Old 09-15-2011, 02:43 AM   #7
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,928

Rep: Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612
src2pkg doesn't install packages by default -the '-I' option tells it to really install the package when done. But, it does sound like you're not getting a successful build or the 'make install' (fake_install) is failing. If the latter is the case, then try adding the '-DEST' option to the command-line, or one of these: -UNION, -SAFE or -REAL.

That said, it does look like the SlackBuild is pretty 'busy' for building pidgin, so a working package may need some extras in a src2pkg script for pidgin.

It is unusual that the build of the package is finishing. Have a deep look in the package-tree for the build to see what's really in there. Also, posting the command-line you used and the output gives me much more to go on. It most likely is simply that the default '-JAIL' installation method is not working for pidgin.

To back up a bit, when creating package content, src2pkg tries to run 'make install' in such a way that files don't really get installed to your running system. The defaut behaviour is to use libsentry to create a 'jail' in which to run 'make install'. But, it can also use the commonly-supported DESTDIR, which in this case appears to work. If you have fuse, then src2pkg will also have built a tool called unionfs-fuse, which will create a chroot using the unionfs and bind-mounting.

If none of those methods work, src2pkg can use the -SAFE or -REAL methods which are the most accurate. But, they are the most invasive because they really do install the files to your system while tracking the install to list all the files installed or altered. The -REAL method simply goes ahead and installs things even if they overwrite existing files. The -SAFE method will first back up any files which are going to be overwritten and then restores them after the package content(new files) have been copied into the package-tree. None of these methods make the package show up as installed in the /var/log/packages database, unless you use the src2pkg '-I' option.
 
Old 09-15-2011, 10:22 PM   #8
Richard Cranium
Senior Member
 
Registered: Apr 2009
Location: McKinney, Texas
Distribution: Slackware64 15.0
Posts: 3,858

Rep: Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225
I've had the most success by using the -UNION option while running src2pkg as root. Your mileage may vary.
 
Old 09-16-2011, 01:38 AM   #9
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,928

Rep: Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612
Yes, the -UNION option is very dependable -but even there I've run a cross a couple of sources that didn't like that. It's unfortunate that there's nothing that *always* works -but that's the nature of the beast.
 
Old 09-16-2011, 08:23 AM   #10
Bindestreck
Member
 
Registered: Jul 2011
Location: Sweden
Distribution: Slackware
Posts: 820

Original Poster
Rep: Reputation: 440Reputation: 440Reputation: 440Reputation: 440Reputation: 440
I had problem installing "xf86-input-synaptic" with src2pkg, no binary files were installed when doing "installpkg" after the package was created with src2pkg. But, using the switch -DEST builded the package correctly, and I could then install the package with binary files.

So, using this:

src2pkg xf86-input-synaptics-1.5.0 ; Does not work.

src2pkg -DEST xf86-input-synaptics-1.5.0 ; Works.

However, im not exactly sure why -DEST works instead of default -JAIL.

Anyway, thanks for all your replies. I mark this thread as solved, the solution is to use one of the other "INSTALLATION_TYPES" if not -JAIL works.

*EDIT: Here is the output of when using -JAIL or -DEST, where the latter works.

-JAIL:

Code:
bash-4.1# src2pkg -JAIL "xf86-input-synaptics-1.5.0(1).tar.gz" 
Found source archive: xf86-input-synaptics-1.5.0(1).tar.gz
Deleting old build files - Done
Creating working directories:
   PKG_DIR=/tmp/xf86-input-synaptics-1.5.0(1)-x86_64-1
   SRC_DIR=/tmp/xf86-input-synaptics-1.5.0(1)-src-1
Unpacking source archive - Done
Correcting source permissions - Done
Checking for patches - None found
Found configure script - Done
Configuring sources using:
 LDFLAGS="-Wl,-O1,-L/lib64,-L/usr/lib64" CFLAGS="-O2 -fPIC -m64" ./configure --prefix=/usr --libdir=/usr/lib64
Configuration has been - Successful!
   Notice - Correcting Makefile(s) with conflicting hard-coded prefix.
Compiling sources - Using: 'make'
Compiling has been - Successful!
Checking for Makefile rule: 'install' Okay
Creating content in JAIL root - Using: 'make install'
Safe content creation - Successful!
Processing package content:
Correcting libtool files - Done
Correcting package permissions - Done
Stripping shared libraries - Using: strip -p --strip-unneeded Done
Checking for standard documents - Done
Found pkgconfig (.pc) file in SRC_DIR - Copying to PKG_DIR/usr/lib64/pkgconfig
   NOTICE - No man-pages installed by Makefile
Found man-pages in SRC_DIR - Installing in PKG_DIR
Compressing man pages - Done
Creating slack-desc - From default text
Searching for links in: xf86-input-synaptics-1.5.0(1)-x86_64-1 - None found
Rechecking package correctness - 
Checking for misplaced dirs - Done
Rechecking package permissions - Done
Creating package: xf86-input-synaptics-1.5.0(1)-x86_64-1.txz - Done
Package Creation - Successful! Package Location:
/tmp/xf86-input-synaptics-1.5.0(1)-x86_64-1.txz
-DEST:

Code:
bash-4.1# src2pkg -DEST "xf86-input-synaptics-1.5.0(1).tar.gz" 
Found source archive: xf86-input-synaptics-1.5.0(1).tar.gz
Deleting old build files - Done
Creating working directories:
   PKG_DIR=/tmp/xf86-input-synaptics-1.5.0(1)-x86_64-1
   SRC_DIR=/tmp/xf86-input-synaptics-1.5.0(1)-src-1
Unpacking source archive - Done
Correcting source permissions - Done
Checking for patches - None found
Found configure script - Done
Configuring sources using:
 LDFLAGS="-Wl,-O1,-L/lib64,-L/usr/lib64" CFLAGS="-O2 -fPIC -m64" ./configure --prefix=/usr --libdir=/usr/lib64
Configuration has been - Successful!
   Notice - Correcting Makefile(s) with conflicting hard-coded prefix.
Compiling sources - Using: 'make'
Compiling has been - Successful!
Checking for Makefile rule: 'install' Okay
Checking support for DESTDIR (or similar) - Found DESTDIR
Installing using DESTDIR - Using:
   make DESTDIR=/tmp/xf86-input-synaptics-1.5.0(1)-x86_64-1 install
Notice - Possible error running 'make install'
NOTICE - May have been a false error as files were found.
Processing package content:
Correcting package permissions - Done
Checking for standard documents - Done
Found pkgconfig (.pc) file in SRC_DIR - Copying to PKG_DIR/usr/lib64/pkgconfig
   NOTICE - No man-pages installed by Makefile
Found man-pages in SRC_DIR - Installing in PKG_DIR
Compressing man pages - Done
Creating slack-desc - From default text
Searching for links in: xf86-input-synaptics-1.5.0(1)-x86_64-1 - None found
Rechecking package correctness - 
Checking for misplaced dirs - Done
Rechecking package permissions - Done
Creating package: xf86-input-synaptics-1.5.0(1)-x86_64-1.txz - Done
Package Creation - Successful! Package Location:
/tmp/xf86-input-synaptics-1.5.0(1)-x86_64-1.txz

Last edited by Bindestreck; 09-16-2011 at 08:44 AM.
 
  


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
Help: Opening GenICs binary file, writing to binary file for GADGET-2 (in C) parallax147 Programming 0 10-05-2010 11:06 AM
Library issues while installing from a binary executable file kliew Red Hat 4 03-18-2009 07:34 PM
Installing Java, Fedora Core5. Cannot Execute Binary File. JordanD Linux From Scratch 1 03-02-2008 01:06 PM
While installing informix-SE 7.0 it gives error as cannot execute binary file sp2797 Linux - Server 1 09-07-2006 09:56 AM

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

All times are GMT -5. The time now is 05:07 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