you know what would help more
if the installer detected any path/lib conflicts
and simply ignored other cygwin dlls
i have several cygwin based win32 apps,
from clamav, gtk , ghostscript , to gnuwin32.sf.net tools,
they're all in path,
they all have different cygwin dlls and versions,
and they all blisfully ignore each other,
only loading their own specific libraries
it should't be too difficult for cdrtfe to do this as well
it would make it a lot easier on folks like me
thank you very much
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This was the way previous versions of cdrtfe worked. But exactly this behaviour caused a lot of trouble. In most cases multiple copies of the cygwin1.dll cannot be used at the same time. The program that tries to load its version of the DLL while another version is being used already just fails.
> they all blisfully ignore each other,
> only loading their own specific libraries
And all these programs can be run at the same time, each one using a different cygwin1.dll? If this works, then you're really lucky.
Just tried to run two different programs, one using cygwin 1.5.14, the other cygwin 1.5.25. Completely isolated, no path entry. Result when starting the second pragram while the first is running:
This problem is probably due to using incompatible
versions of the cygwin DLL.
Search for cygwin1.dll using the Windows
Start->Find/Search facility and delete all but the most
recent version. The most recent version should
reside in x:\cygwin\bin, where 'x' is the drive on which
you have installed the cygwin distribution. Rebooting
is also suggested if you are unable to find another
cygwin DLL.
So, both ways (isolating the DLLs / use one version of the DLLs via path) can cause problems. So, maybe it would be the best to let user choose how cdrtfe should behave?
BTW, Cygwin's solution for the problem is not to distribute any cygwin DLLs with your program but to require a complete cygwin installation. This, of course, makes it impossible to create a protable version of the programs.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
bah, you're right, i was wrong, sorry
most of the stuff i mentioned are MinGW-ed version
and don't rely on cygwin
only clamav (clamscan.exe) had cygwin dlls
and it did fail with the shared memory stuff
a warning and letting the user decide would be good
thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
> a warning and letting the user decide would be good
Right. The next version of cdrtfe will have the possibility to force the use of the included DLLs (via an additional ini file). If the installer detects the cygwin DLL within the search path, it will ask the user, which DLL should be used.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
With cdrtfe 1.3 the installer and the archive of the portable version include a new version of the cdrtools (2.01.01a36). The new mkisofs (since 2.01.01a28) needs additional cygwin DLLs depending on the cygwin environment under which it has been compiled. In the case of the included mkisofs these are cygiconv-2.dll and cygintl-3.dll. All needed DLLs are distributed along with cdrtfe (see folder <cdrtfe-folder>\tools\cygwin).
However, to avoid version conflicts between the DLLs that come with cdrtfe and DLLs that may already be installed on the user's system, the DLLs from <cdrtfe-folder>\tools\cygwin are only used, if cdrtfe cannot find another cygwin1.dll within the search path. This may be the case if a complete cygwin environment is already installed and the folder <cygwin-folder>\bin has been added to the search path or if any other program added its version of the cygwin1.dll to the search path.
So, if cdrtfe detects a cygwin1.dll within the system's search path, all other needed DLLs are expected to be found within the search path, too. You get the error message above, if the cygwin1.dll has been previously installed by another program while cygiconv-2.dll and cygintl-3.dll could not be found.
How to solve this problem:
If you have a complete cygwin evironment on your system, then install the packages gettext and libcionv which will add the two missing DLLs. Be sure that <cygwin-folder>\bin has been added to the search path.
If the other cygwin1.dll comes with a program that does not need to be accessible via the search path, remove the program's folder from the path variable.
Or, more generally, either isolate multiple cygwin DLLs from different programs by not adding their respective path to the system's search path (in this case cdrtfe can use the included DLLs) or have just one place for all cygwin DLLs and make it available for all other programs by adding this location to the search path.
Hope this helps.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You're right. I've got a msys installation that includes cygwin1.dll. Because I need to have it in path, I tried to copy cygiconv-2.dll and cygintl-3.dll to msys' bin directory and now cdrtfe starts normally. May this be a good solution?
Thank you very much for your quick reply ;)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
> Each time I start it, it tells me "error on cdrecord.exe"
> and "error on mkisofs.exe"
This doesn't seem to be an error message from cdrtfe. Does the message show any further information? Which operating system is used?
> Do you have any ideas?
If you had no problems with an older version, try to use the cdrtools from cdrtfe 1.3pre2 (cdrecord 2.01.01a31, mkisofs 2.01.01a27). With the new release the cdrtools have been upgraded to version 2.01.01a36.
The thing that I don't understand it's the 1.3pr2 worked during some weeks, and one day, I got an error. So I uninstalled it and installed it again, and still an error...
But with this cygwin1.dll, the 1.3 final works really good. Thanks. :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When I try to start cdrtfe 1.3, an error message shows that some dll's needed by mkisofs are missing. I haven`t got this problem with cdrtfe 1.3pre2.
What can I do to resolve this situation? Thank you very much.
you know what would help more
if the installer detected any path/lib conflicts
and simply ignored other cygwin dlls
i have several cygwin based win32 apps,
from clamav, gtk , ghostscript , to gnuwin32.sf.net tools,
they're all in path,
they all have different cygwin dlls and versions,
and they all blisfully ignore each other,
only loading their own specific libraries
it should't be too difficult for cdrtfe to do this as well
it would make it a lot easier on folks like me
thank you very much
> simply ignored other cygwin dlls
This was the way previous versions of cdrtfe worked. But exactly this behaviour caused a lot of trouble. In most cases multiple copies of the cygwin1.dll cannot be used at the same time. The program that tries to load its version of the DLL while another version is being used already just fails.
> they all blisfully ignore each other,
> only loading their own specific libraries
And all these programs can be run at the same time, each one using a different cygwin1.dll? If this works, then you're really lucky.
Just tried to run two different programs, one using cygwin 1.5.14, the other cygwin 1.5.25. Completely isolated, no path entry. Result when starting the second pragram while the first is running:
So, both ways (isolating the DLLs / use one version of the DLLs via path) can cause problems. So, maybe it would be the best to let user choose how cdrtfe should behave?
BTW, Cygwin's solution for the problem is not to distribute any cygwin DLLs with your program but to require a complete cygwin installation. This, of course, makes it impossible to create a protable version of the programs.
bah, you're right, i was wrong, sorry
most of the stuff i mentioned are MinGW-ed version
and don't rely on cygwin
only clamav (clamscan.exe) had cygwin dlls
and it did fail with the shared memory stuff
a warning and letting the user decide would be good
thanks
> a warning and letting the user decide would be good
Right. The next version of cdrtfe will have the possibility to force the use of the included DLLs (via an additional ini file). If the installer detects the cygwin DLL within the search path, it will ask the user, which DLL should be used.
With cdrtfe 1.3 the installer and the archive of the portable version include a new version of the cdrtools (2.01.01a36). The new mkisofs (since 2.01.01a28) needs additional cygwin DLLs depending on the cygwin environment under which it has been compiled. In the case of the included mkisofs these are cygiconv-2.dll and cygintl-3.dll. All needed DLLs are distributed along with cdrtfe (see folder <cdrtfe-folder>\tools\cygwin).
However, to avoid version conflicts between the DLLs that come with cdrtfe and DLLs that may already be installed on the user's system, the DLLs from <cdrtfe-folder>\tools\cygwin are only used, if cdrtfe cannot find another cygwin1.dll within the search path. This may be the case if a complete cygwin environment is already installed and the folder <cygwin-folder>\bin has been added to the search path or if any other program added its version of the cygwin1.dll to the search path.
So, if cdrtfe detects a cygwin1.dll within the system's search path, all other needed DLLs are expected to be found within the search path, too. You get the error message above, if the cygwin1.dll has been previously installed by another program while cygiconv-2.dll and cygintl-3.dll could not be found.
How to solve this problem:
If you have a complete cygwin evironment on your system, then install the packages gettext and libcionv which will add the two missing DLLs. Be sure that <cygwin-folder>\bin has been added to the search path.
If the other cygwin1.dll comes with a program that does not need to be accessible via the search path, remove the program's folder from the path variable.
Or, more generally, either isolate multiple cygwin DLLs from different programs by not adding their respective path to the system's search path (in this case cdrtfe can use the included DLLs) or have just one place for all cygwin DLLs and make it available for all other programs by adding this location to the search path.
Hope this helps.
You're right. I've got a msys installation that includes cygwin1.dll. Because I need to have it in path, I tried to copy cygiconv-2.dll and cygintl-3.dll to msys' bin directory and now cdrtfe starts normally. May this be a good solution?
Thank you very much for your quick reply ;)
> May this be a good solution?
As long as all your applications work properly it's ok.
For now, everything seems to work nice :)
Thank you very much for your help. I think your work is great, keep on this way.
Happy new year! ;)
Hello,
I've a problem with cdrtfe. Each time I start it, it tells me "error on cdrecord.exe" and "error on mkisofs.exe"
And the cdrtfe tells me to :
"Warning:
No CD writer found. Nevertheless, images (data CD, XD) can be created."
Do you have any ideas?
I already uninstalled it, and deleted all config files... :/
Thanks.
> Each time I start it, it tells me "error on cdrecord.exe"
> and "error on mkisofs.exe"
This doesn't seem to be an error message from cdrtfe. Does the message show any further information? Which operating system is used?
> Do you have any ideas?
If you had no problems with an older version, try to use the cdrtools from cdrtfe 1.3pre2 (cdrecord 2.01.01a31, mkisofs 2.01.01a27). With the new release the cdrtools have been upgraded to version 2.01.01a36.
This also may be a problem with the cygwin1.dll. Try to use a different version than the included cygwin1.dll 1.5.14. E.g. http://www.student.tugraz.at/thomas.plank/index_en.html (or http://www.cygwin.com)
It was apparently a cygwin1.dll problem because I download the Thomas Plank's version and it's ok.
> I download the Thomas Plank's version and it's ok.
Fine. Which Windows version is being used?
I use Windows XP with SP2.
The thing that I don't understand it's the 1.3pr2 worked during some weeks, and one day, I got an error. So I uninstalled it and installed it again, and still an error...
But with this cygwin1.dll, the 1.3 final works really good. Thanks. :)