Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various build errors when building CloudI #30

Closed
AeroNotix opened this issue Sep 2, 2013 · 8 comments
Closed

Various build errors when building CloudI #30

AeroNotix opened this issue Sep 2, 2013 · 8 comments

Comments

@AeroNotix
Copy link

Hi,

When building CloudI I've ran into a couple of issues:

  • cpg_app seems to either:
    • throw an exception when trying to do scope transform due to:
escript: exception error: no function clause matching 
                 orddict:fetch(cpg_app,
                          [....])
  • Before the above error is thrown a clean make will lock and then throw an exception with: {error, eloop}

Any ideas?

My environment:

  • ArchLinux/x86_64

The versions of Erlang I've tried this with:

  • R16B
  • R16B_01
  • R16B_02

Let me know if there are any pertinent version numbers you need to know.

Full traces on demand.

Thanks in advance,
Aaron

@okeuday
Copy link
Member

okeuday commented Sep 2, 2013

The exception you are getting is occurring during a name change process that occurs within the CloudI source tree. For projects that want to include CloudI in their Erlang release, the CloudI dependencies are changed so that their module (and application) names will not conflict with anything else, making it possible to have two versions of the same dependency coexist. The script which is dieing with this exception is at src/lib/reltool_util/scope and is called within Makefile.am. The ELOOP error suggests you have some symbolic links in the directory hierarchy which is causing problems. If you have added symbolic links to new dependencies within the src/external directory, perhaps this could occur. It seems to think that the symbolic links are making a loop. However, if you had added a dependency within src/external, you would also need to add it to Makefile.am's command line for the scope script (so that it would add a cloudi_x_ prefix to the new dependency, before it gets put into the CloudI release). The scope script may take awhile to execute, and it may feel like make is locked if you have a slower machine, but I don't see a reason for the exception. Have you modified the directory structure?

@okeuday
Copy link
Member

okeuday commented Sep 2, 2013

One way to get the ELOOP error, when rebar is being ran, is to have it attempt to process an .app.src file that is a broken symbolic link. If you are attempting to add integration within CloudI, it will be easier if I can replicate your problem, so if that is the case, just commit/push the changes on your own fork, and I can look at the problem there.

@AeroNotix
Copy link
Author

I've literally just cloned the source and it's doing this.

I'm also not understanding why a simple call to sed is not sufficient for this?

@AeroNotix
Copy link
Author

By the way - I've just got it working by changing my shell from Bash to Zsh. The version of bash I was using is 4.2.45(2).

@okeuday
Copy link
Member

okeuday commented Sep 3, 2013

That is very strange, that the shell would matter in this case. I test using bash, just due to it being a common default. The reason a simple sed call isn't used, is because some of the changes are specific to the usage based on the file type. The process uses a regex to recognize atoms, as they are normally used, which covers normal source code, and avoids problems that would otherwise exist with things like igor, where the atoms in childspecs of a supervisor couldn't be changed because their context is unknown (the atom usage is not understood by igor). If you can get any further information about the problems, perhaps by trying the build a second time, that would be helpful. Just paste the output when it dies, and I can attempt to recreate it... or try to mention where the eloop occurred.

@AeroNotix
Copy link
Author

Well, I'm not lying about the bash/zsh issue. It totally cleared it up. Can you try using the bash version I mentioned?

@okeuday
Copy link
Member

okeuday commented Sep 3, 2013

I don't doubt what you experienced. What I question, is whether your hard drive is starting to fail and if that is the reason for intermittent filesystem errors during the CloudI build. I am going to need some type of confirmation. I could try installing a virtualized archlinux installation. What version of archlinux are you using? (I know your packages might always be getting updated, but a date of your last package update could help narrow down the installation)

@AeroNotix
Copy link
Author

ok, I'll try and reproduce on a clean room install and I'll get back to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants