Opened 8 years ago

Closed 7 years ago

Last modified 7 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 Changed 7 years ago by robe

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 Changed 7 years ago by robe

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 Changed 7 years ago by robe

Resolution: fixed
Status: newclosed

done for trunk (3.4) at r3866

comment:4 Changed 7 years ago by robe

Keywords: history added

comment:5 Changed 7 years ago by warmerdam

Thanks!

comment:6 Changed 7 years ago by robe

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 Changed 7 years ago by robe

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 Changed 7 years ago by robe

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 Changed 7 years ago by robe

Milestone: 3.3.93.5.0

comment:10 Changed 7 years ago by robe

Milestone: 3.5.03.4.2
Priority: minorblocker

comment:11 Changed 7 years ago by robe

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 Changed 7 years ago by robe

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 Changed 7 years ago by robe

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 Changed 7 years ago by robe

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 Changed 7 years ago by strk

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

comment:16 Changed 7 years ago by strk

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

comment:17 Changed 7 years ago by robe

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

comment:18 Changed 7 years ago by robe

Resolution: fixed
Status: newclosed

done for 3.3.9 at r3898

comment:19 Changed 7 years ago by springmeyer

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 Changed 7 years ago by strk

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 Changed 7 years ago by springmeyer

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

comment:22 Changed 7 years ago by strk

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.