Implicit function declaration warnings

Hi All,
Code look likes below,
#include <stdio.h>
#include <errno.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/ipc.h>
int main()
struct sigvec *svec;
int sig;
sigvec(sig, &svec, NULL);
return 0;
When i compile this with forte 4.2 compiler its not throwing any warnings. and when compiled with forte 6.2 its throwing warning as:
"imp.c", line 9: warning: implicit function declaration: sigvec
How can i resolve this.
Compile:
cc -g -o imp imp.c -lnsl -lucb
And cc location is : /opt/forte62/SUNWspro/bin/cc
Output of uname -a :
SunOS server1 5.9 Generic_117171-17 sun4u sparc SUNW,Sun-Fire-V440
For PATH variable i given /opt/forte62/SUNWspro/bin prior to /usr/ucb.
Thanks & Regards,
Sarath.

In the same way i am facing one more problem:
Below is the sample c code.
#include <stdio.h>
#include <errno.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/ipc.h>
int main()
struct sigvec svec;
int sig;
svec.sv_flags = 0;
svec.sv_mask = 0;
sigvec(sig, &svec, NULL);
return 0;
if I compile this getting errors like this.
cc -g -o imp imp.c -lnsl -lucb
"imp.c", line 8: incomplete struct/union/enum sigvec: svec
"imp.c", line 10: undefined struct/union member: sv_flags
"imp.c", line 11: undefined struct/union member: sv_mask
cc: acomp failed for imp.c
my PATH variable is set to : (I tried by putting /opt/SUNWspro/SC4.2/bin before /usr/ccs/bin also)
/usr/java1.2/bin:/usr/ccs/bin:/usr/atria/bin:/opt/SUNWspro/SC4.2/bin:/usr/local/bin::.:/usr/java1.2/bin:/usr/ccs/bin:/usr/atria/bin:/opt/SUNWspro/SC4.2/bin:/usr/local/bin::.:/usr/bin::/usr/atria/bin:.::/usr/java1.2/bin::/usr/java1.2/bin
and LD_LIBRARY_PATH is set to :
/opt/SUNWspro/SC4.2/bin:/usr/ucblib:/usr/lib:/usr/lib:/usr/java1.2/bin:/opt/SUNWspro/SC4.2/bin:/usr/ucblib:/usr/lib:/usr/lib:/usr/java1.2/bin:/opt/SUNWspro/SC4.2/bin:/usr/ucblib:/usr/lib:/usr/lib:/usr/java1.2/bin:/usr/ucblib:/usr/lib:/usr/lib:/usr/java1.2/bin:::
output of which cc is :
/opt/SUNWspro/SC4.2/bin/cc
If I compile the same with /usr/ucb/cc then its going through.
/usr/ucb/cc imp.c
Regards,
Sarath

Similar Messages

  • Receiving warning: implicit function declaration: memset

    We have the Sunstudio 11 compiler: Sun C 5.8 2005/10/13 and I created a C program and am receiving the above message:
    include <stdio.h>
    #include <stdlib.h>
    int
    main(int argc, char** argv)
    char formatString[200];
    memset(formatString, 0, sizeof(formatString));
    if (argc != 2)
    fprintf(stderr, "Usage: %s: argument\n", argv[0]);
    return (1);
    sprintf(formatString, "Hello %s, from old hello world program", argv[1]);
    printf("%s\n", formatString);
    return (EXIT_SUCCESS);
    When I compile, I receive
    "warning: implicit function declaration: memset". I also have code that uses strcpy and strcmp and I receive:
    warning: implicit function declaration: strcpy
    warning: implicit function declaration: strcmp
    When I compile with Workshp 6.2, this warning does not occur. This problem is a prototype issue. In Workshop 6.2, this was resolved if the string.h was not included. The compiler searched until it found the correct header. Is there a way to get the compiler to do what Workshop did?

    Thanks, I was just wondering why in 6.1 it was resolved. By including the appropriate header, the problem goes away. With the stub, I wrote, the program compiled on 6.1 with no warnings. But with studio, it compiled with the warning. This was a little bit strange. The developer really should include the appropriate header.

  • What is the difference between the function declared in the package and pac

    What is the difference between defining a function in the package and package body ?
    Edited by: user10641405 on Nov 19, 2009 1:29 PM

    If you describe a package, you will only see the functions declared in the spec.
    If you only declare them in the body then they are not available to other packages (they are private to the package, not public)

  • Is there a way to curve fit a nonlinear implicit function?

    Hi
    I would like to fit a least squares curve to a set of data points.  I see I can do this using general LSQ fit.vi or Levenberg-Marquadt, but these VIs seem to only handle implicit functions of the form y=f(x,A). 
    What if I have a data set from a known implicit function, for example a circle:
    (x-x0)^2 + (y-y0)^2 - r^2 = 0
    How can I calculate the x0, y0 and r that minimizes the square error?  Can this be done using the L-M VI or a VI from a different toolkit?
    Thank you.
    Laine

    This can be considered as an optimization problem. For a circle, you could use the fitting on a sphere vi (in the math > optimization sub-palette), giving 0 as z coordinates.  See the attached vi.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Find Circle.vi ‏26 KB

  • Regular exression for matching function declarations or calls

    Hi guys,
    I used a regular expression like \\w + (\\s*) \\( .*\\) (\\s*) [\\{;] to match function
    declarations.This regular expression works fine for all the declarations of the form init_queue(TREE **NODE) {  and even for declarations of the form
    init_queue (TREE **NODE)
    But the problem occurs when i have a declaration of the form
    init_queue(TREE **NODE ,
    int size ) {
    when i have a declaration of this form my regular expression doesnt parse function names.The regular expression . (DOT) means it recognizes anything except for line terminators.So i used the DOTALL option in pattern matching so that .(DOT) matches even line terminators.But using this has a negative effect like i am not able to match declarations of the form
    init_queue(TREE **NODE) { 
    can anyone help me out in solving this
    Thank you,
    Akash

    multipost: http://forum.java.sun.com/thread.jspa?threadID=5168705

  • [Vim] CTags misses function declarations

    So I'm trying to set up C auto-completion in GVim using Omnicppcomplete, but it seems ctags is lazy on its job.
    For example, when I type
    ctags -R /usr/include/gtk-2.0
    ctags creates an incomplete tags file. Functions such as gtk_window_new() are not detected, and so I only have a partial auto-completion.
    Am I the only one to have this issue?

    darthaxul wrote:If your gonna be programming you must grab a better app such as medit, way easier config with mouse support also.
    Well, I couldn't disagree more with this comment If you want to be productive, try to forget about the mouse and learn to use the keyboard and the powerful editing capabilities of vim efficiently. I tried some IDEs (eclipse, kdevelop, netbeans) which had some nice features, but the editors were always lacking and they are too mouse oriented for my taste. Therefore I always kept coming back to vim.
    W.r.t. plugins, I do not really use many. Omnicompletion and ctags (and I have a background script running wich updates the tag file every minute) which I use regularly. With ctags you can find the declaration and implementation of symbols. And I think omnicomplete has some options for displaying the function prototype, like you want (I know I deactivated it, because for me it was too intrusive most of the time). I also have taglist installed, but I do not use it often.
    From the standard editing capabilities, what you should definitely look at is:
    - Define the indentation as you like it
    - Toggle highlighting of search terms on demand (I have this mapped on \s)
    - Use the "." command
    - Compile and jump to errors from within vim
    - Visual rectangle mode
    There are probably more, but these are the first that come to mind. If you really learn to use the extensive editing capabilities of vim, you probably will be equally efficient (or more) than with en IDE. After all, most of the time you are only editing.
    And to go to the "lacking aspects": what I really miss are refactoring tools, e.g. for changing the name of a class or a method of a class. This would be quite a useful addition and something where (some of) the IDEs have a clear advantage.
    Last edited by davvil (2009-06-05 09:38:52)

  • Newbie Function Declaration Question

    I'm getting a "method undeclared" error in XCode on my method "useOpenFileToGetFSRef".
    INTERFACE:
    @interface MyDocument : NSPersistentDocument {
    IBOutlet NSString *nameOfSourceFile;
    - (IBAction) getSourceFile:(id)sender;
    - (FSRef) useOpenFileToGetFSRef; //THIS IS THE METHOD I'M TRYING TO DECLARE
    @end
    IMPLEMENTATION:
    @implementation MyDocument
    - (FSRef)useOpenFileToGetFSRef //NO COMPILE ERROR FOR THIS LINE
    //function body...
    - (IBAction) getSourceFile:(id)sender{
    FSRef theFileFSRef = useOpenFileToGetFSRef; //COMPILE ERROR: 'useOpenFileToGetFSRef' UNDECLARED
    FSRef a = theFileFSRef;
    //more...
    @end
    How do I correct this? Thanks in advance for any info.

    Write it as a function:
    FSRef useOpenFileToGetFSRef(void)
    of course, you won't have access to any of the data structures in the document.

  • How can I invoke functions declared in my DocumentClass, Please?

    Hello Everyone,
    I have been at it for days now and don't know how to get this going. I have DocumentClass and I have a simple function which returns stage width. I now would like to call this function from othr class which exist within the same package as my DocumentClass. I am able to trace the stage width when I invoke stageWidth() function from the DocumentClass. As I to understand, if the function is public, and it is being accessed by a class that exist within the same package, I should be able to access the function withou any issues. And If I declare the function as STATIC then it is global and can be accessed by classes from other packages. Can anyone help me understand what am I doing wrong, please.
    Function that I have written:
    public function stageWidth()
       return stage.stageWidth;
    I am calling this function from Background class by class reference like this:
    DocumentClass.sWidth();
    I get this error:
    1180: Call to a possibly undefined method sWidth.
    Appreciate all your help. Thank you.

    In addition to my previous replies.
    Why do you need to access stage parameters via calling DocumentClass method? Stage is accessible by all the objects placed on it. So, in your Background class you can read stage.stageWidth directly. Again, this is given that the instance of Background is added to stage.
    Also, your Background class must extend some DisplayObject because, obviously, it will become an object to be displayed. Most often it is Sprite. In the code example below I added listeners for both when Background instance is added to stage and when it is added to display list. Observing the sequence may be very educational.
    So you class Background shoul look like this:
    package com.as3.learning {
        import flash.events.*;
        import flash.display.*;
        import flash.text.*;
        public class Background extends Sprite
            public function Background()
                trace(this + " constructor");
                // listen to when it is added to display list
                addEventListener(Event.ADDED, onAddedToList);
                // listen to when it is added to stage
                if (stage) init();
                else addEventListener(Event.ADDED_TO_STAGE, init);
            // this method can be called in two cases:
            // 1. when the instance is placed on stage and
            // 2. before it is placed.
            public function init(e:Event = null):void
                removeEventListener(Event.ADDED_TO_STAGE, init);
                // only now stage is available
                trace(this + ".init: stage.stageWidth: " + stage.stageWidth);
                trace(this + ".init: DocumentClass.sWidth() = " + DocumentClass.sWidth());
            private function onAddedToList(e:Event):void
                trace(this + ".onAddedToList: stage.stageWidth: " + stage.stageWidth);
                trace(this + ".onAddedToList: DocumentClass.sWidth() = " + DocumentClass.sWidth());

  • Function Declaration Syntax - Best Practices

    Id there any difference between these two declarations?
    If not, is one better that the other?
    sym.myFunction = function(parameter1,parameter2){
          // do stuff here 
         or
    function myFunction(parameter1,parameter2){
          // do stuff here 
    I'm seeing examples of both
    Thanks
    Mathias

    sym.myFunction
    Allows you to access the function anywhere else in your project, using this syntax: sym.getComposition().getStage().myFunction();
    function myFunction
    Is a local function scoped to the current object, and is not accessible by other objects.

  • Cursor problem in PL/SQL function declaration

    Is it possible to declare a cursor in a pipelined function? Because I get errors when I try to do this.
    like this:
    create or replace function myFunctionName(id number) return number pipelined is
    out number;
    cursor myCursor (id number) is select * from mytable;
    begin
    open myCursor;
    end;
    If it is not possible, which other way I should use?
    Thanks,
    Mathieu

    Ok here is an example of a script that doesn't work:
    drop type numset_t;
    drop type num_type2;
    create or replace type num_type2 as object (x number(4), y number(4));
    create or replace type numset_t as table of num_type2;
    create or replace function f1(x number) return numset_t pipelined is
    out number;
    cursor myCursor is select * from cat;
    begin
    for i in 1..x loop
    pipe row(i);
    end loop;
    return;
    end;
    show errors;
    It gives me that output in sqlplus:
    SQL> @test
    Type dropped.
    Type dropped.
    Type created.
    Type created.
    Warning: Function created with compilation errors.
    Errors for FUNCTION F1:
    LINE/COL ERROR
    6/7 PL/SQL: Statement ignored
    6/16 PLS-00382: expression is of wrong type
    And here is what I get when I do:
    SQL> select * from cat;
    TABLE_NAME TABLE_TYPE
    TAXONTMP TABLE
    TMP_CMBSEQID2UPI TABLE
    Any idea?
    Thanks,
    Mathieu

  • PB in RFC function declaring table as CHANGING

    Hi all,
    I wrote an RFC function to get data between 2 SAP systems. I've to transmit to this function select-options felds. Therefor I've created a changing parameter in the function  I_LFDAT type RSPARAMS_TT which is a table type with structure RSPARAMS.
    I did it by this way as 'Tables are obsolete' in RFC functions.
    My problem is that by calling the function I've a dump saying ' (ungültiger Datentyp 17)'. This means the parameter is not correct.
    I checked anything and the table I'm sending has the same structure as the receiving parameter
    thanks in advance for your help

    Hello Fred
    I am not really a fan of CHANGING parameters in fm's.
    Since you have the table type RSPARAMS_TT I would recommend to use the following approach:
    DATA:
      lt_seloptions   TYPE rsparams_tt.  " itab with select-options
    " fm signature with 2 parameters:
      IMPORTING
        it_selopts = lt_seloptions
      EXPORTING
       et_selopts = lt_seloptions
    The RFC-fm gets IT_SELOPTS as input, can change them, and returns them as EXPORTING parameter ET_SELOPTS.
    Regards
      Uwe

  • [Function] Declare a internal table with structure name (entry parameter)

    Hi all,
    I'm explaining my problem :
    I want to create a function with two parameters in entry :
    (IMPORT)  - structure_name with type DD02L-TABNAME
    (TABLES) - t_outtab with empty type
    t_outtab will be in structure_name type.
    Now, in my source function, I want to retrieve all contain of t_outtab in another internal table or field-symbol. I don't know in advance the used structures in my function entries.
    I don't manage to get this contain, cause I can't do :
    DATA : internal_table TYPE structure_name*
    OR
    DATA : internal_table TYPE (structure_name)
    OR used field-symbol
    DATA : internal_table TYPE <fs>*  where <fs> had structure name value.
    To do more later :
    *DATA : line LIKE LINE OF internal_table. *
    *internal_table][ = t_outtab][. *
    And work with this table.
    _ I tried different solutions like : _
    Get the structure of the table.
      ref_table_des ?= cl_abap_typedescr=>describe_by_name( I_STRUCTURE_NAME ).
      idetails[] = ref_table_des->components[].
    Get the first structure table of result table
    LOOP AT idetails INTO xdetails.
        CLEAR: xfc.
        xfc-fieldname = xdetails-name .
        xfc-datatype = xdetails-type_kind.
        xfc-inttype = xdetails-type_kind.
        xfc-intlen = xdetails-length.
        xfc-decimals = xdetails-decimals.
        APPEND xfc TO ifc.
    ENDLOOP.
    Create dynamic internal table and assign to FS
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = ifc
        IMPORTING
          ep_table        = dy_table.
      ASSIGN dy_table->* TO <dyn_table>.
    Create dynamic work area and assign to FS
      CREATE DATA dy_line LIKE LINE OF <dyn_table>.
      ASSIGN dy_line->* TO <dyn_wa>.
    and retrieve to <dyn_table>[] = t_outtab[].
    the but I don't try the solution. If someone have an idea.
    Thanks and regards.
    Romain
    Edited by: Romain L on May 14, 2009 11:35 AM

    Hi,
    We can acheive this using dynamic internal tables.
    Please find sample below.
    *Creating Dynamic internal table 
      PARAMETERS : p_table(10) TYPE C.
      DATA: w_tabname TYPE w_tabname,            
            w_dref TYPE REF TO data,             
            w_grid TYPE REF TO cl_gui_alv_grid. 
      FIELD-SYMBOLS: <t_itab> TYPE ANY TABLE. 
      w_tabname = p_table. 
      CREATE DATA w_dref TYPE TABLE OF (w_tabname).
      ASSIGN w_dref->* TO <t_itab>.
    * Populating Dynamic internal table 
      SELECT *
        FROM (w_tabname) UP TO 20 ROWS
        INTO TABLE <t_itab>.
    * Displaying dynamic internal table using Grid. 
      CREATE OBJECT w_grid
        EXPORTING i_parent = cl_gui_container=>screen0. 
      CALL METHOD w_grid->set_table_for_first_display
        EXPORTING
          i_structure_name = w_tabname
        CHANGING
          it_outtab        = <t_itab>. 
      CALL SCREEN 100.
    * Scenario 2: 
    *Create a dynamic internal table with the specified number of columns. 
    * Creating Dynamic internal table
    TYPE-POOLS: slis.
    FIELD-SYMBOLS: <t_dyntable> TYPE STANDARD TABLE,  u201C Dynamic internal table name
                   <fs_dyntable>,                     u201C Field symbol to create work area
                   <fs_fldval> type any.              u201C Field symbol to assign values 
    PARAMETERS: p_cols(5) TYPE c.                     u201C Input number of columns
    DATA:   t_newtable TYPE REF TO data,
            t_newline  TYPE REF TO data,
            t_fldcat   TYPE slis_t_fldcat_alv,
            t_fldcat   TYPE lvc_t_fcat,
            wa_it_fldcat TYPE lvc_s_fcat,
            wa_colno(2) TYPE n,
            wa_flname(5) TYPE c. 
    * Create fields .
      DO p_cols TIMES.
        CLEAR wa_it_fldcat.
        move sy-index to wa_colno.
        concatenate 'COL'
                    wa_colno
               into wa_flname.
        wa_it_fldcat-fieldname = wa_flname.
        wa_it_fldcat-datatype = 'CHAR'.
        wa_it_fldcat-intlen = 10.
        APPEND wa_it_fldcat TO t_fldcat.
      ENDDO. 
    * Create dynamic internal table and assign to FS
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = t_fldcat
        IMPORTING
          ep_table        = t_newtable. 
      ASSIGN t_newtable->* TO <t_dyntable>. 
    * Create dynamic work area and assign to FS
      CREATE DATA t_newline LIKE LINE OF <t_dyntable>.
      ASSIGN t_newline->* TO <fs_dyntable>.
    *Populating Dynamic internal table 
      DATA: fieldname(20) TYPE c.
      DATA: fieldvalue(10) TYPE c.
      DATA: index(3) TYPE c. 
      DO p_cols TIMES. 
        index = sy-index.
        MOVE sy-index TO wa_colno.
        CONCATENATE 'COL'
                    wa_colno
               INTO wa_flname. 
    * Set up fieldvalue
        CONCATENATE 'VALUE' index INTO
                    fieldvalue.
        CONDENSE    fieldvalue NO-GAPS. 
        ASSIGN COMPONENT  wa_flname
            OF STRUCTURE <fs_dyntable> TO <fs_fldval>.
        <fs_fldval> =  fieldvalue. 
      ENDDO. 
    * Append to the dynamic internal table
      APPEND <fs_dyntable> TO <t_dyntable>.
    * Displaying dynamic internal table using Grid. 
    DATA: wa_cat LIKE LINE OF fs_fldcat. 
      DO p_cols TIMES.
        CLEAR wa_cat.
        MOVE sy-index TO wa_colno.
        CONCATENATE 'COL'
                    wa_colno
               INTO wa_flname. 
        wa_cat-fieldname = wa_flname.
        wa_cat-seltext_s = wa_flname.
        wa_cat-outputlen = '10'.
        APPEND wa_cat TO fs_fldcat.
      ENDDO. 
    * Call ABAP List Viewer (ALV)
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          it_fieldcat = fs_fldcat
        TABLES
          t_outtab    = <t_dyntable>.
    Thanks,
    Jyothi
    Edited by: Jyothi on May 14, 2009 11:42 AM
    Edited by: Jyothi on May 14, 2009 11:43 AM

  • How to install and use the CP2102 USART to USB Converter?

    First off, I did a quick search and found that some people had had success in that the cp210x driver was already installed on their machines. I did a modprobe and it returned nothing (not an error).
    I searched around on the net a bit and found a very useful USART to USB converter bridge (http://www.nexuscyber.com/cp2102-usb-to … Mgod5UQAdQ). The CP2102 is a programmable device with many settings insofar as the data framing is concerned. As such, a driver for the device must be used to interface and modify these parameters.
    On the Silabs website I found this driver (http://www.silabs.com/products/mcu/page … ivers.aspx) for linux (kernel > 3.x.x). The problem is that this driver is just a single C program with zero documentation. An include make file is about as useful considering it has a single line in it that fails (for me) at run-time.
    obj-m = cp210x.o
    KVERSION = $(shell uname -r)
    all:
    make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
    clean:
    make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
    The driver source can be found here (http://pastie.org/private/kulx2zqdyvkafoxekwjq)
    Where my make error is
    make -C /lib/modules/3.14.4-1-ARCH/build M= modules
    make[1]: Entering directory '/usr/lib/modules/3.14.4-1-ARCH/build'
    HOSTCC scripts/basic/fixdep
    HOSTCC scripts/kconfig/conf.o
    HOSTCC scripts/kconfig/zconf.tab.o
    In file included from scripts/kconfig/zconf.tab.c:2537:0:
    scripts/kconfig/menu.c: In function 'get_symbol_str':
    scripts/kconfig/menu.c:587:18: warning: 'jump' may be used uninitialized in this function [-Wmaybe-uninitialized]
    jump->offset = strlen(r->s);
    ^
    scripts/kconfig/menu.c:548:19: note: 'jump' was declared here
    struct jump_key *jump;
    ^
    HOSTLD scripts/kconfig/conf
    scripts/kconfig/conf --silentoldconfig Kconfig
    scripts/Makefile.build:44: /usr/lib/modules/3.14.4-1-ARCH/build/arch/x86/syscalls/Makefile: No such file or directory
    make[2]: *** No rule to make target '/usr/lib/modules/3.14.4-1-ARCH/build/arch/x86/syscalls/Makefile'. Stop.
    /usr/lib/modules/3.14.4-1-ARCH/build/arch/x86/Makefile:185: recipe for target 'archheaders' failed
    make[1]: *** [archheaders] Error 2
    make[1]: Leaving directory '/usr/lib/modules/3.14.4-1-ARCH/build'
    Makefile:4: recipe for target 'all' failed
    make: *** [all] Error 2
    If I do not sudo make I just get this:
    .probe = usb_serial_probe,
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:165:16: error: 'usb_serial_disconnect' undeclared here (not in a function)
    .disconnect = usb_serial_disconnect,
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_get_config':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:321:3: error: implicit declaration of function 'dbg' [-Werror=implicit-function-declaration]
    dbg("%s - Unable to send config request, "
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_open':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:430:36: error: 'struct usb_serial_port' has no member named 'number'
    dbg("%s - port %d", __func__, port->number);
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_close':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:451:36: error: 'struct usb_serial_port' has no member named 'number'
    dbg("%s - port %d", __func__, port->number);
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_get_termios':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:534:17: error: invalid type argument of '->' (have 'struct ktermios')
    &tty->termios->c_cflag, &baud);
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_get_termios_port':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:556:36: error: 'struct usb_serial_port' has no member named 'number'
    dbg("%s - port %d", __func__, port->number);
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_change_speed':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:706:21: error: invalid type argument of '->' (have 'struct ktermios')
    baud = tty->termios->c_ospeed;
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_set_termios':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:735:36: error: 'struct usb_serial_port' has no member named 'number'
    dbg("%s - port %d", __func__, port->number);
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:740:22: error: invalid type argument of '->' (have 'struct ktermios')
    cflag = tty->termios->c_cflag;
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_tiocmset_port':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:871:36: error: 'struct usb_serial_port' has no member named 'number'
    dbg("%s - port %d", __func__, port->number);
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_tiocmget':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:910:36: error: 'struct usb_serial_port' has no member named 'number'
    dbg("%s - port %d", __func__, port->number);
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_break_ctl':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:932:36: error: 'struct usb_serial_port' has no member named 'number'
    dbg("%s - port %d", __func__, port->number);
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c: In function 'cp210x_init':
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:989:2: error: implicit declaration of function 'usb_serial_register' [-Werror=implicit-function-declaration]
    retval = usb_serial_register(&cp210x_device);
    ^
    /home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.c:996:3: error: implicit declaration of function 'usb_serial_deregister' [-Werror=implicit-function-declaration]
    usb_serial_deregister(&cp210x_device);
    ^
    cc1: some warnings being treated as errors
    scripts/Makefile.build:314: recipe for target '/home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.o' failed
    make[2]: *** [/home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source/cp210x.o] Error 1
    Makefile:1274: recipe for target '_module_/home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source' failed
    make[1]: *** [_module_/home/branden/Desktop/Linux_3.x.x_VCP_Driver_Source] Error 2
    make[1]: Leaving directory '/usr/lib/modules/3.14.4-1-ARCH/build'
    Makefile:4: recipe for target 'all' failed
    make: *** [all] Error 2
    There is no documentation aside from:
    make ( your cp210x driver )
    cp cp210x.ko to /lib/modules/<kernel-version>/kernel/drivers/usb/serial
    insmod /lib/modules/<kernel-version/kernel/drivers/usb/serial/usbserial.ko
    insmod cp210x.ko
    Can anyone provide some guidance on the steps to install this driver (or at least where to look) and why there is such a lack of documentation? Are there assumptions here that I am not aware of? How is anyone suppose to use this? If you look in the source there are structures being used as arguments to functions that are never defined as far as I can tell. Perhaps they are part of the header files included at the top, but I could not find some of those on my machine either.
    Has anyone had success using this device?

    ewaller wrote:<hopeful>Do you have an oscilloscope? </hopeful>
    First, I think you have a mismatched Baud.  Check your settings in GtkTerm.  It could also be the uController.  I know you said you have it set for 9600 Baud, but are you sure?  The divisor settings are dependent on your clock frequency.  Are you sure you are using the correct divisors for the frequency of your crystal?  And are you using a crystal, ceramic oscillator, or external oscillator for your time base?
    I did not think the internal RC oscillators were that bad off, so I was using the internal 8MHz (DIV8 = 0 fuse bit). Taking your advice I just refused the AVR and set it to use a 20MHz clock (external crystal oscillator) to no avail. The setting in GTKterm is certainly 9600 baud.Referencing the datasheet for the Atmega328P we have:
    Which gives a a UBRR register value of 129 corresponding to normal speed (U2Xn = 0). This is all computed for me at compile-time via this formula:
    20,000,000/(16*9600) - 1 = 129.2 ~ 129 truncated.
    That the two devices can communicate tells me they both might be using the same wrong Baud.
    I was also suspicious of this .. I do not have a trivial way to test this though. Perhaps some workaround using timers is about the best I can do; no oscilloscope here. Doing a quick high-level test I did find something rather interesting though. Both devices are set to run at 9600 baud. One device is operating at 8MHz (internal oscillator) and the other is using an external 20MHz crystal. I am getting UART communication between the devices, but certainly not the characters I'm sending..
    The other problem is that I think you have "Local Echo" turned on in GtkTerm.  This places the system in "Half Duplex" mode in which data are not expected to be echoed from the Atmel.  That you are getting two characters when the pins are shorted tells me you get the local echo and the loopback.  Then the loopback is missing, you still get the local echo.   Also, make sure you have parity turned off.
    GTKterm does not actually show you what you are typing into the terminal. That is, when you type a character then nothing is displayed to the screen. Presumably this character is sent out as you type it. I was under the impression that local echo would just echo what I type to the screen as well as send it out. Thank you for the clarification.
    Last edited by sherrellbc (2014-05-28 03:16:48)

  • Trouble installing ZFS in archlinux kernel 3.6.3-1-ARCH

    I've been trying to install ZFS on my system, and i can't get past a building error for SPL, here is my install output:
    ==> Downloading zfs PKGBUILD from AUR...
    x zfs_preempt.patch
    x zfs.install
    x PKGBUILD
    Comment by: modular on Wed, 24 Oct 2012 03:09:04 +0000
    @demizer
    I don't/won't run ZFS as a root file system. I'm getting the following build error:
    http://pastebin.com/ZcWiaViK
    Comment by: demizer on Wed, 24 Oct 2012 04:11:54 +0000
    @modular, You're trying to build with the 3.6.2 kernel. The current version (rc11) does not work with the 3.6.2 kernel. If you want to use it, you will have to downgrade to the 3.5.6 kernel (linux and linux-headers). https://wiki.archlinux.org/index.php/Downgrading_Packages
    Thanks!
    Comment by: MilanKnizek on Wed, 24 Oct 2012 08:07:19 +0000
    @demizer: there still seemed to be a problem during upgrading - zfs/spl requires kernel of certain version (hard-coded) and this blocks the upgrade (the old installed zfs/spl requires the old kernel and kernel can't be upgraded w/o breaking dependency of zfs/spl and therefore build of the new zfs/spl fails, too).
    So far, I have had to remove zpl/spl, upgrade kernel, rebuild + install spl/zfs and manually run depmod against the new kernel (i.e. the postinst: depmod -a does not work until next reboot) and only then reboot to load the new kernel zfs modules successfully.
    That is quite clumsy and error-prone - I hope it will be resolved via DMKS.
    Comment by: srf21c on Sun, 28 Oct 2012 04:00:31 +0000
    All, if you're suffering zfs kernel upgrade pain fatigue, seriously consider going with the LTS (long term support) kernel. I just successfully built zfs on a system that I switched to the linux-lts 3.0.48-1. All you have to do is install the linux-lts and linux-lts-headers packages, reboot to the lts kernel, and change any instances of depends= or makedepends= lines in the package build file like so:
    Before:
    depends=('linux=3.5' "spl=${pkgver}" "zfs-utils=${pkgver}")
    makedepends=('linux-headers=3.5')
    After:
    depends=('linux-lts=3.0' "spl=${pkgver}" "zfs-utils=${pkgver}")
    makedepends=('linux-lts-headers=3.0')
    Then build and install each package in this order: spl-utils,spl,zfs-utils,zfs.
    Worked like a champ for me.
    Comment by: stoone on Mon, 29 Oct 2012 12:09:29 +0000
    If you keep the linux, and linux-headers packages while using the LTS you don't need to modify the PKGBUILDs. Because the checks will pass but it will build the packages to your current runnning kernel.
    Comment by: demizer on Mon, 29 Oct 2012 15:56:27 +0000
    Hey everybody, just a quick update. The new build tool I have been working on is now in master, https://github.com/demizer/aur-zfs. With it you can build and package two different groups of packages one for aur and one for split. Again, building the split packages is more efficient. I still have a lot of work to be done, but it is progressing. I will be adding git, dkms, and lts packages after I setup my repo. My next step is to add unofficial repository support to my build tool so I can easily setup a repo with precompiled binaries. I will be hosting the repo on my website at http://demizerone.com/archzfs. Initially it will only be for 64bit code since the ZOL FAQ states that ZOL is very unstable with 32bit code due to memory management differences in Solaris and Linux. I will notify you all in the future when that is ready to go.
    @MilanKnizek, Yes updating is a pain. ZFS itself is hard-coded to linux versions at build time. The ZFS build tool puts the modules in "/usr/lib/modules/3.5.6-1-ARCH/addon/zfs/", and this the primary reason it has to be rebuilt each upgrade, even minor point releases. Nvidia for example puts their module in "/usr/lib/modules/extramodules-3.5-ARCH/", so minor point releases are still good and the nvidia package doesn't need to be re-installed. A possible reason for ZOL to be hard-coded like this because ZOL is still technically very beta code.
    I do have a question for the community, does anyone use ZFS on a 32bit system?
    Thanks!
    First Submitted: Thu, 23 Sep 2010 08:50:51 +0000
    zfs 0.6.0_rc11-2
    ( Unsupported package: Potentially dangerous ! )
    ==> Edit PKGBUILD ? [Y/n] ("A" to abort)
    ==> ------------------------------------
    ==> n
    ==> zfs dependencies:
    - linux>=3.5 (already installed)
    - linux-headers>=3.5 (already installed)
    - spl>=0.6.0_rc11 (building from AUR)
    - zfs-utils>=0.6.0_rc11 (building from AUR)
    ==> Edit zfs.install ? [Y/n] ("A" to abort)
    ==> ---------------------------------------
    n
    ==> Continue building zfs ? [Y/n]
    ==> -----------------------------
    ==>
    ==> Building and installing package
    ==> Install or build missing dependencies for zfs:
    ==> Downloading spl PKGBUILD from AUR...
    x spl.install
    x PKGBUILD
    Comment by: timemaster on Mon, 15 Oct 2012 22:42:32 +0000
    I am not able to compile this package after the upgrade to the 3.6 kernel. Anyone else ? any idea?
    Comment by: mikers on Mon, 15 Oct 2012 23:34:17 +0000
    rc11 doesn't support Linux 3.6; there are some patches on GitHub that might apply against it (I've not done it myself), see:
    https://github.com/zfsonlinux/spl/pull/179
    https://github.com/zfsonlinux/zfs/pull/1039
    Otherwise downgrade to Linux 3.5.x or linux-lts and wait for rc12.
    Comment by: timemaster on Mon, 15 Oct 2012 23:54:03 +0000
    Yes, I saw that too late.
    https://github.com/zfsonlinux/zfs/commit/ee7913b644a2c812a249046f56eed39d1977d706
    Comment by: demizer on Tue, 16 Oct 2012 07:00:16 +0000
    Looks like the patches have been merged, now we wait for rc12.
    Comment by: vroomanj on Fri, 26 Oct 2012 17:07:19 +0000
    @demizer: 3.6 support is available in the master builds, which are stable but not officially released yet. Can't the build be updated to use the master tars?
    https://github.com/zfsonlinux/spl/tarball/master
    https://github.com/zfsonlinux/zfs/tarball/master
    Comment by: demizer on Fri, 26 Oct 2012 17:51:42 +0000
    @vroomanj, I plan on working on the git packages this weekend. All I have to figure out if it is going to be based on an actual git clone or if its just going to be the download links you provided. They are pretty much the same, but i'm not really clear what the Arch Package Guidelines say about this yet. Also, I don't think the current packages in AUR now should be based off of git master. They should be based off of the ZOL stable releases (rc10, rc11, ...). That's why I am making git packages so people can use them if they want to upgrade to the latest kernel and the stable release hasn't been made yet. As is the case currently.
    First Submitted: Sat, 26 Apr 2008 14:34:31 +0000
    spl 0.6.0_rc11-2
    ( Unsupported package: Potentially dangerous ! )
    ==> Edit PKGBUILD ? [Y/n] ("A" to abort)
    ==> ------------------------------------
    ==> n
    ==> spl dependencies:
    - linux>=3.5 (already installed)
    - spl-utils>=0.6.0_rc11 (already installed)
    - linux-headers>=3.5 (already installed)
    ==> Edit spl.install ? [Y/n] ("A" to abort)
    ==> ---------------------------------------
    ==> n
    ==> Continue building spl ? [Y/n]
    ==> -----------------------------
    ==>
    ==> Building and installing package
    ==> Making package: spl 0.6.0_rc11-2 (Tue Oct 30 11:34:13 CET 2012)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving Sources...
    -> Downloading spl-0.6.0-rc11.tar.gz...
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 178 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
    100 136 100 136 0 0 154 0 --:--:-- --:--:-- --:--:-- 293
    100 508k 100 508k 0 0 357k 0 0:00:01 0:00:01 --:--:-- 1245k
    ==> Validating source files with md5sums...
    spl-0.6.0-rc11.tar.gz ... Passed
    ==> Extracting Sources...
    -> Extracting spl-0.6.0-rc11.tar.gz with bsdtar
    ==> Starting build()...
    configure.ac:34: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see:
    configure.ac:34: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation
    checking metadata... yes
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking target system type... i686-pc-linux-gnu
    checking whether to enable maintainer-specific portions of Makefiles... no
    checking whether make supports nested variables... yes
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking for style of include used by make... GNU
    checking dependency style of gcc... gcc3
    checking how to print strings... printf
    checking for a sed that does not truncate output... /bin/sed
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for fgrep... /usr/bin/grep -F
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking whether the shell understands some XSI constructs... yes
    checking whether the shell understands "+="... yes
    checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop
    checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ar... ar
    checking for archiver @FILE support... @
    checking for strip... strip
    checking for ranlib... ranlib
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for mt... no
    checking if : is a manifest tool... no
    checking how to run the C preprocessor... gcc -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    checking spl license... GPL
    checking linux distribution... arch
    checking default package type... arch
    checking whether rpm is available... no
    checking whether rpmbuild is available... no
    checking whether dpkg is available... no
    checking whether dpkg-buildpackage is available... no
    checking whether alien is available... no
    checking whether pacman is available... yes (4.0.3)
    checking whether makepkg is available... yes (4.0.3)
    checking spl config... kernel
    checking kernel source directory... /usr/src/linux-3.6.3-1-ARCH
    checking kernel build directory... /usr/src/linux-3.6.3-1-ARCH
    checking kernel source version... 3.6.3-1-ARCH
    checking kernel file name for module symbols... Module.symvers
    checking whether debugging is enabled... no
    checking whether basic debug logging is enabled... yes
    checking whether basic kmem accounting is enabled... yes
    checking whether detailed kmem tracking is enabled... no
    checking whether modules can be built... yes
    checking whether atomic types use spinlocks... no
    checking whether kernel defines atomic64_t... yes
    checking whether kernel defines atomic64_cmpxchg... no
    checking whether kernel defines atomic64_xchg... yes
    checking whether kernel defines uintptr_t... yes
    checking whether INIT_WORK wants 3 args... no
    checking whether register_sysctl_table() wants 2 args... no
    checking whether set_shrinker() available... no
    checking whether shrinker callback wants 3 args... no
    checking whether struct path used in struct nameidata... yes
    checking whether task_curr() is available... no
    checking whether unnumbered sysctl support exists... no
    checking whether struct ctl_table has ctl_name... no
    checking whether fls64() is available... yes
    checking whether device_create() is available... yes
    checking whether device_create() wants 5 args... yes
    checking whether class_device_create() is available... no
    checking whether set_normalized_timespec() is available as export... yes
    checking whether set_normalized_timespec() is an inline... yes
    checking whether timespec_sub() is available... yes
    checking whether init_utsname() is available... yes
    checking whether header linux/fdtable.h exists... yes
    checking whether files_fdtable() is available... yes
    checking whether __clear_close_on_exec() is available... yes
    checking whether header linux/uaccess.h exists... yes
    checking whether kmalloc_node() is available... yes
    checking whether monotonic_clock() is available... no
    checking whether struct inode has i_mutex... yes
    checking whether struct mutex has owner... yes
    checking whether struct mutex owner is a task_struct... yes
    checking whether mutex_lock_nested() is available... yes
    checking whether on_each_cpu() wants 3 args... yes
    checking whether kallsyms_lookup_name() is available... yes
    checking whether get_vmalloc_info() is available... no
    checking whether symbol *_pgdat exist... yes
    checking whether first_online_pgdat() is available... no
    checking whether next_online_pgdat() is available... no
    checking whether next_zone() is available... no
    checking whether pgdat_list is available... no
    checking whether global_page_state() is available... yes
    checking whether page state NR_FREE_PAGES is available... yes
    checking whether page state NR_INACTIVE is available... no
    checking whether page state NR_INACTIVE_ANON is available... yes
    checking whether page state NR_INACTIVE_FILE is available... yes
    checking whether page state NR_ACTIVE is available... no
    checking whether page state NR_ACTIVE_ANON is available... yes
    checking whether page state NR_ACTIVE_FILE is available... yes
    checking whether symbol get_zone_counts is needed... no
    checking whether user_path_dir() is available... yes
    checking whether set_fs_pwd() is available... no
    checking whether set_fs_pwd() wants 2 args... yes
    checking whether vfs_unlink() wants 2 args... yes
    checking whether vfs_rename() wants 4 args... yes
    checking whether vfs_fsync() is available... yes
    checking whether vfs_fsync() wants 2 args... yes
    checking whether struct fs_struct uses spinlock_t... yes
    checking whether struct cred exists... yes
    checking whether groups_search() is available... no
    checking whether __put_task_struct() is available... yes
    checking whether proc_handler() wants 5 args... yes
    checking whether kvasprintf() is available... yes
    checking whether rwsem_is_locked() acquires sem->wait_lock... no
    checking whether invalidate_inodes() is available... no
    checking whether invalidate_inodes_check() is available... no
    checking whether invalidate_inodes() wants 2 args... yes
    checking whether shrink_dcache_memory() is available... no
    checking whether shrink_icache_memory() is available... no
    checking whether symbol kern_path_parent exists in header... no
    checking whether kern_path_parent() is available... no
    checking whether zlib_deflate_workspacesize() wants 2 args... yes
    checking whether struct shrink_control exists... yes
    checking whether struct rw_semaphore member wait_lock is raw... yes
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating lib/Makefile
    config.status: creating cmd/Makefile
    config.status: creating module/Makefile
    config.status: creating module/spl/Makefile
    config.status: creating module/splat/Makefile
    config.status: creating include/Makefile
    config.status: creating scripts/Makefile
    config.status: creating spl.spec
    config.status: creating spl-modules.spec
    config.status: creating PKGBUILD-spl
    config.status: creating PKGBUILD-spl-modules
    config.status: creating spl.release
    config.status: creating dkms.conf
    config.status: creating spl_config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    make all-recursive
    make[1]: Entering directory `/tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11'
    Making all in module
    make[2]: Entering directory `/tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module'
    make -C /usr/src/linux-3.6.3-1-ARCH SUBDIRS=`pwd` CONFIG_SPL=m modules
    make[3]: Entering directory `/usr/src/linux-3.6.3-1-ARCH'
    CC [M] /tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-debug.o
    CC [M] /tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-proc.o
    CC [M] /tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-kmem.o
    CC [M] /tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-thread.o
    CC [M] /tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-taskq.o
    CC [M] /tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-rwlock.o
    CC [M] /tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-vnode.o
    /tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-vnode.c: In function 'vn_remove':
    /tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-vnode.c:327:2: error: implicit declaration of function 'path_lookup' [-Werror=implicit-function-declaration]
    cc1: some warnings being treated as errors
    make[5]: *** [/tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl/../../module/spl/spl-vnode.o] Error 1
    make[4]: *** [/tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module/spl] Error 2
    make[3]: *** [_module_/tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module] Error 2
    make[3]: Leaving directory `/usr/src/linux-3.6.3-1-ARCH'
    make[2]: *** [modules] Error 2
    make[2]: Leaving directory `/tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11/module'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/tmp/yaourt-tmp-alex/aur-spl/src/spl-0.6.0-rc11'
    make: *** [all] Error 2
    ==> ERROR: A failure occurred in build().
    Aborting...
    ==> ERROR: Makepkg was unable to build spl.
    ==> Restart building spl ? [y/N]
    ==> ----------------------------
    ... i'm stuck here, can anyone help me with this one? please !

    Did you read the comments, either on the AUR page or in the output that you posted? They explain it.

  • Trouble building kernel module for sensor support

    Hi, I'm new here but have been using Arch for a while.  Recently, I decided to install Arch on an old laptop (Toshiba A70) and have managed to work out most of the kinks to where it runs nicely.  Unfortunately, ACPI support is spotty and the /sys/class/thermal directory gives me only cooling_device0.  I installed the lm-sensors package and ran sensors-detect, which yielded no results.  Although the laptop runs smoothly otherwise, I would like to know the CPU's temp so that I would be able to set up a fan control scheme and CPU scaling (so far it's stuck at the lowest frequency, and that's kind of a big deal for me since the laptop runs on an archaic mobile P4 chip).
    Sorry for the story but I felt some context was necessary.  I did manage to find a kernel module that would connect those sensors to ACPI for me (http://sourceforge.net/projects/omnibook/), however I'm having trouble building it on the latest kernel.  Here is the output from running make:
    make -C /lib/modules/3.16.1-1-ARCH/build SUBDIRS=/root/omnibook-2.20070211 modules
    make[1]: Entering directory '/usr/lib/modules/3.16.1-1-ARCH/build'
    CC [M] /root/omnibook-2.20070211/init.o
    In file included from /root/omnibook-2.20070211/init.c:26:0:
    /root/omnibook-2.20070211/laptop.h:25:3: warning: initialization from incompatible pointer type
    .callback = dmi_matched,
    ^
    /root/omnibook-2.20070211/laptop.h:25:3: warning: (near initialization for ‘omnibook_ids[0].callback’)
    /root/omnibook-2.20070211/laptop.h:34:3: warning: initialization from incompatible pointer type
    .callback = dmi_matched,
    ^
    /root/omnibook-2.20070211/laptop.h:34:3: warning: (near initialization for ‘omnibook_ids[1].callback’)
    /root/omnibook-2.20070211/laptop.h:43:3: warning: initialization from incompatible pointer type
    .callback = dmi_matched,
    ^
    // I left out most of the 'incompatible pointer type' warnings since they repeat for a while.
    ^
    /root/omnibook-2.20070211/laptop.h:1001:3: warning: (near initialization for ‘omnibook_ids[108].callback’)
    /root/omnibook-2.20070211/init.c: In function ‘dmi_matched’:
    /root/omnibook-2.20070211/init.c:141:16: warning: assignment discards ‘const’ qualifier from pointer target type
    laptop_model = dmi_get_system_info(DMI_PRODUCT_VERSION);
    ^
    /root/omnibook-2.20070211/init.c: In function ‘omnibook_init’:
    /root/omnibook-2.20070211/init.c:281:3: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
    proc_entry = create_proc_entry(feature->name, pmode, omnibook_proc_root);
    ^
    /root/omnibook-2.20070211/init.c:281:14: warning: assignment makes pointer from integer without a cast
    proc_entry = create_proc_entry(feature->name, pmode, omnibook_proc_root);
    ^
    /root/omnibook-2.20070211/init.c:290:13: error: dereferencing pointer to incomplete type
    proc_entry->data = feature;
    ^
    /root/omnibook-2.20070211/init.c:291:13: error: dereferencing pointer to incomplete type
    proc_entry->read_proc = &procfile_read_dispatch;
    ^
    /root/omnibook-2.20070211/init.c:293:14: error: dereferencing pointer to incomplete type
    proc_entry->write_proc = &procfile_write_dispatch;
    ^
    /root/omnibook-2.20070211/init.c:294:13: error: dereferencing pointer to incomplete type
    proc_entry->owner = THIS_MODULE;
    ^
    cc1: some warnings being treated as errors
    scripts/Makefile.build:257: recipe for target '/root/omnibook-2.20070211/init.o' failed
    make[2]: *** [/root/omnibook-2.20070211/init.o] Error 1
    Makefile:1333: recipe for target '_module_/root/omnibook-2.20070211' failed
    make[1]: *** [_module_/root/omnibook-2.20070211] Error 2
    make[1]: Leaving directory '/usr/lib/modules/3.16.1-1-ARCH/build'
    Makefile:88: recipe for target 'omnibook.ko' failed
    make: *** [omnibook.ko] Error 2
    I have honestly no idea what to make of any of this and would really appreciate any help towards a solution.  Thanks for reading

    Welcome to Arch Linux
    That looks like it is a 2.6 kernel module
    http://sourceforge.net/p/omnibook/bugs/58/
    Did you try either of these AUR offerings?
    ewaller$@$odin ~ 1001 %packer -Ss omnibook
    aur/omnibook-git 20110911-9 (7)
    Kernel module for HP OmniBook,Pavilion,Toshiba and Compal ACL00 laptops
    aur/omnibook-svn-zen 268-1 (1)
    Kernel module for HP OmniBook, Pavilion, Toshiba and Compal ACL00 laptops
    ewaller$@$odin ~ 1002 %
    Last edited by ewaller (2014-08-23 23:33:53)

Maybe you are looking for