LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   No binary file when installing with src2pkg (https://www.linuxquestions.org/questions/slackware-14/no-binary-file-when-installing-with-src2pkg-903012/)

Bindestreck 09-14-2011 12:09 PM

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

ponce 09-14-2011 12:47 PM

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/

Bindestreck 09-14-2011 12:54 PM

Quote:

Originally Posted by ponce (Post 4471651)
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...

dugan 09-14-2011 01:00 PM

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

Src2pkg bug?

ponce 09-14-2011 01:18 PM

Quote:

Originally Posted by eXpander_ (Post 4471656)
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 :)

Bindestreck 09-14-2011 02:19 PM

Quote:

Originally Posted by ponce (Post 4471673)
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.

gnashley 09-15-2011 02:43 AM

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.

Richard Cranium 09-15-2011 10:22 PM

I've had the most success by using the -UNION option while running src2pkg as root. Your mileage may vary.

gnashley 09-16-2011 01:38 AM

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.

Bindestreck 09-16-2011 08:23 AM

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



All times are GMT -5. The time now is 04:09 PM.