LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   src2pkg + qt 4.3.3 (http://www.linuxquestions.org/questions/slackware-14/src2pkg-qt-4-3-3-a-609556/)

dive 12-28-2007 02:26 AM

src2pkg + qt 4.3.3
 
I'm having problems creating a qt package. If I manually untar configure and make it works fine, but for some reason src2pkg fails in the make.

Code:

make[5]: *** No rule to make target `../propertyeditor/newdynamicpropertydialog.ui', needed by `.uic/release-shared/ui_newdynamicpropertydialog.h'.  Stop.
make[5]: Leaving directory `/tmp/qt-x11-opensource-src-4.3.3-fixed-src-1/tools/designer/src/components/lib'
make[4]: *** [sub-lib-make_default-ordered] Error 2
make[4]: Leaving directory `/tmp/qt-x11-opensource-src-4.3.3-fixed-src-1/tools/designer/src/components'
make[3]: *** [sub-components-make_default-ordered] Error 2
make[3]: Leaving directory `/tmp/qt-x11-opensource-src-4.3.3-fixed-src-1/tools/designer/src'
make[2]: *** [sub-src-make_default] Error 2
make[2]: Leaving directory `/tmp/qt-x11-opensource-src-4.3.3-fixed-src-1/tools/designer'
make[1]: *** [sub-designer-make_default-ordered] Error 2
make[1]: Leaving directory `/tmp/qt-x11-opensource-src-4.3.3-fixed-src-1/tools'
make: *** [sub-tools-make_default-ordered] Error 2

Any ideas?

*Edit: Going to try using an auto file and manually doing configure and make.

gnashley 12-28-2007 10:19 AM

Ahh, just the sort of problem I hate debugging. I did though. Don't know about your machine, but on mine it took around 4 hours to get to the failure point! And it failed in exactly the same spot. So, I went into the already unpacked, configured and partially compiled sources and started from there. Even after re-configuring (without 'make clean') I was still getting the same error. So then I went into the indicated directory and found that the named file didn't exist, rather it had the name 'newdynamicpropertydialog.u' instead of 'newdynamicpropertydialog.ui'. So, then I ran make again and the same sort of thing happened except in other directories. Some other *.h files had the name with the 'h' suffix, some *.cpp files were named *.cp.
So, then I unpacked the sources freshly using the regular Slackware tar program. No problems -all files correct. Then I tried again using the static tar-1.13 that src2pkg uses -corruption again. So, the problem is with the tar program which src2pkg is using, although it may be an 'iffy' archive that is contributing to the problem. I say that because it always seems to be the same files which don't get named correctly.

So, I'll have to do something about fixing this for the upcoming release of src2pkg. I had already looked at using different versions of tar before -but it isn't so simple as just use the latest. There are very specific reasons that PatV uses tar-1.13 -having to do with the way archives(Slack packages) get unpacked (by installpkg) and the way they are created (by makepkg). And the following version go through a transition period where the syntax varies from one (tar) release to another. I spent a godd couple of weeks testing and documenting the problems and varying behaviour, so at least I don't have to start over completely in the dark.
And as far as the situation you have found the answer and solution aren't hard to deal with -the unpacking of source archives doesn't have to be handled with such 'kid-gloves' treatment.

So, here's a quick fix for you until I get the next version of src2pkg out:
Open the file /usr/libexec/src2pkg/FUNCTIONS in your favorite editor and change all these lines: 119, 122, 129, 132
Change this:
${TAR_STATIC}
to simply:
tar

That should fix the problem for the moment -course I have to do something a little more comprehensive for the next release.
BTW, I hope you are at least using the official qt SlackBuild as a guide for which options to use for configuring qt. Not all the oddities are still applicable. Also, I noticed that the SlackBuild uses 'make -i' to compile with because of weird things that the qt Makefiles try to do.
The SlackBuild configures with this:

echo "yes" | ./configure \
-prefix /usr/lib/qt-${VERSION} \
-release \
-system-zlib \
-system-libpng \
-qt-imgfmt-png \
-system-libmng \
-qt-imgfmt-mng \
-system-libjpeg \
-qt-imgfmt-jpeg \
-qt-gif \
-thread \
-stl \
-no-g++-exceptions \
-xft \
-plugin-sql-mysql \
-plugin-style-cde \
-plugin-style-compact \
-qt-style-motif \
-plugin-style-motifplus \
-plugin-style-platinum \
-plugin-style-sgi \
-plugin-style-windows \
-enable-opengl

The 'yes' is to bypass accepting the license conditions.
Then it compiles with:
make -j5 -i symlinks sub-src sub-tools

You can ignore the -j5 unless you have an smp box. And the symlinks is not a valid rule for qt-4.3.3. the '-i' is because the qt Makefiles try to strip html pages!. I have an idea that if you used the other two rules you might not have seen the problem if they mean that designer doesn't get built.
Note that the slack build also uses sevarl patches -some of which may still be needed for qt-4. No way to tell without trying some more builds.

Thanks for reporting the problem -I'll fix the part that pertains to src2pkg -the rest is up to you -I have next to zero interest in qt or its' programs and only install it occassionaly to debug a build for someone else. AT my age, 4 hour build times mean that increase in senility from one build to the next becomes a significant factor :-)

dive 12-28-2007 03:42 PM

I managed in the end. I can't explain this but for some reason sometimes I get those files missing and sometimes it was ok. In the end I untarred manually and copied everything from the manually tar into the src2pkg made tar. Then configured and made manually. From then on using the auto file I did the make install onwards.

Works and now I can install qbittorrent which was the only reason i wanted to upgrade.

gnashley 12-28-2007 04:18 PM

I'll be fixing that problem for the next release. I had the samke luck, in that sometimes it would happen and sometimes not. tar-1.13 has problems with long paths and long filenames. But, simce src2pkg is using busybox for some other things I'll add the tar functionality in so it can be used for unpacking archives. I could just use the native tar that is installed on your system, but I have other reasons for wanting it to be available and static for src2pkg.

rworkman 12-28-2007 05:57 PM

dive:

You might find this useful as well:
http://rlworkman.net/KDE4/deps/qt/

dive 12-28-2007 06:17 PM

Hmm well I did look around for packages/slackbuilds but thanks :)

Shingoshi 01-22-2008 10:34 AM

Quote:

Originally Posted by gnashley (Post 3004163)
I'll be fixing that problem for the next release. I had the samke luck, in that sometimes it would happen and sometimes not. tar-1.13 has problems with long paths and long filenames. But, simce src2pkg is using busybox for some other things I'll add the tar functionality in so it can be used for unpacking archives. I could just use the native tar that is installed on your system, but I have other reasons for wanting it to be available and static for src2pkg.

I was so hoping that I could build Qt without any trouble now. But I guess src2pkg-2.0 (my mistake; see below) still doesn't solve this issue. Either that, or I'm doing something else wrong.

Shingoshi

FATAL! Running '' has failed with error: 1
Try using INSTALL_LINE 'make -i install' Exiting...
src2pkg FAILURE in make_install
Press any key to continue...

I wish to apologize for my mentioning a version which in fact did not exist. I am using version 1.93. Once again, I'm sorry for incorrectly stating my existing version.

Shingoshi

Shingoshi 01-22-2008 11:04 AM

I just tried to compile NAS with src2pkg...
 
Notice by the fact that I said tried, I didn't succeed. I used the following line as instructed and built it manually without error.
make WORLDOPTS='-k CDEBUGFLAGS="$(CDEBUGFLAGS) -DSTARTSERVER"' World

So I added the line to my nas.src2pkg file with MAKE_COMMAND. If that's not how I'm supposed to be doing it, I'd like to know.

Shingoshi

Shingoshi 01-23-2008 11:31 PM

No libs are installed with build of e2fsprogs.
 
I get this error when attempting to build e2fsprogs. I don't know if it's related to the tar issues mentioned above or not.

I just noticed that my latest attempt did not create the /install directory. It had on previous builds. Just no libs were installed.

/usr/libexec/src2pkg/static/tar-1.13: Cannot add file install: Invalid argument

Shingoshi

Shingoshi 01-24-2008 03:12 AM

I'm sorry, I just realized I didn't even have the latest version.
 
I have just installed 1.9.3. I will see now if that has any effect on any of the errors I have experienced.

Shingoshi


All times are GMT -5. The time now is 12:23 AM.