Bug 202946
Summary: | Review Request: aqsis - 3D Rendering system | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Denis Leroy <denis> | ||||
Component: | Package Review | Assignee: | Chris Weyl <cweyl> | ||||
Status: | CLOSED DUPLICATE | QA Contact: | Fedora Package Reviews List <fedora-package-review> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | rawhide | ||||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2006-12-03 22:39:39 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 201449 | ||||||
Attachments: |
|
Description
Denis Leroy
2006-08-17 13:18:58 UTC
I could found compat-gcc-34-c++ on FC-5. No, this is targeted at Rawhide and rawhide only. FC-5 needs compat-gcc-32-c++ and patch modifications... I forgot to mention in the notes that the main package contains some header files that rpmlint will complain about. Those are ok, shader code is compiled during runtime by the rendering engine. As the review bug says, this package is intended for rawhide/devel only. The licensing is interesting. The spec notes "GPL and LGPL" -- but it's not package wide (that is, there's a bundled library that's LGPL, whereas the main program itself is GPL). Is it worth splitting the library out into its own package, even if just a subpackage of this one, in order to clarify this at the package level? I suppose a relevent question here is: do we expect this library to be used by other packages? I'm inclined to defer to the judgement of the packager. Unfortunately, my mock build (devel/x86_64) fails: -------------------------------- /bin/sh ../../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -o libgif2tif.la -rpath /usr/lib64/aqsis gif2tif.lo ../common/libcommon.la gcc -shared .libs/gif2tif.o -Wl,--whole-archive ../common/.libs/libcommon.a -Wl,--no-whole-archive -L/usr/local/lib -ltiff -m64 -mtune=generic -Wl,-soname -Wl,libgif2tif.so.0 -o .libs/libgif2tif.so.0.0.0 /usr/bin/ld: ../common/.libs/libcommon.a(pixelsave.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC ../common/.libs/libcommon.a(pixelsave.o): could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [libgif2tif.la] Error 1 make[2]: Leaving directory `/builddir/build/BUILD/aqsis-1.0.1/plugins/gif2tif' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/builddir/build/BUILD/aqsis-1.0.1/plugins' make: *** [all-recursive] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.16921 (%build) -------------------------------- This prevents me from completing the formal review... I can post the build.log, etc, here if it'll help. Yup, x86_64 needs the -fPIC option for the C-compiled modules: Spec URL: http://www.poolshark.org/src/aqsis.spec SRPM URL: http://www.poolshark.org/src/aqsis-1.0.1-2.src.rpm Sure we could split libri2rib into a seperate RPM, but I'm not convinced it's worth the effort at this point since it doesn't like as though it is usable outside of aqsis at all. (In reply to comment #5) > Sure we could split libri2rib into a seperate RPM, but I'm not convinced it's > worth the effort at this point since it doesn't like as though it is usable > outside of aqsis at all. Works by me. Ok, so the package builds under mock for me, but rpmlint complains: [build@zeus aqsis]$ rpmlint aqsis-1.0.1-2.fc6.x86_64.rpm W: aqsis incoherent-version-in-changelog 1.0.1-1 1.0.1-2.fc6 W: aqsis objdump-failed objdump: /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libbake2tif.so.0.0.0: File format not recognized E: aqsis binary-or-shlib-defines-rpath /usr/lib64/aqsis/libdisplay.so.0.0.0 ['/usr/lib64'] W: aqsis objdump-failed objdump: /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libgif2tif.so.0.0.0: File format not recognized W: aqsis objdump-failed objdump: /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libjpg2tif.so.0.0.0: File format not recognized W: aqsis objdump-failed objdump: /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libpcx2tif.so.0.0.0: File format not recognized W: aqsis objdump-failed objdump: /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libppm2tif.so.0.0.0: File format not recognized W: aqsis objdump-failed objdump: /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libtga2tif.so.0.0.0: File format not recognized W: aqsis objdump-failed objdump: /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/libslpp.so.0.0.0: File format not recognized E: aqsis shlib-with-non-pic-code /usr/lib64/libslpp.so.0.0.0 W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/bake.h W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/DPProctext.h W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/patterns.h W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/noises.h The headers sound like they should be there (comment #1); the first warning is an easyfix (needs a changelog entry). The rpath error needs to be dealt with; the objdump errors may be related to that I ran rpmlint against them on my fc5 system (anyone know an easy way to install rpmlint in a mock chroot?), but there's some additional funkiness in build.log: + /usr/lib/rpm/find-debuginfo.sh /builddir/build/BUILD/aqsis-1.0.1 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libargparse.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libaqsistypes.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libcodegenvm.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/librib2.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/librib2ri.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/librib2stream.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libslparse.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libshadervm.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libshaderexecenv.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libraytrace.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libslpp.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libri2rib.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libslxargs.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/aqsis/libdisplay.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/aqsis/libgif2tif.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/aqsis/libjpg2tif.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/aqsis/libppm2tif.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/aqsis/libpcx2tif.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/aqsis/libtga2tif.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/aqsis/libbake2tif.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libddmanager.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/lib64/libaqsis.so.0.0.0 extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/bin/aqsl extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/bin/aqsltell extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/bin/aqsis extracting debug info from /var/tmp/aqsis-1.0.1-2.fc6-root-mockbuild/usr/bin/teqser cpio: aqsis-1.0.1/aqsis/<internal>: No such file or directory cpio: aqsis-1.0.1/aqsl/<internal>: No such file or directory cpio: aqsis-1.0.1/aqsltell/<internal>: No such file or directory cpio: aqsis-1.0.1/display/<internal>: No such file or directory cpio: aqsis-1.0.1/libaqsistypes/<internal>: No such file or directory cpio: aqsis-1.0.1/libaqsistypes/posix/<internal>: No such file or directory cpio: aqsis-1.0.1/libargparse/<internal>: No such file or directory cpio: aqsis-1.0.1/libcodegenvm/<internal>: No such file or directory cpio: aqsis-1.0.1/libddmanager/<internal>: No such file or directory cpio: aqsis-1.0.1/libraytrace/<internal>: No such file or directory cpio: aqsis-1.0.1/libri2rib/<internal>: No such file or directory cpio: aqsis-1.0.1/librib2/<internal>: No such file or directory cpio: aqsis-1.0.1/librib2ri/<internal>: No such file or directory cpio: aqsis-1.0.1/librib2stream/<internal>: No such file or directory cpio: aqsis-1.0.1/libshaderexecenv/<internal>: No such file or directory cpio: aqsis-1.0.1/libshadervm/<internal>: No such file or directory cpio: aqsis-1.0.1/libslxargs/<internal>: No such file or directory cpio: aqsis-1.0.1/render/<internal>: No such file or directory cpio: aqsis-1.0.1/teqser/<internal>: No such file or directory 7653 blocks Ok, maybe we should tackel a FC-5 version of this package first for review ? I can't reproduce those rpmlint warnings, but I build the package with mock under FC-4. Running rpmlint on rawhide on those packages yields warnings about weakly linked symbols which I'm not sure quite sure yet what to do about... (In reply to comment #7) > Ok, maybe we should tackel a FC-5 version of this package first for review ? I > can't reproduce those rpmlint warnings, but I build the package with mock under > FC-4. Running rpmlint on rawhide on those packages yields warnings about weakly > linked symbols which I'm not sure quite sure yet what to do about... Usually it means you need to link the binary/library against the library that the weakly-linked symbols come from. (In reply to comment #6) > Ok, so the package builds under mock for me, but rpmlint complains: > > [build@zeus aqsis]$ rpmlint aqsis-1.0.1-2.fc6.x86_64.rpm > W: aqsis incoherent-version-in-changelog 1.0.1-1 1.0.1-2.fc6 > W: aqsis objdump-failed objdump: > /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libbake2tif.so.0.0.0: > File format not recognized > E: aqsis binary-or-shlib-defines-rpath /usr/lib64/aqsis/libdisplay.so.0.0.0 > ['/usr/lib64'] > W: aqsis objdump-failed objdump: > /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libgif2tif.so.0.0.0: > File format not recognized > W: aqsis objdump-failed objdump: > /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libjpg2tif.so.0.0.0: > File format not recognized > W: aqsis objdump-failed objdump: > /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libpcx2tif.so.0.0.0: > File format not recognized > W: aqsis objdump-failed objdump: > /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libppm2tif.so.0.0.0: > File format not recognized > W: aqsis objdump-failed objdump: > /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/aqsis/libtga2tif.so.0.0.0: > File format not recognized > W: aqsis objdump-failed objdump: > /tmp/aqsis-1.0.1-2.fc6.x86_64.rpm.18847/usr/lib64/libslpp.so.0.0.0: File format > not recognized > E: aqsis shlib-with-non-pic-code /usr/lib64/libslpp.so.0.0.0 > W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/bake.h > W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/DPProctext.h > W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/patterns.h > W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/noises.h > > The headers sound like they should be there (comment #1); the first warning is > an easyfix (needs a changelog entry). The rpath error needs to be dealt with; > the objdump errors may be related to that I ran rpmlint against them on my fc5 > system (anyone know an easy way to install rpmlint in a mock chroot?) Just came across this issue myself. It's possible to do this as follows: 1. Copy the packages you're trying to run rpmlint against into the chroot's root: $ cp *.rpm /var/lib/mock/fedora-development-x86_64-core/root/ 2. Install rpmlint into the chroot: $ /usr/sbin/mock-helper yum --installroot /var/lib/mock/fedora-development-x86_64-core/root install rpmlint 3. Get a shell in the chroot: $ mock -r fedora-devel-x86_64-core.cfg shell 4. Run rpmlint: mock-chroot> rpmlint *.rpm 5. Exit from the chroot: mock-chroot> exit Nifty :) mock-chroot> rpmlint *.rpm W: aqsis incoherent-version-in-changelog 1.0.1-1 1.0.1-2.fc6 E: aqsis binary-or-shlib-defines-rpath /usr/lib64/aqsis/libdisplay.so.0.0.0 ['/usr/lib64'] W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/bake.h W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/DPProctext.h W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/patterns.h W: aqsis devel-file-in-non-devel-package /usr/share/aqsis/shaders/noises.h First one is easy enough, last four are wrong, given the comments above. The second one seems to be fairly standard for non-fedora libtools; and the wiki suggests that it's not cause for alarm. Now, installing the aqsis in the chroot and running rpmlint against it returns those additional errors.... W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZN5Aqsis9gColBlackE W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZTVN5Aqsis13CqSplineCubicE W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZN5Aqsis11gPowerBasisE W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZN5Aqsis13gHermiteBasisE W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZN5Aqsis16gCatmullRomBasisE W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZN5Aqsis13gBSplineBasisE W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZN5Aqsis12gBezierBasisE W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZNK5Aqsis7CqColor8rgbtohsvEv W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZNK5Aqsis8CqString16TranslateEscapesEv W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZNK5Aqsis7CqColor8XYZtorgbEv W: aqsis undefined-non-weak-symbol /usr/lib64/libshaderexecenv.so.0.0.0 _ZN5Aqsis8CqMatrixC1EPf ...and on, and on. For completeness' sake, I'll attach the complete log... Created attachment 136231 [details]
rpmlint errors from -2
Yes, I was able to get access to a x86_64 system and reproduce. Those are all very tough warnings to get rid off. The undefined-non-weak-symbol errors are related to circular dependencies. I asked on the list, but got little insights : http://www.redhat.com/archives/fedora-devel-list/2006-September/msg00173.html Essentially this is due to the poor organization of aqsis source code, and has all since been fixed in CVS. The /usr/lib64 rpath error is caused by fltk-config (bug 199657). Now none of these warnings/errors are preventing aqsis from working fine (try run it on ribfiles/vase.rib from the tarball, looks nice). So the choice seems to be 1) either package the stable 1.0 release and live with the oddities of the build system, the undefined symbols mean a (very slight) slower launch time. 2) package stable 1.0 with all sorts of patches to move code around and get rid of the warnings. 3) package a CVS snapshot that has a smoother build but might have all sorts of other problem, it not being a stable release... I'll veto point 2 right away :-) Debian does 3. I'm hapy with 1 or 3. I'm good with either 1 or 3 as well, and absent any guidelines to the contrary am more than willing to defer to you on this :) Okay, let's go with 1) for now, to finish this review. I'd like aqsis to make it into FE when FC6 comes out, so that we have the k3d/aqsis pair available. Let me know if there are still things you want me change. After the package approval, I'll start working on a new version based on a CVS snapshot. Ubuntu uses a snapshot from 2005/08/15 (a year old!). *** This bug has been marked as a duplicate of 167147 *** Marking as bug #201449 |