Re: [darktable-user] Build error with 4.4.2
Le 24/07/2023 à 15:50, Patrick Shanahan a écrit : * Remco Viëtor [07-24-23 09:39]: On lundi 24 juillet 2023 15:02:24 CEST Patrick Shanahan wrote: (...) (concerning build instructions) the directions in dt's github repository are quite good. However, what I did miss in them was how to tell the build system which compiler to use. Not all distributions have the latest GCC as "standard" version, even when it is available in their repositories. Hence the need for something like: "export CC=gcc-12; export CXX=g++-12;". (Would this be something to include in the build instructions, or is it too much "required knowledge" for those who insist on building from source?) it is not always necessary but when it is, it is. it would be a good addition to the github instructions, imnsho Yes, yes ! Thanks to Toni and Remco, I could finally install dt 4.4.2, but if it had been written in the build instructions that would have spared time to them. Er... not sure if I correctly transcribed what I think... I hope... Rgrds, J.-Luc darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
* tony Hamilton [07-24-23 14:48]: > > > On 24/07/2023 09:26, Remco Viëtor wrote: > > On lundi 24 juillet 2023 10:01:59 CEST tony Hamilton wrote: > > (...) > > > Working in this mode of unbounded ignorance is not very satisfying, so I > > > would be grateful if you can direct me to the source of your > > > understanding about cmake expecting /usr/bin/c++ to be an alias of > > > /usr/bin/g++. That way I can understand better the reason for this > > > common compile failure. > > It's not so much that c++ needs to be an alias for g++, but that you have to > > tell cmake which version to use if that is different from the "system" > > version. On my system (OpenSUSe Leap 15.5), both /usr/bin/c++ and > > /usr/bin/g++ > > are symlinks to another file. Both link to version 7.x. > > So to get darktable to compile, I have to tell cmake to use a different > > version (which of course needs to be installed). > > > > To do that, there is the "export" command to set environment variables CC > > and > > CXX. The build script will use those two variables to decide which command > > to > > use for the C- and C++ compiler (resp.). > > > > For me, the following works (after removing o possible ./build dir): > > # export CC=gcc-12; export CXX=g++-12; ./build.sh > > > > That will build the program, but not install it. It tells you the command to > > install darktable (but you will have to precede that command with "sudo", as > > it needs to write to a system directory /opt > > > > Remco > > > > > > > > darktable user mailing list > > to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org > > > This is commendably clear and most appreciated. Is it safe to remove the > /build directory in its entirety? yes. as a matter of fact, I have scripted my process and remove the ../darktable/build directory on successful build. -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.orgopenSUSE Community Memberfacebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet oftc darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
* Remco Viëtor [07-24-23 09:39]: > On lundi 24 juillet 2023 15:02:24 CEST Patrick Shanahan wrote: > (...) > (concerning build instructions) > > the directions in dt's github repository are quite good. > > > However, what I did miss in them was how to tell the build system which > compiler to use. Not all distributions have the latest GCC as "standard" > version, even when it is available in their repositories. > Hence the need for something like: "export CC=gcc-12; export CXX=g++-12;". > > (Would this be something to include in the build instructions, or is it too > much "required knowledge" for those who insist on building from source?) it is not always necessary but when it is, it is. it would be a good addition to the github instructions, imnsho -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.orgopenSUSE Community Memberfacebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet oftc darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
On 24/07/2023 09:26, Remco Viëtor wrote: On lundi 24 juillet 2023 10:01:59 CEST tony Hamilton wrote: (...) Working in this mode of unbounded ignorance is not very satisfying, so I would be grateful if you can direct me to the source of your understanding about cmake expecting /usr/bin/c++ to be an alias of /usr/bin/g++. That way I can understand better the reason for this common compile failure. It's not so much that c++ needs to be an alias for g++, but that you have to tell cmake which version to use if that is different from the "system" version. On my system (OpenSUSe Leap 15.5), both /usr/bin/c++ and /usr/bin/g++ are symlinks to another file. Both link to version 7.x. So to get darktable to compile, I have to tell cmake to use a different version (which of course needs to be installed). To do that, there is the "export" command to set environment variables CC and CXX. The build script will use those two variables to decide which command to use for the C- and C++ compiler (resp.). For me, the following works (after removing o possible ./build dir): # export CC=gcc-12; export CXX=g++-12; ./build.sh That will build the program, but not install it. It tells you the command to install darktable (but you will have to precede that command with "sudo", as it needs to write to a system directory /opt Remco darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org This is commendably clear and most appreciated. Is it safe to remove the ./build directory in its entirety? darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
On lundi 24 juillet 2023 15:02:24 CEST Patrick Shanahan wrote: (...) (concerning build instructions) > the directions in dt's github repository are quite good. > However, what I did miss in them was how to tell the build system which compiler to use. Not all distributions have the latest GCC as "standard" version, even when it is available in their repositories. Hence the need for something like: "export CC=gcc-12; export CXX=g++-12;". (Would this be something to include in the build instructions, or is it too much "required knowledge" for those who insist on building from source?) Remco darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
* tony Hamilton [07-24-23 08:46]: > > > On 23/07/2023 17:07, Patrick Shanahan wrote: > > * tony Hamilton [07-23-23 10:40]: > > > > > > On 23/07/2023 14:28, Patrick Shanahan wrote: > > > > * tony Hamilton [07-23-23 09:24]: > > > > > I'm trying to compile dt release 4.4.2, using the same process that > > > > > worked > > > > > for me with 4.4.1 a short time ago. I get this error: > > > > > > > > > > "-- The CXX compiler identification is unknown > > > > > CMake Error at CMakeLists.txt:23 (project): > > > > > The CMAKE_CXX_COMPILER: > > > > > > > > > > /usr/bin/c++ > > > > > > > > > > is not a full path to an existing compiler tool. ... > Thanks for this further explanation. I notice that a number of people - > mostly a lot smarter than me at compiling dt - have stumbled across the > problem of the build process failing with a complaint that the version of > the GNU compiler that it finds (typically 11.xx) is too old: version 12.xx > is required. This problem foxed me for a while because Synaptic tells me > that I do have version 12 installed. The only way I found around it was to > delete the directory named 'build' before running the build.sh script. > Apparently this avoids the build process from being mislead by some setting > in a cmake cache somewhere - but since I don't know where that is, I just > delete the 'build' directory completely. I am definitely not any kind of expert, just experienced somewhat. the *first* correction I do if a build fails is to "rm -rf" the build directory. the second is to completely remove all of the dt git structure and clone it again. > Working in this mode of unbounded ignorance is not very satisfying, so I > would be grateful if you can direct me to the source of your understanding > about cmake expecting /usr/bin/c++ to be an alias of /usr/bin/g++. you told me :) "/usr/bin/c++ is not a full path ..." then I looked on my system, ls -la /usr/bin/c++ lrwxrwxrwx 1 root root 6 Jun 14 11:13 /usr/bin/c++ -> g++-13* > That way I can understand better the reason for this common compile > failure. the directions in dt's github repository are quite good. good sailing ... -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.orgopenSUSE Community Memberfacebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet oftc darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
On lundi 24 juillet 2023 10:01:59 CEST tony Hamilton wrote: (...) > Working in this mode of unbounded ignorance is not very satisfying, so I > would be grateful if you can direct me to the source of your > understanding about cmake expecting /usr/bin/c++ to be an alias of > /usr/bin/g++. That way I can understand better the reason for this > common compile failure. It's not so much that c++ needs to be an alias for g++, but that you have to tell cmake which version to use if that is different from the "system" version. On my system (OpenSUSe Leap 15.5), both /usr/bin/c++ and /usr/bin/g++ are symlinks to another file. Both link to version 7.x. So to get darktable to compile, I have to tell cmake to use a different version (which of course needs to be installed). To do that, there is the "export" command to set environment variables CC and CXX. The build script will use those two variables to decide which command to use for the C- and C++ compiler (resp.). For me, the following works (after removing o possible ./build dir): # export CC=gcc-12; export CXX=g++-12; ./build.sh That will build the program, but not install it. It tells you the command to install darktable (but you will have to precede that command with "sudo", as it needs to write to a system directory /opt Remco darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
On 23/07/2023 17:07, Patrick Shanahan wrote: * tony Hamilton [07-23-23 10:40]: On 23/07/2023 14:28, Patrick Shanahan wrote: * tony Hamilton [07-23-23 09:24]: I'm trying to compile dt release 4.4.2, using the same process that worked for me with 4.4.1 a short time ago. I get this error: "-- The CXX compiler identification is unknown CMake Error at CMakeLists.txt:23 (project): The CMAKE_CXX_COMPILER: /usr/bin/c++ is not a full path to an existing compiler tool. Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. -- Configuring incomplete, errors occurred! I tried to check the entry in 'CMakeLists.txt' - but there are 88 such files listed in my 'darktable' directory. I have no idea which one to check. I don't understand why this error occurs now, neither do I understand how to fix it. Any advice, please? By the way, as part of preparing for this build I completely removed my install of 4.4.1 from /opt/darktable, so now I don't have any way of using darktable. 09:26 crash: ~ > l /usr/bin/c++ lrwxrwxrwx 1 root root 6 Jun 14 11:13 /usr/bin/c++ -> g++-13* 09:27 crash: ~ > rpm -qf /usr/bin/c++ gcc-c++-13-1.3.x86_64 do you actually have gcc-c++ package installed. note you don't say what distro so package name may differ. I am on openSUSE Tumbleweed. Synaptic tells me that I have both versions 11 and 12 of the GNU C++ compiler installed. Indeed, I don't understand how I could have compiled 4.4.1 without these. But, amazingly, I appear not to have a directory /usr/bin/C++ - how can this be ? Apologies about not identifying the distro: I'm on Mint 21.1, based on Ubuntu 22.04 I know little to nothing about *butus/mint but apparently cmake expects /usr/bin/c++ to be an alias of /usr/bin/g++-(11 or 12) since you have 11 and 12 installed. replying on list Thanks for this further explanation. I notice that a number of people - mostly a lot smarter than me at compiling dt - have stumbled across the problem of the build process failing with a complaint that the version of the GNU compiler that it finds (typically 11.xx) is too old: version 12.xx is required. This problem foxed me for a while because Synaptic tells me that I do have version 12 installed. The only way I found around it was to delete the directory named 'build' before running the build.sh script. Apparently this avoids the build process from being mislead by some setting in a cmake cache somewhere - but since I don't know where that is, I just delete the 'build' directory completely. Working in this mode of unbounded ignorance is not very satisfying, so I would be grateful if you can direct me to the source of your understanding about cmake expecting /usr/bin/c++ to be an alias of /usr/bin/g++. That way I can understand better the reason for this common compile failure. darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
* tony Hamilton [07-23-23 11:35]: > > > On 23/07/2023 14:28, Patrick Shanahan wrote: > > * tony Hamilton [07-23-23 09:24]: > > > I'm trying to compile dt release 4.4.2, using the same process that worked > > > for me with 4.4.1 a short time ago. I get this error: > > > > > > "-- The CXX compiler identification is unknown > > > CMake Error at CMakeLists.txt:23 (project): > > > The CMAKE_CXX_COMPILER: > > > > > > /usr/bin/c++ > > > > > > is not a full path to an existing compiler tool. > > > > > > Tell CMake where to find the compiler by setting either the environment > > > variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full > > > path > > > to the compiler, or to the compiler name if it is in the PATH. > > > > > > > > > -- Configuring incomplete, errors occurred! > > > > > > I tried to check the entry in 'CMakeLists.txt' - but there are 88 such > > > files > > > listed in my 'darktable' directory. I have no idea which one to check. I > > > don't understand why this error occurs now, neither do I understand how to > > > fix it. Any advice, please? > > > > > > By the way, as part of preparing for this build I completely removed my > > > install of 4.4.1 from /opt/darktable, so now I don't have any way of using > > > darktable. > > 09:26 crash: ~ > l /usr/bin/c++ > > lrwxrwxrwx 1 root root 6 Jun 14 11:13 /usr/bin/c++ -> g++-13* > > 09:27 crash: ~ > rpm -qf /usr/bin/c++ > > gcc-c++-13-1.3.x86_64 > > > > > > do you actually have gcc-c++ package installed. note you don't say what > > distro so package name may differ. I am on openSUSE Tumbleweed. > > > > > I found an effective solution: re-install build-essential > > 4.4.2 now compiled good for you. :) -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.orgopenSUSE Community Memberfacebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet oftc darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
* tony Hamilton [07-23-23 10:40]: > > > On 23/07/2023 14:28, Patrick Shanahan wrote: > > * tony Hamilton [07-23-23 09:24]: > > > I'm trying to compile dt release 4.4.2, using the same process that worked > > > for me with 4.4.1 a short time ago. I get this error: > > > > > > "-- The CXX compiler identification is unknown > > > CMake Error at CMakeLists.txt:23 (project): > > > The CMAKE_CXX_COMPILER: > > > > > > /usr/bin/c++ > > > > > > is not a full path to an existing compiler tool. > > > > > > Tell CMake where to find the compiler by setting either the environment > > > variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full > > > path > > > to the compiler, or to the compiler name if it is in the PATH. > > > > > > > > > -- Configuring incomplete, errors occurred! > > > > > > I tried to check the entry in 'CMakeLists.txt' - but there are 88 such > > > files > > > listed in my 'darktable' directory. I have no idea which one to check. I > > > don't understand why this error occurs now, neither do I understand how to > > > fix it. Any advice, please? > > > > > > By the way, as part of preparing for this build I completely removed my > > > install of 4.4.1 from /opt/darktable, so now I don't have any way of using > > > darktable. > > 09:26 crash: ~ > l /usr/bin/c++ > > lrwxrwxrwx 1 root root 6 Jun 14 11:13 /usr/bin/c++ -> g++-13* > > 09:27 crash: ~ > rpm -qf /usr/bin/c++ > > gcc-c++-13-1.3.x86_64 > > > > > > do you actually have gcc-c++ package installed. note you don't say what > > distro so package name may differ. I am on openSUSE Tumbleweed. > > > > > Synaptic tells me that I have both versions 11 and 12 of the GNU C++ > compiler installed. Indeed, I don't understand how I could have compiled > 4.4.1 without these. But, amazingly, I appear not to have a directory > /usr/bin/C++ - how can this be ? > > Apologies about not identifying the distro: I'm on Mint 21.1, based on > Ubuntu 22.04 I know little to nothing about *butus/mint but apparently cmake expects /usr/bin/c++ to be an alias of /usr/bin/g++-(11 or 12) since you have 11 and 12 installed. replying on list -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.orgopenSUSE Community Memberfacebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet oftc darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
* tony Hamilton [07-23-23 10:59]: > > > On 23/07/2023 14:30, Patrick Shanahan wrote: > > * tony Hamilton [07-23-23 09:24]: > > > I'm trying to compile dt release 4.4.2, using the same process that worked > > > for me with 4.4.1 a short time ago. I get this error: > > > > > > "-- The CXX compiler identification is unknown > > > CMake Error at CMakeLists.txt:23 (project): > > > The CMAKE_CXX_COMPILER: > > > > > > /usr/bin/c++ > > > > > > is not a full path to an existing compiler tool. > > > > > > Tell CMake where to find the compiler by setting either the environment > > > variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full > > > path > > > to the compiler, or to the compiler name if it is in the PATH. > > > > > > > > > -- Configuring incomplete, errors occurred! > > > > > > I tried to check the entry in 'CMakeLists.txt' - but there are 88 such > > > files > > > listed in my 'darktable' directory. I have no idea which one to check. I > > > don't understand why this error occurs now, neither do I understand how to > > > fix it. Any advice, please? > > > > > > By the way, as part of preparing for this build I completely removed my > > > install of 4.4.1 from /opt/darktable, so now I don't have any way of using > > > darktable. > > next time consider "mv /opt/darktable /opt/dt441" > > so you have a recovery path. > > > > > What a splendid, and obvious, action. Why didn't I think of that? > (Rhetorical question, only, thanks!) you should reply to list post on the list rather than personally as others may be interested and/or have similar problem. -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.orgopenSUSE Community Memberfacebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet oftc darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
* tony Hamilton [07-23-23 09:24]: > I'm trying to compile dt release 4.4.2, using the same process that worked > for me with 4.4.1 a short time ago. I get this error: > > "-- The CXX compiler identification is unknown > CMake Error at CMakeLists.txt:23 (project): > The CMAKE_CXX_COMPILER: > > /usr/bin/c++ > > is not a full path to an existing compiler tool. > > Tell CMake where to find the compiler by setting either the environment > variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full > path > to the compiler, or to the compiler name if it is in the PATH. > > > -- Configuring incomplete, errors occurred! > > I tried to check the entry in 'CMakeLists.txt' - but there are 88 such files > listed in my 'darktable' directory. I have no idea which one to check. I > don't understand why this error occurs now, neither do I understand how to > fix it. Any advice, please? > > By the way, as part of preparing for this build I completely removed my > install of 4.4.1 from /opt/darktable, so now I don't have any way of using > darktable. next time consider "mv /opt/darktable /opt/dt441" so you have a recovery path. -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.orgopenSUSE Community Memberfacebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet oftc darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org
Re: [darktable-user] Build error with 4.4.2
* tony Hamilton [07-23-23 09:24]: > I'm trying to compile dt release 4.4.2, using the same process that worked > for me with 4.4.1 a short time ago. I get this error: > > "-- The CXX compiler identification is unknown > CMake Error at CMakeLists.txt:23 (project): > The CMAKE_CXX_COMPILER: > > /usr/bin/c++ > > is not a full path to an existing compiler tool. > > Tell CMake where to find the compiler by setting either the environment > variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full > path > to the compiler, or to the compiler name if it is in the PATH. > > > -- Configuring incomplete, errors occurred! > > I tried to check the entry in 'CMakeLists.txt' - but there are 88 such files > listed in my 'darktable' directory. I have no idea which one to check. I > don't understand why this error occurs now, neither do I understand how to > fix it. Any advice, please? > > By the way, as part of preparing for this build I completely removed my > install of 4.4.1 from /opt/darktable, so now I don't have any way of using > darktable. 09:26 crash: ~ > l /usr/bin/c++ lrwxrwxrwx 1 root root 6 Jun 14 11:13 /usr/bin/c++ -> g++-13* 09:27 crash: ~ > rpm -qf /usr/bin/c++ gcc-c++-13-1.3.x86_64 do you actually have gcc-c++ package installed. note you don't say what distro so package name may differ. I am on openSUSE Tumbleweed. -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.orgopenSUSE Community Memberfacebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet oftc darktable user mailing list to unsubscribe send a mail to darktable-user+unsubscr...@lists.darktable.org