Bug 816282

Summary: /usr/include/ogdi/ecs_util.h:108:22: fatal error: projects.h: No such file or directory
Product: [Fedora] Fedora Reporter: Orion Poplawski <orion>
Component: ogdiAssignee: Dan Horák <dan>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: cristian.balint, dan, devrim, volker27
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
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 20:41:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 830496    
Bug Blocks:    
Attachments:
Description Flags
switch to proj_api.h
none
switch to proj_api.h
none
Patch to Proj 4.8.0 none

Description Orion Poplawski 2012-04-25 17:27:32 UTC
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 17:28:45 UTC
Adding in gdal and proj maintainers to CC for comment/monitoring.

Comment 2 Volker Fröhlich 2012-04-25 17:38:36 UTC
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 18:23:30 UTC
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 18:24:03 UTC
Created attachment 580233 [details]
switch to proj_api.h

Comment 5 Dan Horák 2012-04-25 18:44:09 UTC
I'm progressing well, stay tuned ...

Comment 6 Dan Horák 2012-04-25 18:50:39 UTC
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 06:37:35 UTC
(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 16:43:02 UTC
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 08:14:02 UTC
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 20:41:37 UTC
Looks like Spot fixed it for us properly in ogdi-3.2.0-0.18.beta2.fc18