Summary: | media-sound/gigedit-0.1.1 does not compile with gcc 4.3. Error related to mainwindow.cpp. | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | seg.laco |
Component: | Current packages | Assignee: | Gentoo Sound Team <sound> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | col |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 198121 | ||
Attachments: |
the build-log
The build.log to see the crash trying to emerge with the patch. The ebuild with the 2 patches. (Doesn't work yet) Patch for mainwindow.cpp Patch for paramedit.cpp gigedit-0.1.1-r1.ebuild with 2 patchs and inherit from eutils eclass This ebuild worked for me. This patch worked. This patch worked. |
Description
seg.laco
2009-02-03 18:36:50 UTC
Created attachment 180835 [details]
the build-log
Looks like a gcc 4.3 problem. '#include <cstring>' ? (In reply to comment #2) > Looks like a gcc 4.3 problem. > '#include <cstring>' ? > #include <cstring> seems to missing in mainwindow.cpp, if you want i can write a patch and join it in attachment for test... ? Thank you for the fast answer. I needed to add #include <cstring> in both mainwindow.cpp and paramedit.cpp. Then make worked without errors. Is there an elegant way to fix this, so that I could install the program with emerge? Creating a new tar-archive and copying it into /usr/portage/distfiles doesn't work because of the checksum. (In reply to comment #4) > Thank you for the fast answer. > > I needed to add #include <cstring> in both mainwindow.cpp and paramedit.cpp. > Then make worked without errors. > > Is there an elegant way to fix this, so that I could install the program with > emerge? Creating a new tar-archive and copying it into /usr/portage/distfiles > doesn't work because of the checksum. > Steps : 1. make a patch as fallowing : diff -u mainwindow_orig.cpp mainwindow.cpp > include_fix.patch 2. copy the original ebuild to an overlay (/usr/local/portage/overlay/media-sound/gigedit) 3. rename the ebuild to gigedit-0.1.1-r1.ebuild 4. edit the ebuild and edit src_unpack() function to added: epatch "${FILESDIR}/include_fix.patch" (at end of function) 5. copy the patch to /usr/local/portage/overlay/media-sound/gigedit/files 6. exec the following command: ebuild /usr/local/portage/overlay/media-sound/gigedit/gigedit-0.1.1-r1.ebuild digest and now normaly you can merge ;) > and now normaly you can merge ;)
Unfortunatelly it doesn't. Emerge dies complaining that there is no configure script found.
What I did additionally was to create a second patch for paramedit.cpp.
What else do I need to edit in the ebuild?
In the Attachement there is the ebuild I wrote so far, the patches and the build.log.
Created attachment 180867 [details]
The build.log to see the crash trying to emerge with the patch.
Created attachment 180868 [details]
The ebuild with the 2 patches. (Doesn't work yet)
Created attachment 180869 [details, diff]
Patch for mainwindow.cpp
Created attachment 180871 [details, diff]
Patch for paramedit.cpp
the two patchs seems to be good, thanks for them. in build.log we can read explicitly that epatch command is not found, due to eutils eclass missing. please find in attachment new ebuild which just inherit from eutils eclass, normaly fixs the "epatch command not found" error, and try again because the configure script is directly in tarball source code and should be found. Created attachment 180887 [details]
gigedit-0.1.1-r1.ebuild with 2 patchs and inherit from eutils eclass
Unfortunatelly your ebuild doesn't work for me. Emerge stops trying to patch and complains that it doesn't find the files to be patched. After I had a look in the temp-folder I realized that the src_unpack was not complete. Because I don't know what to add aditionally in the src_unpack I deleted it completely and put the epatch commands in the beginning of src_compile. Than there was another thing to do. The patches were not correct, because the mainwindow.cpp and paramedit.cpp are not in the work-directory but in a subfolder. So I needed to add a relative path. Thanks for your help. I will upload the correct patches and the ebuild. Created attachment 181067 [details]
This ebuild worked for me.
Created attachment 181069 [details, diff]
This patch worked.
Created attachment 181070 [details, diff]
This patch worked.
(In reply to comment #13) > Unfortunatelly your ebuild doesn't work for me. Emerge stops trying to patch > and complains that it doesn't find the files to be patched. After I had a look > in the temp-folder I realized that the src_unpack was not complete. Because I > don't know what to add aditionally in the src_unpack I deleted it completely > and put the epatch commands in the beginning of src_compile. > Than there was another thing to do. The patches were not correct, because the > mainwindow.cpp and paramedit.cpp are not in the work-directory but in a > subfolder. So I needed to add a relative path. > > Thanks for your help. I will upload the correct patches and the ebuild. > your merge problem was not because the ebuild didn't work but because theses patchs didn't include the absolute path from tarball directory, patch are fixed so emerge too (the main thing being that the source are patched before compile) fixed, thanks; please don't forget to forward your patches to the upstream author. (In reply to comment #18) > fixed, thanks; please don't forget to forward your patches to the upstream > author. > Hey, like, this bug report is the only source for a working ebuild... BUT ITS CLOSED! What gives? It's marked as "resolved fixed". WHY? IT ISN'T RESOLVED OR FIXED! Please re-open this bug and keep it open until a working ebuild is in the tree or pro-audio overlay. Thanks! |