In the 13.1 ocaml package, the ocamlopt (native code) tool is broken. It can't find the assembler.

The interactive ocaml tool works fine:

duke@ee:~/Documents> ocaml
        OCaml version 4.01.0

# let () = 
  print_endline "Hello, world!";;
Hello, world!
# exit(0);;

However, the (native code) example dies:

In the file
  let () =
  print_endline "Hello, world!"
duke@ee:~/Documents> ocamlopt -o hw
sh: as: command not found
File "", line 1:
Error: Assembler error, input left in file /tmp/camlasmd7b8ce.s

This example is taken verbatim from A hello world kernel.

This probably should be submitted as a bug. If so, please remind
me where and how to do that.

This has been submitted as Bug 891177.

While you’re waiting for resolution on that,
You might try running 12.3 in a virtualized environment and installing ocaml for 12.3.

Just install and run some type of virtualization on your machine so you can run an isolated instance of 12.3 (many good choices depending on your machine’s resources).

If this is all too new to you, post back with specific questions.


Easier said than done. I have VirtualBox on my machine. I just spent an hour installing SuSE 12.3-64 in a new VM, and testing it. It is the first time I have tried running a 64-bit OS inside a VM. VBox thinks it can do it. It offers a particular option for installing an “openSUSE (64 bit)” OS. However, after openSuSE boots from the welcome screen and goes through lots of “OK” messages, it produces a black screen, and nothing more. After 5 minutes, I let VBox “Send it the shutdown signal” which does cause it to shut down. The “Advanced Options” only give me the choice between “openSUSE 12.3 with Linux 3.7.1” or “openSUSE 12.3 with Linux 3.7.1”. The character strings look identical to me. Both result in the black screen.

At the grub screen, press e to edit and at the end of the line labeled linux… add nomodeset and press F10 to boot. Else maybe VirtualBox needs the guest additions.

Entering “e” at the Grub boot gets different text to edit depending whether it is inside or outside the “Advanced” choice. Outside, I get what looks like the Grub menu source. Inside, I get the first line including Linux, (specifically on the second of the two identical choices):

setparams 'openSUSE 12.3, with Linux 3.7.10.\
1-desktop (recovery mode)' nomodeset

Is this where I should put the “nomodeset,” or should it go inside the single quote, perhaps removing “(recovery mode)”? The Grub manual appears to be concerned only with setting up Grub itself, so I’m guessing that “nomodeset” is a specific message to SUSE or Linux.

With this change, I still just get a black screen. I have put the Guest Additions in the drive, but I don’t think SuSE can make use of it until it comes up with a terminal.

Is there a change I can make to tell it to skip the GUI interface, and just boot into a shell? Or should I punt, and try recovery mode with the install disk? How, there, can I keep it from booting into the GUI. All I want to do for now is fire up YaST2, install ocaml and test its performance on the command line.

Ahh it’s 12.3, so when the grub menu comes up is there an options box at the bottom? If so enter nomodeset there. Perhaps grab a screen shot and post it with a link back to it here in the thread.

There is a “Boot options” line during the install, but not when the “installed” system is booting. I have deleted that VM, and I’m reinstalling with Minimal Server Selection (Text Mode).

Thanks for the help folks, but if this doesn’t run, I’ll either wait for the bugfix in 13.1 or install ocaml directly from their materials, bypassing the SuSE repository.

This thread is now complete. Using 12.3 with just a command prompt, I could download ocaml with yast2 and verify that ocamlopt works properly there. (And it’s amazing how much smaller the OS is on the HD!)

I have also found that ocaml lives in (at least) 2 places in the 13.1 repositories, and the two I have found are both broken. I will be updating the bug report when I have more information.