Hello,
I try to create a CI/CD pipeline that would allow to automatically cross-compile gImageReader's GTK interface for Windows. Here is the Dockerfile in my fork: https://github.com/AvtechScientific/gImageReader/blob/master/packaging/win32... . To build it, one needs to run: `sudo docker build -t gimagereader_buildenv packaging/win32`, to build GTK UI run `sudo docker run -v $PWD:/workspace gimagereader_buildenv packaging/win32/makeinstaller.sh x86_64 gtk`.
I was able to make some progress but now I'm stuck with `uuid`. Here is CMake's error: Checking for module 'uuid' -- No package 'uuid' found. Full error output: https://paste.debian.net/1201327/ If I run `find / -name "*uuid*"` inside of the container it looks like uuid is there and here is what I get: https://paste.debian.net/1201326/ .
1. Does the existence of these files imply that libuuid-devel was actually added to MinGW, just not as a separate package?
/usr/x86_64-w64-mingw32/sys-root/mingw/lib/libuuid.a /usr/x86_64-w64-mingw32/sys-root/mingw/include/uuids.h
2. In order to overcome this issue I tried to look on the Fedora's native uuid.pc and adopt it inside of the container:
nano /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig/uuid.pc
prefix=/usr/x86_64-w64-mingw32/sys-root/mingw exec_prefix=/usr/x86_64-w64-mingw32/sys-root/mingw libdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib includedir=/usr/x86_64-w64-mingw32/sys-root/mingw/include
Name: uuid Description: Universally unique id library Version: 2.37.0 Requires: Cflags: -I${includedir}/ Libs: -L${libdir} -luuid
I'm not sure it is correct, but CMake accepted it so far...
Does this file looks OK to you?
3. May I ask you to add a separate mingw package for libuuid-devel (with pkg-config file uuid.pc)?
Thank you in advance!
PS: I've opened Fedora's native /usr/include/linux/uuid.h from libuuid-devel and it looks quite Linux specific...
Here is what I've found regarding porting uuid to windows:
https://trac.xapian.org/ticket/303
see this (and other patches there): https://trac.xapian.org/attachment/ticket/303/windows_uuid.patch
Can this help to create uuid for mingw?
Thank you!
On Wed, Jun 16, 2021 at 2:34 PM Sim Tov smntov@gmail.com wrote:
Hello,
I try to create a CI/CD pipeline that would allow to automatically cross-compile gImageReader's GTK interface for Windows. Here is the Dockerfile in my fork: https://github.com/AvtechScientific/gImageReader/blob/master/packaging/win32... . To build it, one needs to run: `sudo docker build -t gimagereader_buildenv packaging/win32`, to build GTK UI run `sudo docker run -v $PWD:/workspace gimagereader_buildenv packaging/win32/makeinstaller.sh x86_64 gtk`.
I was able to make some progress but now I'm stuck with `uuid`. Here is CMake's error: Checking for module 'uuid' -- No package 'uuid' found. Full error output: https://paste.debian.net/1201327/ If I run `find / -name "*uuid*"` inside of the container it looks like uuid is there and here is what I get: https://paste.debian.net/1201326/ .
- Does the existence of these files imply that libuuid-devel was actually
added to MinGW, just not as a separate package?
/usr/x86_64-w64-mingw32/sys-root/mingw/lib/libuuid.a /usr/x86_64-w64-mingw32/sys-root/mingw/include/uuids.h
- In order to overcome this issue I tried to look on the Fedora's native
uuid.pc and adopt it inside of the container:
nano /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig/uuid.pc
prefix=/usr/x86_64-w64-mingw32/sys-root/mingw exec_prefix=/usr/x86_64-w64-mingw32/sys-root/mingw libdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib includedir=/usr/x86_64-w64-mingw32/sys-root/mingw/include
Name: uuid Description: Universally unique id library Version: 2.37.0 Requires: Cflags: -I${includedir}/ Libs: -L${libdir} -luuid
I'm not sure it is correct, but CMake accepted it so far...
Does this file looks OK to you?
- May I ask you to add a separate mingw package for libuuid-devel (with
pkg-config file uuid.pc)?
Thank you in advance!
Hi
- Does the existence of these files imply that libuuid-devel was
actually added to MinGW, just not as a separate package?
/usr/x86_64-w64-mingw32/sys-root/mingw/lib/libuuid.a
This one is in mingw-crt
/usr/x86_64-w64-mingw32/sys-root/mingw/include/uuids.h
This one is in mingw-headers
- In order to overcome this issue I tried to look on the Fedora's
native uuid.pc and adopt it inside of the container:
I believe ones shipped by mingw-crt and mingw-headers are basically these https://docs.microsoft.com/en-us/windows/win32/directshow/time-format-guids
They are not related to libuuid.
- May I ask you to add a separate mingw package for libuuid-devel
(with pkg-config file uuid.pc)?
This is one I was experimenting with a while back: https://smani.fedorapeople.org/mingw-libuuid-1.0.3-1.gita29bf0f.fc32.src.rpm
Feel free to use it as a base and submit if for review if it suits your needs.
Sandro
On 17.06.21 16:50, Sim Tov wrote:
PS: I've opened Fedora's native /usr/include/linux/uuid.h from libuuid-devel and it looks quite Linux specific...
Here is what I've found regarding porting uuid to windows:
https://trac.xapian.org/ticket/303 https://trac.xapian.org/ticket/303
see this (and other patches there): https://trac.xapian.org/attachment/ticket/303/windows_uuid.patch https://trac.xapian.org/attachment/ticket/303/windows_uuid.patch
Can this help to create uuid for mingw?
Thank you!
On Wed, Jun 16, 2021 at 2:34 PM Sim Tov <smntov@gmail.com mailto:smntov@gmail.com> wrote:
Hello, I try to create a CI/CD pipeline that would allow to automatically cross-compile gImageReader's GTK interface for Windows. Here is the Dockerfile in my fork: https://github.com/AvtechScientific/gImageReader/blob/master/packaging/win32/Dockerfile <https://github.com/AvtechScientific/gImageReader/blob/master/packaging/win32/Dockerfile> . To build it, one needs to run: `sudo docker build -t gimagereader_buildenv packaging/win32`, to build GTK UI run `sudo docker run -v $PWD:/workspace gimagereader_buildenv packaging/win32/makeinstaller.sh x86_64 gtk`. I was able to make some progress but now I'm stuck with `uuid`. Here is CMake's error: Checking for module 'uuid' -- No package 'uuid' found. Full error output: https://paste.debian.net/1201327/ <https://paste.debian.net/1201327/> If I run `find / -name "*uuid*"` inside of the container it looks like uuid is there and here is what I get: https://paste.debian.net/1201326/ <https://paste.debian.net/1201326/> . 1. Does the existence of these files imply that libuuid-devel was actually added to MinGW, just not as a separate package? /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libuuid.a /usr/x86_64-w64-mingw32/sys-root/mingw/include/uuids.h 2. In order to overcome this issue I tried to look on the Fedora's native uuid.pc and adopt it inside of the container: nano /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig/uuid.pc prefix=/usr/x86_64-w64-mingw32/sys-root/mingw exec_prefix=/usr/x86_64-w64-mingw32/sys-root/mingw libdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib includedir=/usr/x86_64-w64-mingw32/sys-root/mingw/include Name: uuid Description: Universally unique id library Version: 2.37.0 Requires: Cflags: -I${includedir}/ Libs: -L${libdir} -luuid I'm not sure it is correct, but CMake accepted it so far... Does this file looks OK to you? 3. May I ask you to add a separate mingw package for libuuid-devel (with pkg-config file uuid.pc)? Thank you in advance!