Bug 816282 - /usr/include/ogdi/ecs_util.h:108:22: fatal error: projects.h: No such file or directory
/usr/include/ogdi/ecs_util.h:108:22: fatal error: projects.h: No such file or...
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: ogdi (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Dan Horák
Fedora Extras Quality Assurance
:
Depends On: 830496
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-25 13:27 EDT by Orion Poplawski
Modified: 2012-08-20 16:41 EDT (History)
4 users (show)

See Also:
Fixed In Version: ogdi-3.2.0-0.18.beta2.fc18
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-08-20 16:41:37 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
switch to proj_api.h (3.78 KB, patch)
2012-04-25 14:24 EDT, Dan Horák
no flags Details | Diff
switch to proj_api.h (8.82 KB, patch)
2012-04-25 14:50 EDT, Dan Horák
no flags Details | Diff
Patch to Proj 4.8.0 (9.71 KB, patch)
2012-06-06 12:43 EDT, Olivier Berten
no flags Details | Diff

  None (edit)
Description Orion Poplawski 2012-04-25 13:27:32 EDT
Description of problem:

Got this trying to rebuild gdal for f18:

/usr/include/ogdi/ecs_util.h:108:22: fatal error: projects.h: No such file or directory

This appears to be triggered by proj-devel dropping /usr/include/projects.h, possibly because that is a private header.

Version-Release number of selected component (if applicable):
ogdi-3.2.0-0.16.beta2.fc17.x86_64
proj-4.8.0-1.fc18.x86_64

Task Info: http://koji.fedoraproject.org/koji/taskinfo?taskID=4022464
Build Info: http://koji.fedoraproject.org/koji/buildinfo?buildID=315319
Comment 1 Orion Poplawski 2012-04-25 13:28:45 EDT
Adding in gdal and proj maintainers to CC for comment/monitoring.
Comment 2 Volker Fröhlich 2012-04-25 13:38:36 EDT
Yes, projects.h is no longer part of the public API. Including proj_api.h might be enough, if we're lucky.
Comment 3 Dan Horák 2012-04-25 14:23:30 EDT
First if there is anybody more knowledgeable in this geo stuff, I would like to transfer the ownership of ogdi.

With simple s/projects.h/proj_api.h/g (see attached patch) I get

...
mkdir OBJ.Linux
make --directory OBJ.Linux -f ../makefile PASS='depend' /builddir/build/BUILD/ogdi-3.2.0.beta2/bin/Linux/libogdi.so.3.2
make[3]: Entering directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/c-api/OBJ.Linux'
gcc -I.. -I/builddir/build/BUILD/ogdi-3.2.0.beta2/include/Linux -I/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/include     -g -O2 -pipe -Wall  -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC -DPIC -DDONT_TD_VOID -DUSE_TERMIO  -Wall -DUNIX=1 -DMODULES_PATH="\"/usr/lib64/ogdi/\""   -c -o ecs_dyna.o ../ecs_dyna.c
In file included from /builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/include/ecs.h:353:0,
                 from ../ecs_dyna.c:32:
/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/include/ecs_util.h:1095:3: error: unknown type name 'PJ'
/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/include/ecs_util.h:1096:3: error: unknown type name 'PJ'
/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/include/ecs_util.h:1168:1: error: unknown type name 'PJ'
../ecs_dyna.c:34:99: warning: 'cvsid_aw' defined but not used [-Wunused-function]
make[3]: Leaving directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/c-api/OBJ.Linux'
make[3]: *** [ecs_dyna.o] Error 1
make[2]: *** [all] Error 2
make[2]: Leaving directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/c-api'
make[1]: *** [c-api] Error 2
make[1]: Leaving directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi'
make: *** [ogdi] Error 2
chyba: Špatný návratový kód z /var/tmp/rpm-tmp.NPnAmH (%build)
Comment 4 Dan Horák 2012-04-25 14:24:03 EDT
Created attachment 580233 [details]
switch to proj_api.h
Comment 5 Dan Horák 2012-04-25 14:44:09 EDT
I'm progressing well, stay tuned ...
Comment 6 Dan Horák 2012-04-25 14:50:39 EDT
Created attachment 580250 [details]
switch to proj_api.h

Now I end with which seems as a bigger trouble, the nad_* functions are not provided by proj_api.h, some expert will be needed ...

make[3]: Entering directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/datum_driver/usa'
/builddir/build/BUILD/ogdi-3.2.0.beta2/config/mkinstalldirs OBJ.Linux
make --directory OBJ.Linux -f ../makefile PASS='depend' /builddir/build/BUILD/ogdi-3.2.0.beta2/bin/Linux/libdtusa.so
make[4]: Entering directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/datum_driver/usa/OBJ.Linux'
gcc -I.. -I/builddir/build/BUILD/ogdi-3.2.0.beta2/include/Linux -I/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/include  -g -O2 -pipe -Wall  -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC -DPIC -DDONT_TD_VOID -DUSE_TERMIO  -Wall -DUNIX=1   -c -o dtusa.o ../dtusa.c
../dtusa.c: In function ‘dyn_nad_init’:
../dtusa.c:127:5: warning: implicit declaration of function ‘nad_init’ [-Wimplicit-function-declaration]
../dtusa.c:127:16: warning: assignment makes pointer from integer without a cast [enabled by default]
../dtusa.c: In function ‘dyn_nad_close’:
../dtusa.c:184:5: warning: implicit declaration of function ‘nad_free’ [-Wimplicit-function-declaration]
../dtusa.c: In function ‘dyn_nad_forward’:
../dtusa.c:247:3: warning: implicit declaration of function ‘nad_cvt’ [-Wimplicit-function-declaration]
../dtusa.c:247:8: error: incompatible types when assigning to type ‘projUV’ from type ‘int’
../dtusa.c: In function ‘dyn_nad_reverse’:
../dtusa.c:314:8: error: incompatible types when assigning to type ‘projUV’ from type ‘int’
make[4]: *** [dtusa.o] Error 1
make[4]: Leaving directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/datum_driver/usa/OBJ.Linux'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/datum_driver/usa'
make[2]: *** [usa] Error 2
make[2]: Leaving directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi/datum_driver'
make[1]: *** [datum_driver] Error 2
make[1]: Leaving directory `/builddir/build/BUILD/ogdi-3.2.0.beta2/ogdi'
make: *** [ogdi] Error 2
Comment 7 Volker Fröhlich 2012-04-26 02:37:35 EDT
(While you're at it: I noticed the Requires should have %{?_isa} and proj should be deleted in the prep section.)
Comment 9 Olivier Berten 2012-06-06 12:43:02 EDT
Created attachment 589954 [details]
Patch to Proj 4.8.0

You could copy the needed declarations from the current projects.h

That done, you still need some very little changes to ogdi/datum_driver/usa/dtusa.c, contrib/ogdi_info/ogdi_info.c and contrib/ogdi_import/ogdi_import.c

Then it builds. Whether it actually work is beyond my knowledge...
Comment 10 Volker Fröhlich 2012-06-10 04:14:02 EDT
I just notice I didn't post this information here:

I asked Frank Warmerdam, one of the Proj developers and OGDI developer/maintainer about this problem. He hadn't decided at that time and suggested to just ship the header file again, if it causes us problems. He said, he'd consider to ship it again in the future.

I asked Devrim Gündüz for a new Proj build doing so, but it's not there yet.
Comment 11 Dan Horák 2012-08-20 16:41:37 EDT
Looks like Spot fixed it for us properly in ogdi-3.2.0-0.18.beta2.fc18

Note You need to log in before you can comment on or make changes to this bug.