Stop! Tickets are now managed at GitHub.

Please enter new tickets, and find and edit existing tickets there:


Ticket #56 (closed defect: wontfix)

Opened 6 years ago

Last modified 4 years ago

Dependency on editline C library not checked by ./configure

Reported by: anonymous (solrize) Owned by: dons
Priority: major Milestone: 2010.2.0.0
Component: Generic source tarball Keywords: editline
Cc:

Description

Installing haskell-platform-2009.2.0.1 under ubuntu hardy doesn't feel ready for prime time.

1) ./configure depends on several ubuntu packages that are not obvious (i.e. it says it needs the C zlib library but actually needs one (or more, I'm not sure, I installed them all) of zlib1g-dev, zlib1g, or zlib-bin (zlibc wasn't the right one). Then it wanted some opengl and glut libs. I installed the ones that had ghc in their name, which caused a bunch of error messages about mismatched magic numbers for haddock docs. Then I finally got configure to work, and running "make" spewed miles of ghc warning messages before crashing with

configure: error: editline not found, so this package cannot be built See `config.log' for more details.

Error: Configuring the editline-0.2.1.0 package failed make: *** [build.stamp] Error 2

I guess I could attempt the install again and capture all the terminal output, if anyone wants it.

Attachments

typescript (8.9 kB) - added by anonymous 6 years ago.
typescript.2 (77.7 kB) - added by anonymous 6 years ago.
another typescript, this time in completely rebuilt directory

Change History

Changed 6 years ago by anonymous

Changed 6 years ago by anonymous

another typescript, this time in completely rebuilt directory

  Changed 6 years ago by anonymous

I attached typescript #2 showing "make" crashing on trying to configure editline. I removed editline from the platform package list and the build finished, except then it complains saying:

Configuring haskell-platform-2009.2.0.1... Setup: At least the following dependencies are missing: editline ==0.2.1.0

Error: Configuring the haskell-platform-2009.2.0.1 package failed make: *** [build.stamp] Error 2

Not sure what to try now.

  Changed 6 years ago by VVLysikov

I have the same problem on Debian Lenny. libeditline-dev and libedit-dev packages are needed to configure editline.

  Changed 6 years ago by dons

  • status changed from new to closed
  • resolution set to invalid

Why is this a bug? The generic source tarball requires you to work out what C libraries you need, and what the distro packages for those are. Without them, it won't build.

Solving that problem is for distro packages.

Please ask your distro maintainer why Haskell isn't supported on the distro.

  Changed 6 years ago by VVLysikov

  • status changed from closed to reopened
  • resolution invalid deleted
  • component changed from Platform to Generic source tarball
  • summary changed from ubuntu installation probs to build fails on editline

I think it's a bug because editline requirements aren't checked by configure script of Haskell Platform. Error is reported by make.

  Changed 6 years ago by anonymous

  • keywords editline added
  • summary changed from build fails on editline to Dependency on editline C library not checked by ./configure
  • milestone set to 2009.2.2

  Changed 6 years ago by solrize

I don't think it's appropriate for a source tarball installation to totally fail if something noncritical (like editline or opengl) is missing. Also, users willing to unpack a tarball and run make shouldn't have to rely on distro packaging to be able to build this kind of library without a lot of pain. For example, someone wanting to hack the sources usually won't start with distro packaging. And, someone wanting to use the platform to develop (say) Haskell programs for embedded systems won't have modules like opengl or editline available, so it would be useful to be able to configure the platform to not include those modules.

I've built and installed other language packages (python and gcc come to mind) from source tarballs countless times without such headaches. The number of compiler diagnostics emitted during compilation is also disconcerting. Of course I understand the Haskell platform is still in beta test and users should expect snags, so the current issues are not something to get upset about. However, if part of the Platform's goal is to present Haskell to users as "ready for prime time", I hope that the cleanliness of the build process can be brought up to the standards of the other languages I mentioned before the platform is declared to be out of beta test.

  Changed 6 years ago by duncan

Yep, we check other C libs in the top level ./configure. We should also check for editline.

I'd rather not start making bits of the platform optional (at least not easily) because it detracts from the goal of a set of packages that package authors can rely on.

  Changed 5 years ago by dons

  • milestone changed from 2009.2.0.2 to 2009.4.0

We still need to add a check for editline (or remove editline in 2009.4.0)

  Changed 5 years ago by Araneidae

Well, this defect remains ... and there's a further defect (let me know if I should raise this separately):

On Ubuntu 9.10 I have libeditline-dev installed, but the only header file which is installed is /usr/include/editline.h (defining readline() and add_history()), whereas the make for haskell-platform is looking for editline/editline.h -- which means, of course, it fails to find it.

I've tried adding editline.h to the AC_CHECK_HEADERS list (line 47, packages/editline-0.2.1.0/configure.ac) and running autoconf, but something isn't right: my resulting ./configure is quite broken. Maybe my autoconf (version 2.64) or one of its macros is broken?

To be more specific, ./configure in packages/editline-0.2.1.0 fails with message:

checking for tputs in -lncurses... ./configure: line 2853: syntax error near unexpected token `(' ./configure: line 2853: `case "(($ac_try" in'

follow-up: ↓ 11   Changed 5 years ago by judah

Araneidae, I think you need to have the libedit-dev package instead of libeditline-dev. The latter refers to an early version of the library with a limited featureset.

in reply to: ↑ 10   Changed 5 years ago by Araneidae

Replying to judah:

Araneidae, I think you need to have the libedit-dev package instead of libeditline-dev. The latter refers to an early version of the library with a limited featureset.

Argh! Looks like you're right. All the more reason to fix this ticket, I guess.

  Changed 4 years ago by refold

  • milestone changed from 2009.4.0 to 2010.2.0.0

Milestone 2009.4.0 deleted

  Changed 4 years ago by dons

  • status changed from reopened to closed
  • resolution set to wontfix

We no longer depend on editline.

Note: See TracTickets for help on using tickets.