25.08.2006: qpxtool-0.6 released scons is used to compile stuff now transport and vendor-specific code moved to separate libraries, you can use it for you purposes, but API is far to be stable more informative SCSI error reporting stability improved:) Pi/Cx graph plot rewritten (readability improved) POF on Plextor drives C1/C2 on Pioneer drives generic C2 scan on drives supported C2-pointers changes in Pioneer PIE/PIF scan (especialy DVR-111 support improved) one-pass PIE/PIF sum8 scan on many drives (separate PIF sum1 on Plextor and Nec only) scale for all tests (except TA) in saved html SecuRec support Pioneer QuietMode support (for XL modifications) pioquiet - console Pioneer QuietMode control tool fixed CD-R detection problems on some drives changed CD track list reading algorythm, now it should also work on old MMC-1 drives transfer rate can be performed on Audio-CD now if drive can do DAE spinup is a time-controled now, not fixed sectors count problem with resolving png's path if it's relative (then saving results as html) various minor bugfixes some bugfixes in pxcontrol
totally doesnt build for me
AFAIK you should you scons for building it, and maybe need to edit scons configs to patch paths, especially qt path. Can't check it myself unfortunately atm.
Created attachment 96895 [details, diff] patch hardlinking qt3, which makes compiling possible changes the qt-3 paths, so that manual compiling by make and make install works.
Created attachment 96899 [details, diff] ebuild for compiling qpxtool-0.6 needs FEATURES="-sandbox"
Created attachment 96914 [details, diff] ebuild for compiling qpxtool-0.6
any idea how to get rid of this sandbox violation? ACCESS DENIED unlink: /usr/local/lib/libqpxtransport.so scons: *** [/usr/local/lib/libqpxtransport.so] Permission denied scons: building terminated because of errors. ACCESS DENIED open_wr: /usr/X11R6/include/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/bits/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/bits/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/gnu/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/gnu/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/sys/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/sys/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/linux/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/linux/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/scsi/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/scsi/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/asm/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/asm/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/linux/byteorder/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/linux/byteorder/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/asm-generic/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/asm-generic/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/linux/sunrpc/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/linux/sunrpc/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/asm/mach-generic/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/asm/mach-generic/.sconsign ACCESS DENIED open_wr: /usr/X11R6/include/asm-generic/bitops/.scons14207 ACCESS DENIED open_wr: /usr/X11R6/include/asm-generic/bitops/.sconsign make: *** [all] Error 2 !!! ERROR: app-cdr/qpxtool-0.6 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile qpxtool-0.6.ebuild, line 30: Called die !!! emake failed !!! If you need support, post the topmost build error, and the call stack if relevant. --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/var/log/sandbox/sandbox-app-cdr_-_qpxtool-0.6-14183.log" unlink: /usr/local/lib/libqpxtransport.so open_wr: /usr/X11R6/include/.scons14207 (symlink to /usr/include/.scons14207) open_wr: /usr/X11R6/include/.sconsign (symlink to /usr/include/.sconsign) open_wr: /usr/X11R6/include/bits/.scons14207 (symlink to /usr/include/bits/.scons14207) open_wr: /usr/X11R6/include/bits/.sconsign (symlink to /usr/include/bits/.sconsign) open_wr: /usr/X11R6/include/gnu/.scons14207 (symlink to /usr/include/gnu/.scons14207) open_wr: /usr/X11R6/include/gnu/.sconsign (symlink to /usr/include/gnu/.sconsign) open_wr: /usr/X11R6/include/sys/.scons14207 (symlink to /usr/include/sys/.scons14207) open_wr: /usr/X11R6/include/sys/.sconsign (symlink to /usr/include/sys/.sconsign) open_wr: /usr/X11R6/include/linux/.scons14207 (symlink to /usr/include/linux/.scons14207) open_wr: /usr/X11R6/include/linux/.sconsign (symlink to /usr/include/linux/.sconsign) open_wr: /usr/X11R6/include/scsi/.scons14207 (symlink to /usr/include/scsi/.scons14207) open_wr: /usr/X11R6/include/scsi/.sconsign (symlink to /usr/include/scsi/.sconsign) open_wr: /usr/X11R6/include/asm/.scons14207 (symlink to /usr/include/asm/.scons14207) open_wr: /usr/X11R6/include/asm/.sconsign (symlink to /usr/include/asm/.sconsign) open_wr: /usr/X11R6/include/linux/byteorder/.scons14207 (symlink to /usr/include/linux/byteorder/.scons14207) open_wr: /usr/X11R6/include/linux/byteorder/.sconsign (symlink to /usr/include/linux/byteorder/.sconsign) open_wr: /usr/X11R6/include/asm-generic/.scons14207 (symlink to /usr/include/asm-generic/.scons14207) open_wr: /usr/X11R6/include/asm-generic/.sconsign (symlink to /usr/include/asm-generic/.sconsign) open_wr: /usr/X11R6/include/linux/sunrpc/.scons14207 (symlink to /usr/include/linux/sunrpc/.scons14207) open_wr: /usr/X11R6/include/linux/sunrpc/.sconsign (symlink to /usr/include/linux/sunrpc/.sconsign) open_wr: /usr/X11R6/include/asm/mach-generic/.scons14207 (symlink to /usr/include/asm/mach-generic/.scons14207) open_wr: /usr/X11R6/include/asm/mach-generic/.sconsign (symlink to /usr/include/asm/mach-generic/.sconsign) open_wr: /usr/X11R6/include/asm-generic/bitops/.scons14207 (symlink to /usr/include/asm-generic/bitops/.scons14207) open_wr: /usr/X11R6/include/asm-generic/bitops/.sconsign (symlink to /usr/include/asm-generic/bitops/.sconsign)
Created attachment 98714 [details] ebuild qpxtool-0.6.0.2 (addpredict version) Changelog: added: inherit eutils for patching added: S=${WORKDIR}/${PN}-0.6 to set target for patching version update added: epatch "${FILESDIR}"/set-qt3-paths.patch to hardlink qt 3 paths added: epatch "${FILESDIR}"/cd-silent-mode-speed-limit.patch to fix a Silent Mode bug. This is also the version update from 0.6 to 0.6.0.2 added: addpredict /usr/local/lib:/usr/X11R6/include:/usr/X11R6/lib:/usr/qt/3/include:/usr/qt/3/lib to prevent sandbox violation
Created attachment 98716 [details, diff] bugfix for SilentMode and version update to 0.6.0.2
I would really like to make this upgrade ... it is an unrivalled application for us poor plextor owners ;) ... but NO, it does not build ... yet: >>> Unpacking source... >>> Unpacking qpxtool-0.6.tar.bz2 to /var/tmp/portage/qpxtool-0.6.0.2/work [32;01m*[0m Applying set-qt3-paths.patch ... [A[114C [34;01m[ [32;01mok[34;01m ][0m [32;01m*[0m Applying cd-silent-mode-speed-limit.patch ... [A[114C [34;01m[ [32;01mok[34;01m ][0m >>> Source unpacked. >>> Compiling source in /var/tmp/portage/qpxtool-0.6.0.2/work/qpxtool-0.6 ... scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... g++ -march=k8 -O2 -pipe -I/usr/qt/3/include -I/usr/local/include -I/usr/X11R6/include -Ipioquiet/include -Ipioquiet -Ilib/qpxtransport/include -Ilib/qpxpioneer/include -c -o pioquiet/pioquiet.o pioquiet/pioquiet.cpp g++ -march=k8 -O2 -pipe -fPIC -I/usr/qt/3/include -I/usr/local/include -I/usr/X11R6/include -Ilib/qpxtransport/include -c -o lib/qpxtransport/qpx_mmc.os lib/qpxtransport/qpx_mmc.cpp g++ -march=k8 -O2 -pipe -fPIC -I/usr/qt/3/include -I/usr/local/include -I/usr/X11R6/include -Ilib/qpxtransport/include -c -o lib/qpxtransport/qpx_transport.os lib/qpxtransport/qpx_transport.cpp g++ -march=k8 -O2 -pipe -fPIC -I/usr/qt/3/include -I/usr/local/include -I/usr/X11R6/include -Ilib/qpxtransport/include -c -o lib/qpxtransport/common_functions.os lib/qpxtransport/common_functions.cpp g++ -march=k8 -O2 -pipe -fPIC -I/usr/qt/3/include -I/usr/local/include -I/usr/X11R6/include -Ilib/qpxtransport/include -c -o lib/qpxtransport/version.os lib/qpxtransport/version.cpp g++ -shared -o lib/lib/libqpxtransport.so lib/qpxtransport/qpx_mmc.os lib/qpxtransport/qpx_transport.os lib/qpxtransport/common_functions.os lib/qpxtransport/version.os -L/usr/qt/3/lib -L/usr/local/lib -L/usr/X11R6/lib Install file: "lib/lib/libqpxtransport.so" as "/usr/local/lib/libqpxtransport.so" scons: *** [/usr/local/lib/libqpxtransport.so] Exception Traceback (most recent call last): File "/usr/lib/scons/SCons/Taskmaster.py", line 101, in execute self.targets[0].build() File "/usr/lib/scons/SCons/Node/__init__.py", line 201, in build apply(executor, (self, errfunc), kw) File "/usr/lib/scons/SCons/Executor.py", line 115, in __call__ apply(action, (self.targets, self.sources, env, errfunc), kw) File "/usr/lib/scons/SCons/Action.py", line 243, in __call__ stat = self.execute(target, source, env) File "/usr/lib/scons/SCons/Action.py", line 512, in execute return self.execfunction(target=target, source=rsources, env=env) File "/usr/lib/scons/SCons/Environment.py", line 82, in installFunc return install(target[0].path, source[0].path, env) File "/usr/lib/scons/SCons/Defaults.py", line 219, in copyFunc shutil.copy2(source, dest) File "/usr/lib64/python2.4/shutil.py", line 92, in copy2 copyfile(src, dst) File "/usr/lib64/python2.4/shutil.py", line 48, in copyfile fdst = open(dst, 'wb') IOError: [Errno 13] Permission denied: '/usr/local/lib/libqpxtransport.so' scons: building terminated because of errors. make: *** [all] Error 2 !!! ERROR: app-cdr/qpxtool-0.6.0.2 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile qpxtool-0.6.0.2.ebuild, line 31: Called die !!! emake failed !!! If you need support, post the topmost build error, and the call stack if relevant.
I remarked this problem yesterday, too. I think it is relying on a python update, but had to time to check this. For now you can change addpredict to addwrite in the ebuild for compiling success.
I emerged python-2.3.5-r4 and the qpxtool ebuild compiled fine with addpredict (should be prferred). Emerged python-2.4.3-r4 and qpxtool ebuild compiled fine again with addpredict. At the moment I cannot produce the error.
In summary: NO! Detailed: First, I followed your advice and rebuilded both `python' & `scons'. Then, I have tried to build it with `addwrite' instead of `addpredict, I even tried this `prferred' command ... all attempets ended either in `sandbox violation's or died in the earlier mentioned result... This `SConstruct' architecture is wrong IMHO, why does it try to poke around in `/usr/local' anyway?
Created attachment 99304 [details] ebuild qpxtool-0.6.0.2 (addwrite version) use this version if addpredict version does not work for you.
I have tried that, already ... ;)
ebuild is working here on two different boxes.
Created attachment 99709 [details] reduced addwrite qpxtool-0.6.0.2ebuild This ebuild uses the newest version of scons. This results in lower sandbox violations and needs fewer addwrite paths. You have to create the new scons ebuild by yourself, since 0.96.92 is not in portage for now. for scons-0.96.92 ebuild look here: http://bugs.gentoo.org/show_bug.cgi?id=144978
*** Bug 151441 has been marked as a duplicate of this bug. ***
First excuse my being late, please ... then thank you very much, lieber Thomas for your friendly efforts ... and to summarize the followup: It does not work! *** Part 1 *** As suggested I tried to build your latest ebuild with `scons-0.96.92', which gave the same permission warnings as before and died similarly. So it must been related with my local settings, I thought, and inspected the `FEATURES' line in my `make.conf' file: I took out `sfperms' ... no. Then I commented `strict' out ... it failed again. The last two entries, `userpriv' & `usersandbox' did the trick ... and `qpxtool-0.6.0.2' got build! But ... wait: Watching the compiling printout on my screen I did not saw any entries made to `/usr/local/lib' and decided to inspect the `CONTENTS' file ... actually no entry was recorded, although a little bit later I was lucky to find four build related libraries in the above mentioned location! Hmm... *** Part 2 *** I dropped being root on the console, switched over to my daily account and fired the new application up. Exkurs: In hope to find anything useful during this whole build adventure I have had extracted the contents of the original tar archive and know that the necessary ingredients are being shipped, so please make an adequate desktop entry file for this invaluable program! ... Everything seems to work. I played with the new settings and decided to run a test: What?! My brand-new `PX-755A' refused to read any disk ... no DVD, no audio, nothing ... every insert was only welcome as a blank source!? Damn... *** Part 3 *** Back with a deep sigh as root I masked the latest build, re-emerged the previous version and cleaned out the remnants of the above metioned failure by hand. Exkurs: This is definitely a `portage' bug ... please do inform the maintainers about this disaster (I won't, until I smell Daniel back in the kitchen)! ... To regain the obedience of my Plextor drive, I have had to feed it with all kind of disks available. Is anything broken? I don't know for sure, but it seems like forcing the `GigaRec' feature has made overburning impossible ... I know all `cdrecord' related problems (and wish Joerg a happy ride into his very private hell)! Grumble... Never mind ... I am still ready to test & help ... this (!) is Gentoo & thats why I am here! So, thank you again, and move on...
scons is just plain terrible; i wouldnt really say this is portage's fault at all i'd prefer to not add any version in portage that needs addpredict and there's no way i'd add one that uses addwrite
Created attachment 101993 [details] qpxtool-0.6.0.2 with scons 0.96.93 now scons-0.96.93 is used and only addwrite /usr/local/lib addpredict /usr/lib is necessary.
Created attachment 101994 [details, diff] hardlinked ebuild for parallel qt3 and qt4 systems sorry, was accidently deleted by me.
Created attachment 107685 [details, diff] Patch to eliminate write attempts to /usr/local This patch adds scons build option 'destdir', which specifies destination directory for installed files. It eliminates sandbox violations during build process. The modified ebuild follows.
Created attachment 107688 [details] Modified ebuild without addwrite and addpredict This ebuild uses patch posted above to eliminate write attempts outside of sandbox, which allows to remove all 'addwrite' and 'addpredict' commands. Now qpxtool compiles and installs cleanly. There is an alternative approach: instead of patching SConstruct file, you can use scons only to build package ('scons' without any option), and install required files 'by hand' with 'dobin' and 'dolib'. May be this would be a better solution.
Created attachment 111200 [details] qpxtool no-scons-version this versions comes without scons. The ebuild uses the package integrated build and installation skripts. Only addwrite /usr/local/lib is needed to let the necessary libraries install.
that isnt acceptable src_* functions should never write outside of $S
Created attachment 111891 [details] ebuild qpxtool-0.6.0.9 no-scons I had a talk with the developer. Now the package uses the created libraries from the sourcetree itself.
Created attachment 111893 [details, diff] patch to prevent qt3/qt4 problems
Created attachment 111894 [details, diff] patch to compile with libs from within sourcetree
The qpxtool-0.6.0.9.ebuild isn't completly ready for now, but I hope this way is acceptable.
Created attachment 111895 [details] qpxtool-0.6.0.9 no-scons-version Ok, new ebuild is ready. Should be ok now, I think.
Created attachment 112994 [details] qpxtool-0.6.0.9 - new suggestion improved ebuild. using just emake, dobin and dolib.so
the build system that comes with qpxtool is simply beyond repair ... out of the box, it doesnt work on any system beyond x86 since it fails to produce proper PIC libraries instead, ive written a simple one from scratch and added 0.6.0.9 to the tree
oh, and Thomas, you should contact me via e-mail so we can get this resolved upstream ;)
doesnt work on me for AMD64... here's the output: [...] ./build *************************** Entering: /var/tmp/portage/app-cdr/qpxtool-0.6.0.9/work/qpxtool-0.6.0.9/lib *************************** ____________________________________ Building library: libqpxtransport.so.0.6.1 [comp] version.o [comp] common_functions.o [comp] qpx_transport.o [comp] qpx_mmc.o [link] libqpxtransport.so.0.6.1 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: version.o: relocation R_X86_64_32 against `__gxx_personality_v0' can not be used when making a shared object; recompile with -fPIC version.o: could not read symbols: Bad value collect2: ld gab 1 als Ende-Status zurück ____________________________________ ERROR: failed to compile libqpxtransport.so.0.6.1 ____________________________________ Building library: libqpxplextor.so.0.6.0 [comp] version.o [comp] plextor_features.o [link] libqpxplextor.so.0.6.0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: version.o: relocation R_X86_64_32 against `__gxx_personality_v0' can not be used when making a shared object; recompile with -fPIC version.o: could not read symbols: Bad value collect2: ld gab 1 als Ende-Status zurück ____________________________________ ERROR: failed to compile libqpxplextor.so.0.6.0 ____________________________________ Building library: libqpxpioneer.so.0.6.0 [comp] version.o [comp] pioneer_spdctl.o [link] libqpxpioneer.so.0.6.0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: version.o: relocation R_X86_64_32 against `__gxx_personality_v0' can not be used when making a shared object; recompile with -fPIC version.o: could not read symbols: Bad value collect2: ld gab 1 als Ende-Status zurück ____________________________________ ERROR: failed to compile libqpxpioneer.so.0.6.0 ____________________________________ Building library: libqpxscan.so.0.6.0 [comp] version.o [comp] media_check_generic.o [comp] plextor_qcheck.o [comp] media_check_pioneer.o [comp] media_check_benq.o [comp] media_check_benq_rom.o [comp] media_check_nec.o [comp] media_check_liteon.o [link] libqpxscan.so.0.6.0 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: version.o: relocation R_X86_64_32 against `__gxx_personality_v0' can not be used when making a shared object; recompile with -fPIC version.o: could not read symbols: Bad value collect2: ld gab 1 als Ende-Status zurück ____________________________________ ERROR: failed to compile libqpxscan.so.0.6.0 *************************** Entering: /var/tmp/portage/app-cdr/qpxtool-0.6.0.9/work/qpxtool-0.6.0.9/pxcontrol *************************** ____________________________________ Building pxcontrol Cleaning src... [comp] pxcontrol.o [link] pxcontrol /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lqpxtransport collect2: ld gab 1 als Ende-Status zurück failed to compile pxcontrol ____________________________________ *************************** Entering: /var/tmp/portage/app-cdr/qpxtool-0.6.0.9/work/qpxtool-0.6.0.9/pioquiet *************************** ____________________________________ Building pioquiet Cleaning src... [comp] pioquiet.o [link] pioquiet /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lqpxtransport collect2: ld gab 1 als Ende-Status zurück failed to compile pioquiet ____________________________________ *************************** Entering: /var/tmp/portage/app-cdr/qpxtool-0.6.0.9/work/qpxtool-0.6.0.9/qpxtool [...] /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lqpxtransport collect2: ld gab 1 als Ende-Status zurück make[1]: *** [qpxtool] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/app-cdr/qpxtool-0.6.0.9/work/qpxtool-0.6.0.9/qpxtool' ***************************************** failed to compile qpxtool ***************************************** >>> Source compiled. >>> Test phase [not enabled]: app-cdr/qpxtool-0.6.0.9 >>> Install qpxtool-0.6.0.9 into /var/tmp/portage/app-cdr/qpxtool-0.6.0.9/image/ category app-cdr !!! dobin: bin/qpxtool does not exist !!! ERROR: app-cdr/qpxtool-0.6.0.9 failed. Call stack: ebuild.sh, line 1614: Called dyn_install ebuild.sh, line 1060: Called qa_call 'src_install' environment, line 3713: Called src_install qpxtool-0.6.0.9.ebuild, line 33: Called die !!! dobin qpxtool failed !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/tmp/portage/app-cdr/qpxtool-0.6.0.9/temp/build.log'. !!! This ebuild is from an overlay: '/usr/local/overlays/qpxtool' seems to be the plextor libraries are the culprit, screw closed source. What about a plextor useflag? The 0.5.4 here works kinda, but many features seem to work only for plextor drives? anyways thx for the ebuilds ;)
dont use the ebuild in this bug report, use the one in the portage tree
> dont use the ebuild in this bug report, use the one in the portage tree yeah well that one's the reason I tried the ebuild from here: make[1]: Entering directory `/var/tmp/portage/app-cdr/qpxtool-0.6.0.9/work/qpxtool-0.6.0.9/qpxtool' qmake -o Makefile.qmake uic: File generated with too old version of Qt Designer ... because I have QT4 installed aswell.. the latest ebuild from this report does not do that, but fails with all the plextor specific 32bit files... funny shit ;)
file a new bug, 0.6.0.9 builds fine for me on amd64 w/qt-3 and w/qt-4 installed