[vox-tech] Apt Problem
I've got a problem with apt dist-upgrade. It started when I accidentally installed apache. I then removed apache, which was a mistake. I've since re-installed and re-removed apache but can't fix the problem. Here's the problem. When I do apt dist-upgrade I get this error message: dpkg: apache2-common: dependency problems, but removing anyway as you request: apache2-mpm-prefork depends on apache2-common (= 2.0.55-4.1). (Reading database ... 117542 files and directories currently installed.) Removing apache2-common ... Stopping apache 2.0 web server...Syntax error on line 1 of /etc/apache2/mods-enabled/php4.load: Cannot load /usr/lib/apache2/modules/libphp4.so into server: /usr/lib/apache2/modules/libphp4.so: cannot open shared object file: No such file or directory failed! invoke-rc.d: initscript apache2, action stop failed. dpkg: error processing apache2-common (--remove): subprocess pre-removal script returned error exit status 1 Errors were encountered while processing: apache2-common E: Sub-process /usr/bin/dpkg returned an error code (1) A package failed to install. Trying to recover: Here's why this is a serious problem. If I have other non-apache packages to upgrade, they will not upgrade after apt quits because of the apache problem. So the apache problem is bigger than it looks. Thank you for any help you can give me. Bob ___ vox-tech mailing list vox-tech@lists.lugod.org http://lists.lugod.org/mailman/listinfo/vox-tech
Re: [vox-tech] Apt Problem
Dear Bob, I had to deal with this same problem recently when a broken php module was put in the unstable package repository. The way I got past this problem was to comment out the lines (in apache2.conf, I think) that loaded broken modules. I can no longer find a configuration file that specifies modules to load, so I think it was replaced with the /etc/apache2/mods-available and /mods-enabled which I now see. If I had this problem now, I would temporarily delete the links to the broken modules in mods-enabled so that apache2 would not try to load them when being stopped/started by apt. Yours, Chris On Wed, 6 Dec 2006, Bob Scofield wrote: I've got a problem with apt dist-upgrade. It started when I accidentally installed apache. I then removed apache, which was a mistake. I've since re-installed and re-removed apache but can't fix the problem. Here's the problem. When I do apt dist-upgrade I get this error message: dpkg: apache2-common: dependency problems, but removing anyway as you request: apache2-mpm-prefork depends on apache2-common (= 2.0.55-4.1). (Reading database ... 117542 files and directories currently installed.) Removing apache2-common ... Stopping apache 2.0 web server...Syntax error on line 1 of /etc/apache2/mods-enabled/php4.load: Cannot load /usr/lib/apache2/modules/libphp4.so into server: /usr/lib/apache2/modules/libphp4.so: cannot open shared object file: No such file or directory failed! invoke-rc.d: initscript apache2, action stop failed. dpkg: error processing apache2-common (--remove): subprocess pre-removal script returned error exit status 1 Errors were encountered while processing: apache2-common E: Sub-process /usr/bin/dpkg returned an error code (1) A package failed to install. Trying to recover: Here's why this is a serious problem. If I have other non-apache packages to upgrade, they will not upgrade after apt quits because of the apache problem. So the apache problem is bigger than it looks. Thank you for any help you can give me. Bob ___ vox-tech mailing list vox-tech@lists.lugod.org http://lists.lugod.org/mailman/listinfo/vox-tech ___ vox-tech mailing list vox-tech@lists.lugod.org http://lists.lugod.org/mailman/listinfo/vox-tech
[vox-tech] For C gurus
I have seen something like the following to describe how setjmp/longjmp is used, though asub is likely to represent a complicated tree of calls with a variety of potential failure points, with longjmp being the quick and easy way out. int asub(jmp_buf env) { .do something longjmp(env, 1); } int main() { jmp_buf env; /*init*/ some code if (setjmp(env);) { /* returned from longjmp */ clean up exit(0); } else { /*just returned from setjmp */ asub(env); may not return } } But suppose this is changed to the following: int asub(jmp_buf env) { .do something longjmp(env, 1); } int my_wrapper(jmp_buf env) { int x; if (x = setjmp(env)) { return x; } else { return 0; } int main() { jmp_buf env; /*init*/ some code if (my_wrapper(env);) { /* returned from longjmp */ clean up exit(0); } else { /*just returned from setjmp */ asub(env); may not return } } Notice that because we returned from my_wrapper before calling asub, the local variables for asub have been removed from the stack. Thus they cannot be restored by the longjmp. It seems to me this usage should be explicitly rejected. Can any one point me to an authoratative reference that says this? Richard Harke ___ vox-tech mailing list vox-tech@lists.lugod.org http://lists.lugod.org/mailman/listinfo/vox-tech