LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   New src2pkg bug-fix version (https://www.linuxquestions.org/questions/slackware-14/new-src2pkg-bug-fix-version-620130/)

gnashley 01-08-2010 12:50 AM

First, try it using the src2pkg command instead of trackinstall:
src2pkg glib-2.22.0.tar.??
I suspect you may need to use:
src2pkg -DEST glib-2.22.0.tar.??
With the new src2pkg-2.0, the default INSTALL_TYPE has been made JAIL, but it fails with some packages. Anytime you have a failure such as this, it is worth trying one of the alternate content-creation methods. There are five in total:
JAIL, DEST(or DESTDIR), UNION, SAFE and REAL

wootletootle 01-08-2010 01:00 AM

Thanks for your suggestions. I didn't expect your response to be that quick, and I duplicated my post, please ignore.

Are you saying that src2pkg can take over the entire configuration
and compilation of just about any installed program? What if I need
to pass flags to <configure> or <make>?

.................................................................
EDIT: Wow, it worked, I'm impressed :) The first time round I tried

src2pkg glib-2.22.0.tar.gz

and got the same installation error as before. But

src2pkg -DEST glib-2.22.0.tar.gz

worked perfectly through all the stages (configuration, make,
make install) and created the Slackpack ready for use with
installpkg.

Thankyou very much gnashley :)

.................................................................
SECOND EDIT:

-DEST doesn't seem to work as a flag to trackinstall?
Can that be fixed?

gnashley 01-08-2010 05:33 AM

I'll look into the problem with DEST using trackinstall.
Yes, you can use src2pkg for the whole build. It will nearly always be more dependable because it gets tested more. There are a very few cases where trackinstall may give better results. Run 'src2pkg --help' to see the main options or look at the man-page. Passing options to configure is the most commonly-needed feature -you simply use, for example:
src2pkg -e='--disable cruft --enable-goodies' tarball-name
But, if you are using extra options, it really is a good idea to create a src2pkg script so you have a record of what you did. In such a case, you can do this:
src2pkg -e='--disable cruft --enable-goodies' -N tarball-name
The '-N' tells src2pkg to create the script for you. Then, you can run the script by simply using:
src2pkg -X
Note that you can still add other (Captial-lettered) options when using the '-X', option:
src2pkg -X -C -W -DEST
(Run the first script you find, place the final package in the Current directory, cleanup (Wipe up) temporary files when finished, use DESTDIR-type installation for creation of content)
This is handy because it lets you use 'hard copy' options which are essential to the package (configure options, make command, etc), while still having use of a range of transient options for user-oriented beahviours -and keeping the command-line shorter.
Thanks for the tip on -DEST and trackinstall.

veeall 01-08-2010 09:01 AM

I just upgraded to src2pkg-2.0-noarch-16.tgz after grabing latest updates from slackware64-current. While running 'src2pkg --setup' created and installed helpers successfully, during compiling it complained about 'Creating libsentry - Ooops! Can't live without it...'. Afterwards running 'src2pkg package.tar.gz' still gave this notice:
Code:

NOTICE! src2pkg has not been setup yet or needs updating.
  In order to use src2pkg you must first login as root and run
  src2pkg with the command: 'src2pkg --setup'

Is 'libsentry' a missing dependency?

tuxdev 01-08-2010 09:53 AM

libsentry (as well as a few other things) is distributed with src2pkg as source and is built by src2pkg --setup

zhoun 01-08-2010 10:06 AM

confirmed this!
When use src2pkg with root, it always compile src2pkg-helpers first...
again and again.

I am using slackware current.
during compiling it complained about 'Creating libsentry - Ooops! Can't live without it...'

It's ok under slackware 12.2.
just print 'Creating libsentry - Ok'


Quote:

Originally Posted by veeall (Post 3818888)
I just upgraded to src2pkg-2.0-noarch-16.tgz after grabing latest updates from slackware64-current. While running 'src2pkg --setup' created and installed helpers successfully, during compiling it complained about 'Creating libsentry - Ooops! Can't live without it...'. Afterwards running 'src2pkg package.tar.gz' still gave this notice:
Code:

NOTICE! src2pkg has not been setup yet or needs updating.
  In order to use src2pkg you must first login as root and run
  src2pkg with the command: 'src2pkg --setup'

Is 'libsentry' a missing dependency?


gnashley 01-08-2010 11:03 AM

Yeah, libsentry is a must-have. Current just switched to glibc-2.11.1 the other day and I'm pretty sure this is what is keeping libsentzry/src2pkg-helpers from building.
veall and zhoun, can you both send me an email so I can send you a newer copy of src2pkg-helpers or the full pre-release src2pkg so you can see if it now builds?
I've been planning on releasing again real soon -this just makes it more pressing...

ponce 01-08-2010 01:05 PM

this is the error
Code:

src2pkg-helpers-0.7/libsentry-0.6.7.8$ make
./create-defines
Checking truncate argument type... off_t
Checking libc version... libc.so.6
Checking glibc subversion... cc -Wall -U_FORTIFY_SOURCE -D_GNU_SOURCE -DLIBDIR=\"/usr/local/lib\" -DPIC -fPIC -D_REENTRANT -DVERSION=\"0.6.7.8\" -c libsentry.c
libsentry.c: In function 'fopen':
libsentry.c:2529: warning: cast from pointer to integer of different size
libsentry.c:2544: warning: cast from pointer to integer of different size
libsentry.c: At top level:
libsentry.c:3049: error: conflicting types for 'scandir'
/usr/include/dirent.h:252: note: previous declaration of 'scandir' was here
libsentry.c: In function 'fopen64':
libsentry.c:3605: warning: cast from pointer to integer of different size
libsentry.c: At top level:
libsentry.c:3698: error: conflicting types for 'scandir64'
/usr/include/dirent.h:275: note: previous declaration of 'scandir64' was here
make: *** [libsentry.o] Error 1


gnashley 01-08-2010 01:11 PM

Yeah, I think I've fixed that already as I ran into it the other day. I rolled in some fixes for glibc>=2.10 that adress that and some 64-bit issues.

Anyone running slackware64-current who can test these fixes?

mlangdn 01-08-2010 02:00 PM

I just installed src2pkg and ran src2pkg --setup with no problems on x64-current.

gnashley 01-08-2010 02:04 PM

Oh really? So maybe it is working on 64-bit, but not on 32 -sounds backwards...

mlangdn 01-08-2010 02:14 PM

I should have added that I am running the multilib version. That may be important.

Daedra 01-08-2010 02:16 PM

Quote:

Originally Posted by veeall (Post 3818888)
I just upgraded to src2pkg-2.0-noarch-16.tgz after grabing latest updates from slackware64-current. While running 'src2pkg --setup' created and installed helpers successfully, during compiling it complained about 'Creating libsentry - Ooops! Can't live without it...'. Afterwards running 'src2pkg package.tar.gz' still gave this notice:
Code:

NOTICE! src2pkg has not been setup yet or needs updating.
  In order to use src2pkg you must first login as root and run
  src2pkg with the command: 'src2pkg --setup'

Is 'libsentry' a missing dependency?

I can also confirm this on current 32bit

mlangdn 01-08-2010 02:24 PM

No, its not working. Only the install and setup ran ok. Running src2pkg on a tarball still gives notice that helpers needs updating and it seems to rebuild libsentry and coreutils. Then it goes on with the build.

gnashley 01-08-2010 02:56 PM

Okay, sorry it is late here in Germany so I must work on this tomorrow with a fresh start... Thanks to all for the feedback.


All times are GMT -5. The time now is 09:48 AM.