Hide Forgot
Description of problem: Since GHC does not generate DWARF debugging information, the only way to get backtraces for Haskell programs is to use the profiling cost centers (through the -xc option), which were in the -prof subpackages. Now, those -prof subpackages were merged into the -devel subpackages, which means we now have to install the whole -devel files to get backtraces. Version-Release number of selected component (if applicable): ghc-7.0.2-16.5.fc15 How reproducible: Always. Steps to Reproduce: Try to get a backtrace for a Haskell program using the -xc option: http://www.haskell.org/haskellwiki/FAQ#How_can_I_get_a_stack_backtrace_when_my_program_throws_an_exception.3F http://www.haskell.org/ghc/docs/latest/html/users_guide/runtime-control.html#rts-options-debugging Actual results: You have to install the -devel package. Expected results: You have to install only a -prof package. Additional info: This is just as broken as if *-debuginfo were part of *-devel for C/C++ programs.
For Fedora 15, this is a regression in an update, introduced by FEDORA-2011-13443. But Fedora 16 and Rawhide are affected, too.
ghc-rpm-macros changed a while ago. The commit is here[1], but things could change back again I suppose. Other packaging changes happened as well since then. There's also a ghc bug[2] for generating DWARF debugging, but it's targeted at 7.4.1 which is almost certainly "not soon". [1]http://pkgs.fedoraproject.org/gitweb/?p=ghc-rpm-macros.git;a=commit;h=1bc67af711426c41245fc27a735aca5be2244617 [2]http://hackage.haskell.org/trac/ghc/ticket/3693
Prof packages have always required devel packages: there is no dependency regression wrt to profiling with this change. Note also that profiling is different to debugging. GHC profiling can give you information about time and space usage of a program (built with profiling), which is normally related to performance analysis not debugging. Note also that programs have to be rebuilt explicitly completely with profiling enabled in order to get profiling information, so this is not that cheap. The main difference now is that we get profiling libraries installed with devel packages. This change was introduced to F16 in May 2011 to reduce the large number of subpackages and simply build dependencies and packaging, so I see this as a step forward. But if you have more concrete concerns I would like to hear them. You may also want to subscribe to the haskell-devel list if you wish to follow Fedora Haskell development more closely. In future I will try to cc announcements of large Haskell packaging changes also to devel list. Noone on the haskell-devel list has complained to date anyway yet about this change. The ghc-rpm-macros change has already been in F15 for quite a while and all new updates built for F15 don't have prof subpackages either (the same is also true for F14). Since F16 has been without prof subpackages now for 5 months and it seems stable and working well I thought it was about time also to push ghc with merged prof subpackages to F15. I hope this explains the background a bit.
From https://admin.fedoraproject.org/updates/FEDORA-2011-13443 kkofler - 2011-10-15 04:45:42 (karma 0) [..] The -xc option, which provides backtraces for exceptions, requires binaries built for profiling, i.e. exactly what the -prof subpackages contain. kkofler - 2011-10-15 04:46:12 (karma 0) (Now if -prof always required -devel, that was always broken.) Ok, I see I am not familiar with this use case. But I assume you are building with -package or --make for this which requires libraries' .conf files which are provided by the devel subpackages: I think what you want is an upstream RFE to support dyn, static and prof libraries separately. /usr/bin/ghc and ghc-pkg doesn't really known about the different flavours of libraries, as far as they are concerned a library is either installed or not. I believe there is an upstream bug/rfe/todo to separate them out but not sure if anyone is working on this presently. I don't think ghc does what you want yet though I am happy to be proven wrong.