Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#601 closed defect (fixed)

geos-3.3.6.tar.bz2 includes platform.h and version.h

Reported by: warmerdam Owned by: strk
Priority: blocker Milestone: 3.3.9
Component: Build/Install Version: 3.3.6
Severity: Unassigned Keywords: history
Cc:

Description

The source distribution files seem to include the platform.h that ought to be generated at runtime on the target platform.

On windows with the NMAKE makefiles this means the linux generated platform.h is used instead of copying platform.h.vc and results in a build error.

I would like to suggest the source distribution *not* include platform.h. This could likely be accomplished by removing it from geos_HEADERS in include/Makefile.am though I'm not sure if that will have negative side effects.

Change History (22)

comment:1 by robe, 11 years ago

Milestone: 3.3.9

Just checked the 3.3.8 tar ball and this is still an issue. Why was this ticket never tagged to a milestone?

comment:2 by robe, 11 years ago

Okay didn't see the line in include/Makefile.am, but did see it in include/geos/Makefile.am

I'm getting errors building though it does build the tar without that file. So presume that is a separate issue.

Done for 3.3.9 at r3865

Need to do the same for 3.4.0

comment:3 by robe, 11 years ago

Resolution: fixed
Status: newclosed

done for trunk (3.4) at r3866

comment:4 by robe, 11 years ago

Keywords: history added

comment:5 by warmerdam, 11 years ago

Thanks!

comment:6 by robe, 11 years ago

Just realized that version.h is also distributed. Should that one be removed as well from tar ball. Looks like we have version.h.in, version.h.vc, version.h

comment:7 by robe, 11 years ago

Resolution: fixed
Status: closedreopened

I'm afraid I have to reopen this. Wasn't quite as trivial as I thought.

strk as you suspected, though I can build fine and tests run thru fine (except I do get 4 failures under my mingw64-w32 (even more under w64 but that always fails), the platform.h though it gets created by configure, it does not get installed.

Is there a way to get this installed and still not include in tar ball. I'm also as I stated above suspecting that version.h should not be included already built.

comment:8 by robe, 11 years ago

strk,

I've confirmed that if I put back plafform.h in the Makefile.am for 3.4.0, then it packages platform.h. Not sure what file I can change to prevent it from packaging and still installing as part of make install

comment:9 by robe, 11 years ago

Milestone: 3.3.93.5.0

comment:10 by robe, 11 years ago

Milestone: 3.5.03.4.2
Priority: minorblocker

comment:11 by robe, 11 years ago

Milestone: 3.4.23.3.9
Owner: changed from pramsey to strk
Status: reopenednew

make sure to fix for both 3.4 and 3.3 and might as well do the same for version.h while you are at it.

over to you strk -- I don't know GEOS code base well enough to fix this.

comment:12 by robe, 11 years ago

Summary: geos-3.3.6.tar.bz2 includes platform.hgeos-3.3.6.tar.bz2 includes platform.h and version.h

Greg Troxel recommends in http://lists.osgeo.org/pipermail/geos-devel/2013-August/006586.html

nodist_geos_HEADERS = platform.h

I'll put it back and give this a try and will commit to 3.3 and 3.4 branches after done. I think we really should have:

nodist_geos_HEADERS = platform.h version.h

Since version.h should not be distributed either since its platform dependent.

comment:13 by robe, 11 years ago

sadly that did not work. If I put platform.h out and add a

nodist_geos_HEADERS = \
  platform.h

similar to what I see in capi folder, it doesn't work. platform.h then gets included in tar ball.

How come the capi one doesn't have to itemize the headers?

In looking at the generated Makefile.in

I see

HEADER=geos_HEADERS nodist_geos_HEADERS

So I'm guessing the solution is to take it out of geos_HEADERS and add it to nodist_geos_HEADERS

I'm trying that now.

comment:14 by robe, 11 years ago

nope still includes platform.h if I move it to nodist_geos_HEADERS from geos_HEADERS. Anyone else with thoughts on how to NOT include in distribution but have it install?

comment:15 by strk, 11 years ago

How do you like r3896 (trunk) ? Please let me know.

comment:16 by strk, 11 years ago

NOTE: you _need_ to run ./autogen.sh and ./configure again after updating the source

comment:17 by robe, 11 years ago

seems to work for me backported to 3.4 at r3897, will do 3.3 next

comment:18 by robe, 11 years ago

Resolution: fixed
Status: newclosed

done for 3.3.9 at r3898

comment:19 by springmeyer, 11 years ago

Hey all,

Just installed geos-3.4.1.tar.bz2 on OS X and platform.h ends up generated fine locally in ./include/geos. However, it appears to never be installed into --prefix such that compiling against geos does not work. I hit this with latest osm2pgsql.

Dane

comment:20 by strk, 11 years ago

Dane, it's a known issue, should have been fixed with the revisions noted above (r3896, r3897, r3898) -- 3.4.2 will come out shortly with that fix, and hopefully a couple more

comment:21 by springmeyer, 11 years ago

ah, okay, sorry missed that. So should 3.4.1 be removed/taken down as a release?

comment:22 by strk, 11 years ago

Maybe taking down isn't a bad idea. At least we could leave a note about it being broken until the replacement is shipped. What do you think Robe ?

Note: See TracTickets for help on using tickets.