Summary: | dev-ada/gtkada fails to compile | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | fabio de francesco <fmdf66> |
Component: | [OLD] Library | Assignee: | ada team [OBSOLETE] <ada+disabled> |
Status: | RESOLVED WONTFIX | ||
Severity: | major | CC: | jessemichaelwilson, lancelot, treecleaner |
Priority: | High | Keywords: | PMASKED |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | Pending removal: 2016-02-02 | ||
Package list: | Runtime testing required: | --- | |
Attachments: |
Updated ebuild from SVN
Patch for pragma Obsolescent patch.out Ebuild attempt |
Description
fabio de francesco
2010-12-11 12:36:24 UTC
The version in the tree is a *bit* dated. There was a more recent release and the svn version does have fixes for the problem. I do have the same problem trying to install GTKADA. Aparently, gtkada is not complient with >=Gtk+-2.18 and the only 2.x version of GTK availalble in the portage tree is 2.20. I guess it would be possible to manually re-install an old gtk-version as a temporary solution. Created attachment 265743 [details]
Updated ebuild from SVN
Here's an updated ebuild pegged against SVN revision 171162. A patch is required to build with >=gnat-gcc-4.4 since the syntax of "pragma Obsolescent" has changed. The patch I am attaching is a bit more invasive than needs to be because it updates all uses of Obsolescent to use the new form.
I installed gtkada a while ago with the intention of learning to use it but haven't had the chance yet, so please test if this works.
Created attachment 265745 [details, diff]
Patch for pragma Obsolescent
Created attachment 308985 [details]
patch.out
Patch failed. Above is the patch.out for the failed patch. Contacted Adacore about this, no response yet. Please fix this. Can we have some comment on the status of this bug? I need this so I can fix the sunrise media-sound/scala-bin ebuild. Is there some workaround to this bug while I wait for the patch to be either fixed or incorporated into GtkAda? If I can just get a working version of this emerged through portage, I can move on to the scala-bin ebuild. I would like to know if I should be looking for some workaround or if GtkAda will be fixed shortly. Hi, As a workaround I install manually the library (updated version) from the soruces downloaded at libre.adacore.com. I am defenetly not familiar with ebuild writing so I did not create one. Here is how I install the lib : Download gtkada-gpl-2.18.0-src.tgz from libre.adacore.com and extract it There are some minor adjustments to do here to make it compile (I compile it with =dev-lang/gnat-gcc-4.4.5 never tested with another compiler). Remove lines 231 and 235 from src/gtk-about_dialog.ads. Those lines are Obscolescent pragmas (optional) I don't know how to fix. Remove line 39 from src/misc.c (safe, the #include is implicitly done two lines above) Those operations can be done with this : sed -i -e "235d" src/gtk-about_dialog.ads sed -i -e "231d" src/gtk-about_dialog.ads sed -i -e "39d" src/misc.c And then you can go with the usual ./configure; make; make install Finally, update LD_LIBRARY_PATH variable (or add a file to set it in /etc/env.d ) Done, you got your copy of gtkada ! Now if anyone can produce (or help me to) the corresponding ebuild, fill free ! (In reply to comment #7) > Can we have some comment on the status of this bug? Sorry for slow response. I am quite swamped in real life atm (papers, grants..). I am trying to update the base gnat packages (gnat itself and asis). However, since there is actual interest in this one I'll try to replan. This package severely needs an update. I may be able to issue something 2009-based, as I just added new asis from AdaCore's 2009 release and we have working gnat-gcc-4.3.. Ok, I'm attempting an ebuild for 2.18 based on the 2.10 ebuild. I'm having a weird problem: lib_compile done /var/tmp/portage/dev-ada/gtkada-2.18.0/work/LocalSource lib_install /var/tmp/portage/dev-ada/gtkada-2.18.0/work/LocalSource lib_install done /var/tmp/portage/dev-ada/gtkada-2.18.0/work/LocalSource * compiling for gnat profile x86_64-pc-linux-gnu-gnat-gcc-4.4 cp: cannot stat `gtkada-gpl-2.18.0-src': No such file or directory /var/tmp/portage/dev-ada/gtkada-2.18.0/temp/environment: line 1932: cd: /var/tmp/portage/dev-ada/gtkada-2.18.0/work/LocalSource: No such file or directory lib_compile /var/tmp/portage/dev-ada/gtkada-2.18.0/work/LocalSource * QA Notice: econf called in src_compile instead of src_configure ISE access_rd(./configure): No such file or directory abs_path: (null) res_path: (null) /usr/lib64/libsandbox.so(+0x37e2)[0x7ff956e697e2] /usr/lib64/libsandbox.so(+0x3853)[0x7ff956e69853] /usr/lib64/libsandbox.so(+0x50c8)[0x7ff956e6b0c8] /usr/lib64/libsandbox.so(faccessat+0x71)[0x7ff956e6ef41] /bin/bash(sh_eaccess+0x26)[0x480006] /bin/bash(unary_test+0x5c)[0x45300c] /bin/bash[0x4535c7] /bin/bash(test_command+0x135)[0x453c25] /bin/bash(test_builtin+0x2c)[0x47381c] /bin/bash[0x42ba23] /proc/17156/cmdline: /bin/bash /usr/lib64/portage/bin/ebuild.sh compile /usr/lib64/portage/bin/ebuild.sh: line 692: 17156 Aborted ( exec 9>&-; ebuild_main ${EBUILD_SH_ARGS}; exit 0 ) * The ebuild phase 'compile' has exited unexpectedly. This type of * behavior is known to be triggered by things such as failed variable * assignments (bug #190128) or bad substitution errors (bug #200313). * Normally, before exiting, bash should have displayed an error message * above. If bash did not produce an error message above, it's possible * that the ebuild has called `exit` when it should have called `die` * instead. This behavior may also be triggered by a corrupt bash binary or * a hardware problem such as memory or cpu malfunction. If the problem is * not reproducible or it appears to occur randomly, then it is likely to * be triggered by a hardware problem. If you suspect a hardware problem * then you should try some basic hardware diagnostics such as memtest. * Please do not report this as a bug unless it is consistently * reproducible and you are sure that your bash binary and hardware are * functioning properly. I don't really understand what's going on with this and I honestly don't know what I'm doing with this particular ebuild even though I've written quite a few ebuilds in the past. The "cp.. cannot stat.." message doesn't seem to be connected to any line in the ebuild. I'll add the ebuild as an attachment so you can see what I've tried to do here. You'll see that I've added some echo and pwd statements just to get an idea where it is in the ebuild when it crashes. No idea why lib_compile is called twice. Created attachment 309677 [details]
Ebuild attempt
Ok, I've been trying the manual install suggested by Lancelot SIX, but I keep getting messages about undefined references to_Unwind_<something>. I THINK it might be related to this 8 year old bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14925. I am testing right now whether installing libunwind and then recompiling gnat-gcc will fix this. I'm posting my error message, Hopefully someone can tell me what the real fix should be before I waste a lot of time trying to figure this out. checking that your gnat compiler works with a simple example... /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-finali.o): In function `ada__finalization___assign__3': (.text+0x21e): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-tags.o): In function `ada__tags__interface_ancestor_tags': (.text+0xa94): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-tags.o): In function `ada__tags__wide_wide_expanded_name': (.text+0xf45): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-tags.o): In function `ada__tags__wide_expanded_name': (.text+0x10a1): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-tags.o): In function `ada__tags__internal_tag': (.text+0x1419): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-textio.o):(.text+0x12f5): more undefined references to `_Unwind_Resume' follow /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `db_action_for': (.text+0x399): undefined reference to `_Unwind_GetIPInfo' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `__gnat_eh_personality': (.text+0x4ec): undefined reference to `_Unwind_GetLanguageSpecificData' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `__gnat_eh_personality': (.text+0x505): undefined reference to `_Unwind_GetRegionStart' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `__gnat_eh_personality': (.text+0x5e9): undefined reference to `_Unwind_GetIPInfo' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `__gnat_eh_personality': (.text+0x687): undefined reference to `_Unwind_GetIPInfo' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `__gnat_eh_personality': (.text+0xbcf): undefined reference to `_Unwind_SetGR' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `__gnat_eh_personality': (.text+0xbdf): undefined reference to `_Unwind_SetGR' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `__gnat_eh_personality': (.text+0xbea): undefined reference to `_Unwind_SetIP' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `__gnat_Unwind_ForcedUnwind': (.text+0x1): undefined reference to `_Unwind_ForcedUnwind' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `__gnat_Unwind_RaiseException': (.text+0x11): undefined reference to `_Unwind_RaiseException' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `base_of_encoded_value': (.text+0x358): undefined reference to `_Unwind_GetRegionStart' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `base_of_encoded_value': (.text+0x368): undefined reference to `_Unwind_GetTextRelBase' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(raise-gcc.o): In function `base_of_encoded_value': (.text+0x378): undefined reference to `_Unwind_GetDataRelBase' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-except.o): In function `ada__exceptions__exception_data__append_info_basic_exception_informationXn': (.text+0x4d7): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-except.o): In function `__gnat_append_info_e_msg': (.text+0x760): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-except.o): In function `ada__exceptions__exception_data__append_info_exception_nameXn': (.text+0x835): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-except.o): In function `ada__exceptions__exception_data__basic_exception_tracebackXn': (.text+0x94d): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-except.o): In function `ada__exceptions__exception_data__exception_informationXn': (.text+0xa2a): undefined reference to `_Unwind_Resume' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(a-except.o):(.text+0xe62): more undefined references to `_Unwind_Resume' follow /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(tracebak.o): In function `__gnat_backtrace': (.text+0x35): undefined reference to `_Unwind_Backtrace' /usr/lib64/gnat-gcc/x86_64-pc-linux-gnu/4.4/adalib/libgnat.a(tracebak.o): In function `trace_callback': (.text+0x4d): undefined reference to `_Unwind_GetIP' collect2: ld returned 1 exit status gnatmake: *** link failed. no configure: error: /usr/x86_64-pc-linux-gnu/gnat-gcc-bin/4.4/gnatmake test failed at compile time! Check your configuration. Hi. The error you got is related to your ada compiler installation, not to gtk-ada. Anyway, I can build GtkAda on systems where I use =dev-lang/gnat-gcc-4.4.5 from portage tree and sys-libs/libunwind is not installed. Yes. installing libunwind and reinstalling gnat-gcc and gcc did not help. I'm truly pretty confused about this. I wish there were a way to automatically check for inconsistencies in the entire toolchain up to gnat-gcc, because this (I think) could even be a problem with gcc. I'm going to try with gnat-gpl and see what happens. CCing treecleaners as there is no sense on keeping this outdated and broken package, if anyone is willing to proxy maintain it, it could be keept of course: https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers removed |