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

Assorted Fixes #1181

Closed
wants to merge 1 commit into from
Closed

Assorted Fixes #1181

wants to merge 1 commit into from

Conversation

Aatch
Copy link
Contributor

@Aatch Aatch commented Oct 16, 2013

This is a bunch of small fixes, mostly to the build system.

  • Add vim temporary files to .gitignore (.*.s??)
  • Adds a LINK_PAM option to force libpam to be linked. The detection isn't 100% and fails on my machine, however, there does not seem to be a way to detect another way
  • Removes the DEEPBIND flag in the call to dlopen for loading extensions. This seems to be the cause of DSO: Possible issue with thread-local data (affecting MemoryManager at least) #1174. At the very least, its removal fixed the issue for me
  • Stops CMake from using rpath. This was causing it to relink hhvm before installation, resulting in the systemlib disappearing, breaking make install.
  • Adds a link dependency to the target of an embed_systemlib call. It has to be a link dependency, as the custom command is run as a POST_BUILD command, meaning it cannot have dependencies added. This should fix When compiling dynamic extension, <ext.so> is not dependent on <ext.php> #1180.

@Aatch
Copy link
Contributor Author

Aatch commented Oct 16, 2013

Bah, broke it for running tests. Looks like it needs a bit more work to remove rpath usage.

@Aatch
Copy link
Contributor Author

Aatch commented Oct 16, 2013

So it seems that the build system needs more work than I though, so I'm trimming this down.

@scannell
Copy link
Contributor

Can I ask you to take the vim change out also as an artifact of how our merges work? I'm about to commit a superset of that change.

@scannell
Copy link
Contributor

(And, once you've done that: @sgolemon, as the resident cmake expert, can you merge this if it looks good?)

@ghost ghost assigned sgolemon Oct 17, 2013
@Aatch
Copy link
Contributor Author

Aatch commented Oct 17, 2013

@scannell done

@scannell
Copy link
Contributor

Thanks. @sgolemon said she would look at it soon.

@sgolemon
Copy link
Contributor

See comments inline on the individual diffs.

@scannell
Copy link
Contributor

@sgolemon, what are we doing with the rest of this?

@sgolemon
Copy link
Contributor

I've been hesitating on this last diff because I don't particularly like the approach of making the user make the decision on linking the library. On the other hand, I haven't had time to come up with something better.

If I don't put something together by tonight, I'll just merge this and go back and make a better fix later.

@sgolemon sgolemon closed this in e8b0e6a Oct 24, 2013
@sgolemon
Copy link
Contributor

btw... Just for the record, could you paste your c-client/linkage.h file somewhere? I'm curious what your build looks like that it both requires PAM and doesn't declare gss...

@Aatch Aatch deleted the small-changes branch October 24, 2013 23:26
@Aatch
Copy link
Contributor Author

Aatch commented Oct 25, 2013

@sgolemon this is my linkage.h file:

extern DRIVER mboxdriver;
extern DRIVER imapdriver;
extern DRIVER nntpdriver;
extern DRIVER pop3driver;
extern DRIVER mixdriver;
extern DRIVER mxdriver;
extern DRIVER mbxdriver;
extern DRIVER tenexdriver;
extern DRIVER mtxdriver;
extern DRIVER mhdriver;
extern DRIVER mmdfdriver;
extern DRIVER unixdriver;
extern DRIVER newsdriver;
extern DRIVER philedriver;
extern DRIVER dummydriver;
extern AUTHENTICATOR auth_ext;
extern AUTHENTICATOR auth_md5;
extern AUTHENTICATOR auth_pla;
extern AUTHENTICATOR auth_log;

Also, your patch causes ext_imap to not compile on my machine due to it (funnily enough) not finding auth_gss.

@kristapsk
Copy link
Contributor

I'm also now having problems with building on Gentoo:

/www/neonz/hhvm/hphp/runtime/ext/ext_imap.cpp: In member function 'virtual void HPHP::imapExtension::moduleInit()': 
/www/neonz/hhvm/hphp/runtime/ext/ext_imap.cpp:181:16: error: 'auth_gss' was not declared in this scope
     auth_link(&auth_gss);     /* link in the gss authenticator */ 
                ^

kristapsk referenced this pull request in skyfms/portage-overlay Oct 27, 2013
@kristapsk
Copy link
Contributor

Got ir building. For Gentoo, to have linkage.h auth_gss defined, net-libs/c-client must be rebuilt with kerberos USE flag enabled, which is disabled by default. Unfortunatelly, they have bug in app-crypt/mit-krb5-1.11.2-r1 package, which is dependency for c-client with kerberos, that fails to pull in required Python version for itself. Solution is to unmask app-crypt/mit-krb5-1.11.3 or upgrade python 2.7 by hand (didn't test myself, but should work).

@letharion
Copy link

@kristapsk Thank you for posting that back. I was hit by the same issue.

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

Successfully merging this pull request may close these issues.

When compiling dynamic extension, <ext.so> is not dependent on <ext.php>
5 participants