Comments (10)
My Gentoo overlay repository with improved Lua package: thezbyg/gentoo-overlay
You can use this overlay for now, but it would be much better to ask dev-lang/lua package maintainer to improve official package.
from gpick.
Found a very similar bug report: https://bugs.gentoo.org/88596
Libtool captures some environment information when it is built and fails once the compiler is updated. Rebuilding libtool should help, because from your attached log I can see that it is trying to use GCC 11.2.1, which is not available in your system.
Running emerge libtool
should fix this issue.
from gpick.
Something wrong with version information returned from git describe command. Please run git describe "--match=gpick-*" "--match=v*" --always --long
in Gpick directory. Returned line should look similar to this:
v0.3-20-g997df3b
If it does not look like that, then annotated tags are most probably missing in your cloned git repository. This happens when using shallow clone and can be fixed by running git fetch --depth=100
command to download last 100 commits and their associated tags.
from gpick.
You're welcome. I'm glad I was able to help.
from gpick.
Hi,
lua-c++ pkgconfig module should be provided by Lua package, because it is Lua compiled with C++ instead of C compiler. This is necessary, because Lua error handling changes depending on used compiler: http://lua-users.org/wiki/ErrorHandlingBetweenLuaAndCplusplus
Unfortunately Gentoo dev-lang/lua package does not build C++ variant. It should be possible to improve Lua ebuild file to build both variants simultaneously, but I have zero experience with Gentoo.
You can build C++ Lua variant manually by running the following commands:
wget https://www.lua.org/ftp/lua-5.4.4.tar.gz
tar -xf lua-5.4.4.tar.gz
cd lua-5.4.4
make generic CC="g++"
make generic CC="g++" --silent pc > lua5.4-c++.pc
from gpick.
Thank you so much for your efforts!!!
Sadly enough the ebuild from your overlay doesn't compile and I'm not so sure how to create the .pc file manually as you've described above. The result is quite minimal compared to lua5.4.pc:
diff /usr/local/lib/pkgconfig/lua5.4-c++.pc /usr/lib64/pkgconfig/lua5.4.pc ⊙
1,4c1,31
< version=5.4.4
< prefix=/usr/local
< libdir=/usr/local/lib
< includedir=/usr/local/include
---
> # lua.pc -- pkg-config data for Lua
>
> # vars from install Makefile
>
> # grep '^V=' ../Makefile
> V= 5.4
> # grep '^R=' ../Makefile
> R= 5.4.4
>
> # grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/'
> prefix= /usr
> INSTALL_BIN= ${prefix}/bin
> INSTALL_INC= ${prefix}/include/lua5.4
> INSTALL_LIB= ${prefix}/lib64
> INSTALL_MAN= ${prefix}/man/man1
> INSTALL_LMOD= ${prefix}/share/lua/${V}
> INSTALL_CMOD= ${prefix}/lib64/lua/${V}
>
> # canonical vars
> exec_prefix=${prefix}
> libdir=${exec_prefix}/lib64
> includedir=${prefix}/include/lua5.4
>
> Name: Lua
> Description: An Extensible Extension Language
> Version: ${R}
> Requires:
> Libs: -L${libdir} -llua5.4 -lm
> Cflags: -I${includedir}
>
> # (end of lua.pc)
Here is the logfile of the failing ebuild compilation:
dev-lang:lua-5.4.4:20220529-093832.log
from gpick.
I have found and fixed some issues in ebuild. Please update and try again. Also check if the following files exist on your system:
/usr/lib64/crti.o
/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/crtbeginS.o
If these files are missing then something may be wrong with your compiler installation.
C++ variant pkgconfig files are almost the same as C variant ones, and only have a single different line:
--- /usr/lib64/pkgconfig/lua54.pc 2022-05-30 16:00:20.864000000 -0000
+++ /usr/lib64/pkgconfig/lua54-c++.pc 2022-05-30 16:00:21.048000000 -0000
@@ -25,7 +25,7 @@
Description: An Extensible Extension Language
Version: ${R}
Requires:
-Libs: -L${libdir} -llua5.4 -lm
+Libs: -L${libdir} -llua5.4-c++ -lm
Cflags: -I${includedir}
# (end of lua.pc)
from gpick.
Thanks again for you efforts!
Despite having the files you mentioned above I can't get the ebuild working. It's bailing out complaining about exactly those files missing. Not sure what's going on here ...
dev-lang:lua-5.4.4:20220601-074925.log
Here some more info about the files and the gcc version:
9:51:14 [swimmer] ~ » locate crti.o
/usr/lib/crti.o
/usr/lib64/crti.o
9:51:24 [swimmer] ~ » locate crtbeginS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.1/crtbeginS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.1/32/crtbeginS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/crtbeginS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/32/crtbeginS.o
9:52:29 [swimmer] ~ » gcc-config -l
[1] x86_64-pc-linux-gnu-10.3.1
[2] x86_64-pc-linux-gnu-11.3.0 *
from gpick.
Oh that's a good find! Lua was compiling fine now. Still no dice with gpick though:
/usr/local/src/Tools/x11/gpick.git » mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=/usr/local
mkdir: created directory 'build'
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at cmake/Version.cmake:20 (list):
list index: 1 out of range (-1, 0)
Call Stack (most recent call first):
CMakeLists.txt:23 (include)
-- Found Boost: /usr/lib64/cmake/Boost-1.79.0/BoostConfig.cmake (found suitable version "1.79.0", minimum required is "1.58") found components: unit_test_framework
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0")
-- Checking for module 'gtk+-3.0>=3.0'
-- Found gtk+-3.0, version 3.24.34
-- Checking for one of the modules 'lua5.4-c++>=5.4;lua5-c++>=5.4;lua5.3-c++>=5.3;lua5-c++>=5.3;lua-c++>=5.3;lua5.2-c++>=5.2;lua-c++>=5.2'
-- Checking for module 'expat>=1.0'
-- Found expat, version 2.4.8
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found Ragel: /usr/bin/ragel (found suitable version "7.0.4", minimum required is "6.9")
-- Configuring incomplete, errors occurred!
See also "/usr/local/src/Tools/x11/gpick.git/build/CMakeFiles/CMakeOutput.log".
from gpick.
Now we're talking!
I'm always cloning repositories by habit with --depth 1
not realizing it might have this kind of impact ;)
Thanks for your patience and help all the way until everything works 👍🙏
from gpick.
Related Issues (20)
- Missing <array> in MatchPattern.h HOT 1
- Problem in paradise on arch.. HOT 1
- feature request. An other pallet HOT 1
- How do you mix colors? HOT 2
- Searching colors in palette HOT 3
- [FTBS] opensuse 15.4 linking of tests ok in v0.2.6 but fails both in v0.3 and latest r.46f826c HOT 3
- Cannot build or run gpick HOT 1
- Gpick gives wrong hex codes on Endeavour OS due to window transparency
- gpick v0.3 compil fail on Archlinux HOT 1
- No output when using `gpick -so`? HOT 1
- Colors displayed are incorrect
- scons looks for .version file in parent directory HOT 2
- NameError: name 'SCons' is not defined HOT 2
- README doesn't mention lua-c++ requirement HOT 2
- error: too many template arguments for class template 'Scoped' HOT 2
- Undefined symbols: dynv::types::xml::write HOT 1
- Segmentation fault on launch on Gentoo, Arch Linux and Ubuntu 22.04 HOT 1
- Can't adjust 'Saturation' & 'Lightness' using mouse in 'Scheme Generation'
- build fails with boost 1.84
- Webpage Layout Dont Export, Crashes GPick
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gpick.