Opened 14 months ago
Closed 14 months ago
#5066 closed defect (fixed)
Can't build under mingw64
Reported by: | robe | Owned by: | robe |
---|---|---|---|
Priority: | blocker | Milestone: | PostGIS 3.3.0 |
Component: | build/upgrade/install | Version: | master |
Keywords: | Cc: |
Description
Since commit
both winnie and I are getting error https://winnie.postgis.net/job/PostGIS_EDB_Regress_winnie/13183/consoleFull
NOTICE: schema "public" already exists, skipping CREATE SCHEMA SET BEGIN SET DO DO CREATE FUNCTION psql:E:/jenkins/postgis/branches/3.3/regress/00-regress-install/share/contrib/postgis/postgis.sql:106: ERROR: could not access file "/projects/postgis/branches/3.3/regress/00-regress-install/lib/postgis-3.3": No such file or directory ----------------------------------------------------------------------------- failed (Error encountered loading /projects/postgis/branches/3.3/regress/00-regress-install/share/contrib/postgis/postgis_comments.sql: /projects/postgis/tmp/3.3.0dev_pg11_geos3.11_gdal3.3.3w64/regress_log) -----------------------------------------------------------------------------
and last commit still has error
— https://winnie.postgis.net/job/PostGIS_EDB_Regress_winnie/13192/console — corresponding to [cbb884c5/git]
NOTICE: schema "public" already exists, skipping CREATE SCHEMA SET BEGIN SET DO DO CREATE FUNCTION psql:E:/jenkins/postgis/branches/3.3/regress/00-regress-install/share/contrib/postgis/postgis.sql:106: ERROR: could not access file "/projects/postgis/branches/3.3/regress/00-regress-install/lib/postgis-3.3": No such file or directory ----------------------------------------------------------------------------- failed (Error encountered loading /projects/postgis/branches/3.3/regress/00-regress-install/share/contrib/postgis/postgis_comments.sql: /projects/postgis/tmp/3.3.0dev_pg11_geos3.11_gdal3.3.3w64/regress_log) -----------------------------------------------------------------------------
Change History (16)
comment:1 by , 14 months ago
Owner: | changed from | to
---|
comment:2 by , 14 months ago
comment:3 by , 14 months ago
Summary: | Can't build under mingw64, might be sfcgal issue → Can't build under mingw64 |
---|
follow-up: 6 comment:4 by , 14 months ago
My builds do have regress/00-regress-install/lib/postgis-3.so installed in build dir. I see your script looks for postgis-3.3.so which makes me think this *could* be related to —with-library-minor-version — is jenkins the only CI using that switch ?
comment:5 by , 14 months ago
I tried locally with --with-library-minor-version
and after make staged-install
I do have the file: regress/00-regress-install/lib/postgis-3.3.so (in the build tree)
comment:6 by , 14 months ago
Replying to strk:
My builds do have regress/00-regress-install/lib/postgis-3.so installed in build dir. I see your script looks for postgis-3.3.so which makes me think this *could* be related to —with-library-minor-version — is jenkins the only CI using that switch ?
I thought I had changed the dronie bots to use —with-library-minor-version as well so they could properly test upgrades from 3, 3.1, 3.2 etc. anyway I think debbie has that too and she isn't having issue.
comment:7 by , 14 months ago
strk I usually do
make install
and then regess check with extensions. I'll check what happens with make staged-install
comment:8 by , 14 months ago
Component: | postgis → build/upgrade/install |
---|
comment:9 by , 14 months ago
We did NOT change the Dronie script to use —with-library-minor-version I will ASAP
comment:10 by , 14 months ago
Actually, it's better to have a separate ticket if we want to change Dronie, it's kind of good to have different bots test different configurations. The drop of minor version is still scary to me so it's nice if some bot can eventually make some related bug surface
comment:11 by , 14 months ago
In https://winnie.postgis.net/job/PostGIS_EDB_Regress_winnie/13211/console I see:
/bin/install -c -m 755 postgis-3.3.dll '/projects/postgis/branches/3.3/regress/00-regress-install/lib/postgis-3.3.dll'
So it looks like the DLL is being installed in /projects/postgis/branches/3.3/regress/00-regress-install/lib/postgis-3.3.dll
I don't see why the file should not be there anymore later (or would that reference really need a .dll suffix?)
psql:E:/jenkins/postgis/branches/3.3/regress/00-regress-install/share/contrib/postgis/postgis.sql:106: ERROR: could not access file "/projects/postgis/branches/3.3/regress/00-regress-install/lib/postgis-3.3": No such file or directory
comment:12 by , 14 months ago
no it doesn't need a suffix. I'm working on 3.0 branch right now and my regress paths look like "C:/ming64gcc81/projects/postgis/postgis-git/regress/00-regress-install/lib/postgis-3.0".
Oh I think I see the issue now. You see under mingw64, I have fstab which makes my and winnies C:/ming64gcc81/projects/postgis E:/ming64gcc81/projects/postgis look like /projects/postgis/branches.
But the PostgreSQL testing environment is pure windows, doesn't use mingw64.
Before the scripts would correctly resolve to the windows path, this seems to have changed with your logic, so now it's using the mingw64 linux pathing rules.
comment:13 by , 14 months ago
Do you confirm it stopped wowrking in [dd4ab0d780092be3e5c31172f54afeff96255b37/git] ? I think the change responsible for the breakage could be this, in regress/Makefile.in:
-# Where we put our regression installation -ifeq ($(MINGWBUILD),1) - srcdir=$(shell bash -c "pwd -W") -else - srcdir=$(shell pwd) -endif -REGRESS_INSTALLDIR=$(srcdir)/00-regress-install +REGRESS_INSTALLDIR = $(realpath $(builddir) )/00-regress-install
I'm guessing realpath
Makefile variable is not doing paths in the window way.
I'll push a "win" branch to origin for winnie to catch up (will she build it ?)
comment:14 by , 14 months ago
I've pushed a "win" branch, could you test it and merge to "master" if happy ?
No I don't think this is an sfcgal issue. I had fixed the SFCGAL issue with it not working for older SFCGAL and it was working. Now it is not.