Skip to content

Build issues #3

Description

@ktm5j

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions