-
Notifications
You must be signed in to change notification settings - Fork 235
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
Error: must pass a package name, “DLLInfo” or “DllInfoReference” object #822
Comments
The problem is this commit: dynamic libraries are not compiled, even if they don't exist. It should probably be |
In the mean time I'll just do a |
It definitely shouldn't be |
Maybe you could make |
My expectation is that most people are documenting after a I agree that it would be nice if pkgload failed more gracefully if |
I think #771 & #776, or people like them, would be happiest if documentation could be created without the necessity to build dlls at all, whether done by |
This is clearly a continuation of #771 which I filed months ago, and which was closed 17 days ago. It is however not fixed. So I have to continue to use version 6.0.1 which to me is the last non-borked one for the sole use case I have here. Which is creating Rd files from R files. Which is what this package was about at some point. |
With some changes to pkgload it might be possible to load only the R code but never the DLL.? |
This is a continuation of #784, where I asked for help testing the feature, and no one responded. Obviously, roxygen2 works just fine for me, so I need help from the community. @krlmlr that would seem to me to be a weird abuse of pkgload. It shouldn't create simulated packages that can't work. I think the approach that you outline in |
We can end up in a broken state too with What do we need the loaded package for? |
It is not my workflow and I got bitten by this just now. It means I have to update all my build travis build scripts in pkgs with compiled code to avoid build failures. Considering that part of my pkgs are free time projects, this unannounced change in behavior is less than friendly to an open source developer like me. |
@markvanderloo I have been making these changes in response to user requests. It's not my intent to break your code. However, your comment would be more helpful if you could describe exactly what your workflow is, so I could avoid disrupting it in the future. I can not help you if you do not tell me what the problem is. |
Any use of And I said so over three months ago in #771. And it is still broken, and I am still forced to rely on 6.0.1. |
@eddelbuettel Does what? We have made at least 3 changes to roxygen2 and pkgbuild to ameliorate your issues, but without a reproducible example, it's hard to know what the problem is. |
Just to be absolutely sure I'm not confused, I just re-installed roxygen2, and ran > roxygen2::roxygenise()
Updating roxygen version in /Users/hadley/Documents/r-lib/vctrs/DESCRIPTION
Writing NAMESPACE
Loading vctrs
Writing NAMESPACE
Writing vctrs-package.Rd It also works if I do |
I'm seeing errors when running |
Why do you waste your (and my) time dragging me into a debate about this? I reported it in #771 on August 3 (!!), and showed how I triggered it (calling a simple and standard rob:~/git/rquantlib(master)$ Rscript -e 'library(roxygen2); roxygenize(".", roclets="rd")'
Updating roxygen version in /home/edd/git/rquantlib/DESCRIPTION
Loading RQuantLib
Error in getDLLRegisteredRoutines.DLLInfo(dll, addNames = FALSE) :
must specify DLL via a “DLLInfo” object. See getLoadedDLLs()
Calls: roxygenize ... assignNativeRoutines -> getDLLRegisteredRoutines.DLLInfo
In addition: Warning message:
roxygen2 requires Encoding: UTF-8
Execution halted
rob:~/git/rquantlib(master)$ For comparison, here is a call that works following by the same one that fails: rob:~/git/rquantlib(master)$ roxy.r
** Using cached version 6.0.1 of roxygen2.
Loading required package: methods
Loading required package: Rcpp
Loading required package: stats
Loading required package: graphics
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
rob:~/git/rquantlib(master)$ Rscript -e 'library(roxygen2); roxygenize(".", roclets="rd")'
Updating roxygen version in /home/edd/git/rquantlib/DESCRIPTION
Loading RQuantLib
Error in getDLLRegisteredRoutines.DLLInfo(dll, addNames = FALSE) :
must specify DLL via a “DLLInfo” object. See getLoadedDLLs()
Calls: roxygenize ... assignNativeRoutines -> getDLLRegisteredRoutines.DLLInfo
In addition: Warning message:
roxygen2 requires Encoding: UTF-8
Execution halted
rob:~/git/rquantlib(master)$ |
@hadley I generate documentation build time. Usually using a custom document.r executable script, sometimes with some options. e.g I like to generate the pdf manual using R CMD Rd2pdf while reviewing and updating it. I do a lot of coding in vim + bash with a few helper scripts or makefiles. (I do interactive data analyses in RStudio, but package coding a lot less). not sure if this helps. Doing a |
I should add that it does not hit every package every time, but it is frequent enough (and I sometimes have to disable roxygen use in an RStudio profile as the error above gets triggered). I don't know exactly what triggers it, and the roxygen2 code is on the complicated side of things so I didn't find a hook. |
@eddelbuettel I'm trying to get information from you that you have not previously supplied (the issue that you link to complains that roxygenise doesn't work and links to a script but does not provide any output). If you think this is a waste of your time and you're happy with your work around, there's no need to continue this discussion. @markvanderloo I said |
Please. I filed a bug report on August 3. The issue is still open. I said that right there and then that |
Here it is, again, on a smaller repo. It does not always happen, but when it happens it is deadly. edd@brad:~/git/anytime(master)$ Rscript -e 'library(roxygen2); roxygenize(".", roclets="rd")'
Updating roxygen version in /home/edd/git/anytime/DESCRIPTION
Loading anytime
Error in getDLLRegisteredRoutines.DLLInfo(dll, addNames = FALSE) :
must specify DLL via a “DLLInfo” object. See getLoadedDLLs()
Calls: roxygenize ... assignNativeRoutines -> getDLLRegisteredRoutines.DLLInfo
Execution halted
edd@brad:~/git/anytime(master)$ |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
After some modifications on the package
Now, I decided to go first to |
roxygen will now compile code in src when needed, which should fix most of the problems in this thread. If you don't want roxygen2 to compile your source code, you have two options:
|
Currently, I am working on updating an R package ( Using the where So, in order for |
I tried to look at your package to see my "solution" of relying on the older version works, but your package / repo seems non-standard so I can't. edd@rob:/tmp/rigraph(update/0.8.0)$ roxy.r
** Using cached version 6.0.1 of roxygen2.
First time using roxygen2. Upgrading automatically...
Error: File `/tmp/rigraph/DESCRIPTION' does not exist
edd@rob:/tmp/rigraph(update/0.8.0)$ |
@eddelbuettel , thanks for taking a look! The package first needs to be bootstrapped by calling |
Very non-standard build. Something somewhere which I cannot find seems to require |
Yes, indeed, hence some of the issues that arise. Thanks for taking a look nonetheless. Regarding the problem with
If I understand it correctly, running |
@vtraag: Can you please try the dev version of the pkgload package? |
Install it via |
@krlmlr, thanks, but that unfortunately that does not solve things. The problem is also understandable:
Does the "work outside of roxygen2" here effectively refer to the type of catch-22 situation that I outlined? The alternative of using |
Running
builds the R package, including the docs just fine. |
The problem is that the generated Note that the workaround of creating a temporary dummy |
This does not really belong into a closed issue of roxygen2.... but there is no setup or anything:
This does not error anywhere for me. |
You are right:
Notice the |
Try to run the make steps one by one, and then go into the temporary directory ( I suspect that your tree is not functional, is this the |
The problem appears with |
@gaborcsardi , I can try to see if I can debug the issue further for |
Oh no, if it works with the new version, that's fine. |
The recent v6.1.1 update causes the following error on Travis:
https://travis-ci.org/mlr-org/mlr/jobs/451819776#L2685
The error does not appear with v6.1.0. Also it just appeared today after v6.1.1 was released on CRAN.
Using
devtools::document(".")
works in some instances. I think this could be related to the change made in #704?The text was updated successfully, but these errors were encountered: