Re: [hugin-ptx] where make install puts things
That should be the right way to do it. Except that editing Cmakelists.txt can be avoided if during configuration cmake is called with the -DCMAKE_INSTALL_PREFIX=path switch... -- A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ --- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. To unsubscribe from this group and stop receiving emails from it, send an email to hugin-ptx+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/hugin-ptx/C104F747-AA01-48BE-A504-A7C61631B156%40gmail.com.
Re: [hugin-ptx] where make install puts things
On Thursday, March 3, 2022 at 3:11:34 PM UTC-5 bruno...@gmail.com wrote: > > The libpano13-devel rpm package only exists for you to compile and link to > the libpano13 rpm package in /usr. Just uninstall it and your Hugin build > will pick up your forked libpano13 headers in /usr/local/include > Thanks. I asked for the "right" way to do this. Your answer sounds like that. I haven't tested your answer and it doesn't really fit what I'm trying to do. But it does help me understand how things fit together. I want to build both the fork and non fork version of hugin, so I should be using both versions of libpano13. The kludge that worked was: I repaired the install of the non fork version: *sudo dnf reinstall libpano13-devel* I edited *CMakeCache.txt* in my build directory for the fork of libpano13 so that it would install entirely disjoint from the *-devel *package (rather than partially overlapped). I changed *CMAKE_INSTALL_PREFIX:PATH=/usr* to *CMAKE_INSTALL_PREFIX:PATH=/ELSEWHERE* I reran: *cmake /media/windows/repository_for_pano_fork* *make -j32* *sudo make install* Then I switched to the build directory for the hugin fork and edited its *CMakeCache.txt*, finding all (5) places that referenced *pano13* (case insensitive) and in each changed */usr* to */ELSEWHERE* Then reran *cmake /media/windows/repository_for_hugin_fork* *make -j32* (I did not install it) That is clearly a kludge. But it works and it is what I understand enough to do. > You may also need to set LD_LIBRARY_PATH for your forked Hugin to use this > library at runtime. > > I have forgotten what I long ago understood about when an executable keeps the reference to the .so file it was linked against vs. when it searches again for that .so at load time. If I ever make a package for the fork of hugin, I'll need to understand that stuff. But I do remember how to use* ldd*. The hugin executable works without LD_LIBRARY_PATH, because it is tied to the location of the .so file that it was linked against * /ELSEWHERE/lib64/libpano.so.3* I also needed the usual adjustment to the XRC location in order to be able to run this hugin without installing it. More testing required. But so far, that seems like all I needed to do to connect the fork of libpano13 to the fork of hugin without overwriting anything needed by the non fork version of hugin. Red parts are not literally the names I used, but communicate the idea better than the actual names. The rest (including the fact that my source code is in repositories on a windows system) is literal. -- A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ --- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. To unsubscribe from this group and stop receiving emails from it, send an email to hugin-ptx+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/hugin-ptx/ce40febe-c773-4388-966d-700e01dee5d3n%40googlegroups.com.
Re: [hugin-ptx] where make install puts things
On Thu, 3 Mar 2022, 17:36 johnfine wrote: > > Are there options I should have used with CMake to get things to go to the > right place? Or is the place they went "right" and I should have done > something different with the other CMake to find things in that place. > > When I did a *make install* on the fork of libpano13, it put files in > /usr/local/lib64 > But the Fedora package for libpano13-devel puts those files in /usr/lib64 > The build for the fork of hugin finds the files where libpano13-devel put > them. > It is normal for software that you have compiled yourself to be installed into /usr/local. This way you don't overwrite files installed by the distribution package manager in /usr - i.e. installing into /usr can make a big mess that isn't easy to clear up. The libpano13-devel rpm package only exists for you to compile and link to the libpano13 rpm package in /usr. Just uninstall it and your Hugin build will pick up your forked libpano13 headers in /usr/local/include You may also need to set LD_LIBRARY_PATH for your forked Hugin to use this library at runtime. -- Bruno > -- A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ --- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. To unsubscribe from this group and stop receiving emails from it, send an email to hugin-ptx+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/hugin-ptx/CAJV99ZjMk7ss5zj-35piP%2BOwyq-OKVWnt_BvzwxGgD0XE-c3MQ%40mail.gmail.com.
[hugin-ptx] where make install puts things
I am building a fork of hugin https://sourceforge.net/projects/huginplusplus/ That requires a fork of libpano13 https://sourceforge.net/projects/fastptoptimizer/ I don't think my issues are specific to those forks. Likely this is just my ignorance regarding CMake. Are there options I should have used with CMake to get things to go to the right place? Or is the place they went "right" and I should have done something different with the other CMake to find things in that place. When I did a *make install* on the fork of libpano13, it put files in /usr/local/lib64 But the Fedora package for libpano13-devel puts those files in /usr/lib64 The build for the fork of hugin finds the files where libpano13-devel put them. I would like to know the generally correct way to have make install put things in the right place. But I would also like to know how to keep such things more separated: Can the build for hugin be made to find the fork of libpano13 where that was built (so I don't install that at all)? If not, can I install it elsewhere so it is entirely non overlapping with the fedora libpano13-devel, and get the build of the fork of hugin to use that? (currently most files of the make install go to the same places as libpano13-develputs them, but some go to different places). -- A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ --- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. To unsubscribe from this group and stop receiving emails from it, send an email to hugin-ptx+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/hugin-ptx/0cee3986-3900-4ca6-84dc-3d09b1391ea5n%40googlegroups.com.