Opened 7 years ago

Closed 7 days ago

#4246 closed defect (fixed)

gpx_import fails on a ruby error (Magick)

Reported by: stevens Owned by: rails-dev@…
Priority: major Milestone:
Component: website Version:
Keywords: gpx Cc:


This bug is being reported against git master: 43bbb3f6518a1dcd NOT the live site.

Commit 4c51a3035cfec42bf96eeb0e601bf24e5906ad5 removed rmagick. This seems to break the gpx daemon. I get the following error.

failed to import. Here is the error:

uninitialized constant GPX::File::Magick

/media/local/ssinger/rails/lib/gpx.rb:54:in `picture' /media/local/ssinger/rails/app/models/trace.rb:303:in `import' lib/daemons/gpx_import.rb:21 lib/daemons/gpx_import.rb:15:in `each' lib/daemons/gpx_import.rb:15

Version eae5192957f523b0490d2bff6ade79671fd4dffa seems to work okay.

Change History (7)

comment:1 Changed 7 years ago by Tom Hughes

Yes, the ruby GPX importer is no longer used and should probably be removed.

comment:2 Changed 7 years ago by Shaun McDonald

I disagree. I think it is still useful to keep the ruby version there to keep a lower barrier to entry for people who want to develop the GPS traces locally, or are running their own instance of the osm site and don't/can't setup the C based GPX importer.

comment:3 Changed 7 years ago by Tom Hughes

I agree that in a perfect world that might be a nice idea but the reality is that nobody is maintaining it and there is no reason for anybody involved in the OSM project to do so.

In particular in this case RMagick is a major barrier to entry for people trying to setup a local instance of the rails code for development, so removing it is good from that point of view and now that we have switched to paperclip for the user images nothing that uses requires RMagick.

There is a fundamental tensions here between the fact that we are trying to develop "the OpenStreetMap web site" and other people are trying to use that code base for other purposes which was never our intention.

comment:4 in reply to:  2 Changed 7 years ago by stevens

What are the barriers stopping people from installing the C based GPX importer. It built fine on my debian system once I installed the packages listed in the BUILD file. I initially tried using the ruby importer because it was there and the documentation implied I could.

What platforms are people actually running the rails port and building the C importer is an issue (OSX?, Win32?). Do those people need the importer? Would they be happy with a version that skipped the image generation?

Would including a listing of RedHat/Fedora? package names in the BUILD file along with the debian ones be enough of a fix?

comment:5 Changed 7 years ago by Tom Hughes

You misunderstand - it's not building the C importer that is the barrier (most people don't need the importer anyway). It's requiring RMagick to run the main rails code that is the barrier as it has proved difficult to install on some machines in the past.

comment:6 Changed 7 years ago by stevens

If building the C importer isn't a barrier for the people that need it then I agree that we should remove the ruby importer and update

comment:7 Changed 7 days ago by Andy Allan

Resolution: fixed
Status: newclosed

The C importer has now been obsoleted, and the GPX trace importing is now entirely within the codebase and fully working. See and other related PRs.

Note: See TracTickets for help on using tickets.