Dynamic C From Linux Command Line Through Wine

Anyone have any luck running Dynamic C compiler through Wine on Linux?

It seems like the standard installation works ok with the IDE, but would like to automate the process and I am getting write-protection errors when invoking just the compiler.

“Error Unable to create compiler temporary file ‘/usr/local/bin/DCRABBIT_10.72E/h
A write-protected copy already exists.”

It seems as if the compiler is creating this file, as creating/changing permissions has no effect.

Has anyone successfully run Dynamic C from Linux command line?

1 Like

Still getting many errors, but I was at least able to generate an object file by removing the ${location} path from in front of the c file in the script. Not sure why this would cause issues though.

wine ${location}/Dccl_cmp.exe hello.c -h+ -br -rf ${location}/hello.rti

The command-line compiler creates multiple files in the source file’s directory, in addition to the .BIN file.

It will also need to write files to its Bios directory, when it compiles the RabbitBios.c file. But I think you could change that location in Default.dcp (the BIOS File= entry) to a directory outside of /usr/local/bin.

And it will create .MD1 and .HX1 files in the Lib directory. You can relocate that directory by editing LIB.DIR from the Dynamic C installation, or saving a modified copy of that file elsewhere and referencing it in the LIB File= entry from Default.dcp (or a custom project file you specify on the command line).

Let me know if you hit any further roadblocks. If you write up some documentation on using it from Wine, we could add it to the DCRabbit_9 and/or DCRabbit_10 repositories on GitHub.

I’m currently stuck without a way to build from command line (despite having done it successfully with a test project) due to some existing project filepath dependencies I haven’t figured out how to resolve.

I think once I can correctly point to project files in any location, and install the IDE in any location, I can get this working and write up some documentation.

I am ok building directly in the IDE for now, though I would like to automate the process. I figure between the sunsetting of this product line and the lack of response here, this is not a pressing issue for many people.

I know that 15-20 years ago, there were people interested in using wine to run Dynamic C, but there isn’t much active development going on now.

I would think that if you can compile from the IDE, using that same project file with the command-line compiler would work. Note that the IDE doesn’t use the command-line compiler. Those apps were two separate projects that directly linked the compiler code.

Don’t hesitate to ask me for help when you run into trouble, or if you have questions about compiler internals.

Good to know about the compilers being different.

The problem I am having right now might actually be wine permissions-related trying to jump to different directories during the build process. If I put a test project in the same directory as all the Rabbit files in linux userspace, I can build ok from the command line.

The project I need to build is looking for files in a specific directory structure on the virtual C:\ drive. Creating this specific directory structure, I can build ok in the IDE.

I have tried relocating the project and remapping the include paths, but still running into errors about files not being found. I believe figuring out these errors will solve my problem, but I need to understand the project a little better before trying to recreate it with the source files in a different location.