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

Build issues #3

Open
ktm5j opened this issue Jan 16, 2020 · 0 comments
Open

Build issues #3

ktm5j opened this issue Jan 16, 2020 · 0 comments

Comments

@ktm5j
Copy link

ktm5j commented Jan 16, 2020

Hi! Sorry to open a new issue before following up on the first one, but I'm having trouble building my project.

I've been using the ~master branch of this repo because of features that are missing from v0.0.1. But I've just noticed that d++ is outputting some error text into source/symmetry/api/libzfs_core.d that probably shouldn't be there.

I encountered this issue while trying to build under Ubuntu 19.04. Originally I couldn't build at all because this error text was placed into a code block. I've been missing this when building under Voidlinux because the text was placed into a comment block. Here's what I'm seeing:

string[string] zfsInheritProperties(string name, string[string] args)
{
 return zfsIoctl(ZFS_IOC_SNAPSHOT_LIST_NEXT,name,args);
}

@SILdoc(`Create a ZFS filesystem or a ZFS volume (zvol)                                                                    
Params:                                                                                                                    
 string name - name of the dataset to be created                                                                           
 DataSetType datasetType - dataset type (either zfs for a filesystem or zvol for a volume                                  
 string[string] propertiessource/symmetry/api/libzfs_core.d.tmp:9602:67: warning: missing terminating ' character          
 9602 |     NameTooLong: if the dataset name is too longor  if the dataset's origin has a snapshot that, if transferred to\
 the dataset, would get a too long name.                                                                                   
      |                                                                   ^                                                
source/symmetry/api/libzfs_core.d.tmp:9605:98: warning: missing terminating ' character                                    
 9605 |     SnapshotExists: if the dataset already has a snapshot with the same name as one of the origin's snapshots.     
      |                                                                                                  ^                 
source/symmetry/api/libzfs_core.d.tmp:9625:38: warning: missing terminating ' character                                    
 9625 |     FilesystemNotFound: if the target's parent does not exist.                                                     
      |                                      ^                                                                             
 - a dictionary od ZFS dataset property name-value pairs                                                                   
 ubyte[] encryptionKey - dataset encryption key data                                                                       
    

I think the difference in where the error text is placed has to do with the version of gcc that d++ was built with. I think the version of llvm/clang also has some impact, but I haven't been able to determine any pattern. However I'm more sure about gcc-7 vs gcc-8 being a factor.

It looks like the real issue here is in d++ encountering errors while your preGenerateCommands are being run. There's some place in libzfs_core.dpp that's being interpreted as code instead of a comment.

If you know of a quick way to fix this I would be eternally grateful! Otherwise I'll see if I can find the root of the problem, but it will probably take me a while

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

1 participant