From: "Константин Яблочкин" <yakonstb@yandex.ru> To: "devel@ where you _can_ ask" <devel-newbies@lists.altlinux.org> Subject: [newbies] brlcad uninstallable TCL dependencies and packaged /usr/bin/tclsh which shouldn't be there Date: Wed, 23 Nov 2016 16:35:42 +0300 Message-ID: <1380341479908142@web30o.yandex.ru> (raw) Сейчас не ставятся зависимости. Указал: PreReq: tcl, tcl-dnotebook, tcl-dom, tcl-dp, tcl-gpg, tcl-img, tcl-incrtcl, tcl-iwidgets, tcl-ldap, tcl-memchan, tcl-readline, tcl-snack, tcl-soap, tcl-syslog, tcl-tdom, tcl-thread, tcl-tile, tcl-tix, tcl-tktable, tcl-tktray, tcl-tkXwin, tcl-tls, tcl-togl, tcl-trf, tcl-udp, tcl-vfs, tcl-xml, tcl-xmpp, tcl-xslt, tcl-zlib, tcllib, tk Пишет: <quote> [root@host-221 ~]# apt-get install brlcad Reading Package Lists... Done Building Dependency Tree... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. Since you only requested a single operation it is extremely likely that the package is simply not installable and a bug report against that package should be filed. The following information may help to resolve the situation: The following packages have unmet dependencies: brlcad: PreDepends: tcl-dom but it is not installable PreDepends: tcl-xml but it is not installable Depends: tcl(ArcherCore) but it is not installable Depends: tcl(DbPage) but it is not installable Depends: tcl(ExamplePage) but it is not installable Depends: tcl(FbPage) but it is not installable Depends: tcl(FeedbackDialog) but it is not installable Depends: tcl(FullColorPage) but it is not installable Depends: tcl(GeometryBrowser) but it is not installable Depends: tcl(GhostPage) but it is not installable Depends: tcl(GraphEditor) but it is not installable Depends: tcl(HelpPage) but it is not installable Depends: tcl(HighlightedPage) but it is not installable Depends: tcl(LinePage) but it is not installable Depends: tcl(ManBrowser) but it is not installable Depends: tcl(PictureTypeA) but it is not installable Depends: tcl(PictureTypeB) but it is not installable Depends: tcl(PictureTypeC) but it is not installable Depends: tcl(PictureTypeD) but it is not installable Depends: tcl(PictureTypeE) but it is not installable Depends: tcl(PictureTypeF) but it is not installable Depends: tcl(Tkhtml) but it is not installable Depends: tcl(Wizard) but it is not installable Depends: tcl(hv3) but it is not installable Depends: tcl(ttk::theme::default) but it is not installable E: Broken packages [root@host-221 ~]# </quote> Если сделать rpm -iv --nodeps, пишет, что с пакетом идут файлы и конфликтуют: [root@host-221 ~]# rpm -iv --nodeps brlcad-7.26.0-alt2.3.x86_64.rpm Preparing packages for installation... file /usr/bin/tclsh from install of brlcad-7.26.0-alt2.3 conflicts with file from package tcl-8.5.9-alt2 file /usr/bin/wish from install of brlcad-7.26.0-alt2.3 conflicts with file from package tk-8.5.9-alt3 [root@host-221 ~]# Хотя, я делал в спеке удаление %buildroot/usr/bin после установки пакета. И пока не удаётся сделать, чтобы cmake видел qt5 и libbullet. Далее спек =====СПЕК====== Name: brlcad Version: 7.26.0 # patch 2 altrelease 3 Release: alt2.3 Summary: BRL-CAD is a powerful open source cross-platform solid modeling system that includes interactive geometry editing, high-performance ray-tracing for rendering and geometric analysis, a system performance analysis benchmark suite, geometry libraries for application developers, and more than 30 years of active development. License: LGPL Group: Engineering Url: https://brlcad.org/ Packager: Konstantin Yablochkin <yakonstb@altlinux.org> PreReq: tcl, tcl-dnotebook, tcl-dom, tcl-dp, tcl-gpg, tcl-img, tcl-incrtcl, tcl-iwidgets, tcl-ldap, tcl-memchan, tcl-readline, tcl-snack, tcl-soap, tcl-syslog, tcl-tdom, tcl-thread, tcl-tile, tcl-tix, tcl-tktable, tcl-tktray, tcl-tkXwin, tcl-tls, tcl-togl, tcl-trf, tcl-udp, tcl-vfs, tcl-xml, tcl-xmpp, tcl-xslt, tcl-zlib, tcllib, tk BuildPreReq: cmake, rpm-macros-cmake, gcc5-c++, tcl-devel, tk, tklib, tcl-incrtcl-devel, tcl-incrtk-devel, tcl-togl-devel, tcl-trf-devel, tcl-blt-devel, tcl-iwidgets, tcl-img, tcl-dom-devel, libGL-devel, libX11-devel, libuuid-devel, libsocket-devel, libGLES-devel, libGLU-devel, libGLUT-devel, libGLee-devel, libGLw-devel, libQGLViewer-qt5-devel, qt5-gstreamer1-devel, libqtermwidget-qt5-devel, qt5-3d-devel, qt5-base-devel, qt5-connectivity-devel, qt5-declarative-devel, qt5-location-devel, qt5-multimedia-devel, qt5-phonon-devel, qt5-quick1-devel, qt5-quickcontrols2-devel, qt5-script-devel, qt5-sensors-devel, qt5-serialbus-devel, qt5-serialport-devel, qt5-speech-devel, qt5-svg-devel, qt5-tools-devel, qt5-wayland-devel, qt5-webchannel-devel, qt5-webengine-devel, qt5-webkit-devel, qt5-websockets-devel, qt5-x11extras-devel, qt5-xmlpatterns-devel, zlib-devel, bzlib-devel, lzlib-devel, libpng-devel, libpnglite-devel, libpng++-devel, libpcre-devel, libpcre2-devel, libpcrecpp-devel, libexpat-devel, libbullet3-devel #BuildPreReq: cmake, rpm-macros-cmake, gcc5-c++, tcl-devel, tk, tklib, tcl-incrtcl-devel, tcl-incrtk-devel, tcl-togl-devel, tcl-trf-devel, tcl-blt-devel, tcl-iwidgets, tcl-img, tcl-dom-devel, libbullet-devel, libGL-devel, libX11-devel, libqt4-devel, libuuid-devel, libsocket-devel, libGLES-devel, libGLU-devel, libGLUT-devel, libGLee-devel, libGLw-devel Source: brlcad-7.26.0.tar Patch0: %name-rel-7-26-0-2.patch %description BRL-CAD is a powerful cross-platform Open Source combinatorial Constructive Solid Geometry (CSG) solid modeling system that includes interactive 3D solid geometry editing, high-performance ray-tracing support for rendering and geometric analysis, network-distributed framebuffer support, image and signal-processing tools, path-tracing and photon mapping support for realistic image synthesis, a system performance analysis benchmark suite, an embedded scripting interface, and libraries for robust high-performance geometric representation and analysis. %prep %setup %patch0 -p0 %build # tcl scripts start with #!/bin/sh. Replacing with #!/usr/bin/tclsh export excl_mark='!' mkdir tcl-origin for i in `find -iname "*.tcl"` src/tclscripts/rtwizard/rtwizard ; do if test "x${i}" = "x*" ; then break fi j=`basename "${i}"` cp $i tcl-origin/ sed -e "s/^#${excl_mark}\/bin\/sh$/#${excl_mark}\/usr\/bin\/tclsh/g" tcl-origin/${j} > ${i} done # manually written configure script. Also can enable things one by one. Or manually call cmake. # can't go to /usr, it uses it's own libraries which would go into /usr/lib and potentially cause conflict (read next) ./configure --prefix=/usr/libexec/brlcad --enable-all ########cmake . -DBRLCAD_BUNDLED_LIBS=ON -DBRLCAD_ROOT_OVERRIDE=1 #########(ok, we are doing this with /usr, giving cmake override flag () # if --prefix=/usr, cmake will tell this: # # }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} # # It is STRONGLY recommended that you DO NOT install BRL-CAD into /usr as # BRL-CAD provides several libraries that may conflict with other libraries # (e.g. librt, libbu, libbn) on certain system configurations. # # Since our libraries predate all those that we're known to conflict with and # are at the very core of our geometry services and project heritage, we have # no plans to change the names of our libraries at this time. # # INSTALLING INTO /usr CAN MAKE A SYSTEM COMPLETELY UNUSABLE. If you choose # to continue installing into /usr, you do so entirely at your own risk. You # have been warned. # # }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} #Call Stack (most recent call first): # CMakeLists.txt:204 (message) # # #Pausing 15 seconds... #CMake Error at CMakeLists.txt:154 (_message): # If you wish to proceed using /usr as your prefix, define # BRLCAD_ROOT_OVERRIDE=1 for CMake %make_build %install %makeinstall_std # it will install /usr/bin/wish, /usr/bin/tcltk, which it shouldn't. Remove rm %buildroot/usr/bin -rfv # create wrappers for binaries. Wrappers go into /usr/bin mkdir -p %buildroot/usr/bin pushd %buildroot/usr/libexec/brlcad/bin for i in * ; do if test "x${i}" = "x*" ; then break fi case "${i}" in # copy .py files *.py) cp "${i}" %buildroot/usr/bin/ ;; # and create wrappers for others *) excl_mark='!' echo -en "#${excl_mark}/bin/bash\n/usr/libexec/brlcad/bin/${i} \"\$@\"\n" > %buildroot/usr/bin/${i} chmod +x %buildroot/usr/bin/${i} ;; esac done popd ####### we are installing into /usr, so no wrappers are needed. the trick is to move libs into libs/brlcad. And point executables there, which is already done by patch1 which modifies cmake files #####pushd %buildroot/usr #####mkdir -p brlcadkj #####mv lib brlcad/ #####mkdir libexec #####mv brlcad libexec/ #####popd # change "#!/bin/sh" to "#!/usr/bin/wish" in listed files mkdir wish-origin for i in %buildroot/usr/libexec/brlcad/lib/tk8.5/demos/browse %buildroot/usr/libexec/brlcad/lib/tk8.5/demos/hello %buildroot/usr/libexec/brlcad/lib/tk8.5/demos/ixset %buildroot/usr/libexec/brlcad/lib/tk8.5/demos/rmt %buildroot/usr/libexec/brlcad/lib/tk8.5/demos/rolodex %buildroot/usr/libexec/brlcad/lib/tk8.5/demos/square %buildroot/usr/libexec/brlcad/lib/tk8.5/demos/tcolor %buildroot/usr/libexec/brlcad/lib/tk8.5/demos/timer %buildroot/usr/libexec/brlcad/lib/tk8.5/demos/widget ; do j=`basename "${i}"` cp ${i} wish-origin/ excl_mark='!' sed -e "s/^#${excl_mark}\/bin\/sh$/#${excl_mark}\/usr\/bin\/wish/g" wish-origin/${j} > ${i} done # binaries won't pass test with default mode. They have /usr/libexec/brlcad/lib in RPATH RPM_VERIFY_ELF_METHOD="relaxed" %find_lang %name %files -f %name.lang %doc AUTHORS ChangeLog NEWS BUGS CHANGES COPYING HACKING INSTALL README TODO /usr/libexec/brlcad /usr/bin/* %changelog * Sun Nov 20 2016 Konstantin Yabochkin <yakonstb@altlinux.org> 7.26.0-alt2.3 - initial build =====КОНЕЦ===== Чтобы воспроизвести, надо скачать tar и patch из upstream, переименоват патч (приписать к нему "brlcad-" в начало), сделать такой .gear-rules: tar: brlcad copy: *.patch папку из upstream-tarball переименовать в brlcad (убрать версию из имени) и положить рядом с .gear, куда и patch и спек. (имя спека brlcad.spec) https://yadi точка sk слэш d слэш YfACle_0zJb3M <---- тут соотв. SRPM
reply other threads:[~2016-11-23 13:35 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1380341479908142@web30o.yandex.ru \ --to=yakonstb@yandex.ru \ --cc=devel-newbies@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
devel@ where you _can_ ask This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel-newbies/0 devel-newbies/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel-newbies devel-newbies/ http://lore.altlinux.org/devel-newbies \ devel-newbies@lists.altlinux.org devel-newbies@lists.altlinux.ru devel-newbies@lists.altlinux.com public-inbox-index devel-newbies Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel-newbies AGPL code for this site: git clone https://public-inbox.org/public-inbox.git