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 PMIf 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.
LaineThis 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,
Akashmultipost: 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
Mathiassym.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,
MathieuOk 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 helpHello 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 AMHi,
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 readingWelcome 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
-
My mac will not turn on. there is a white screen with a spinning wheel
my imac will not turn on. It will power up but just a blank screen with a spinning wheel appears
-
Lenovo G510 Camera Dark Poor camera Result Issue
Hi i got new Lenovo G510 last week windows 8 64bit operating system core i3 In its specs it se clearly shown that it have 720 p hd camera but when i opened the camera app from start menu it only shows 0.1MP (4:3) and 0.3 (4:3) option and result is so
-
Consolidating In/Out Payments for BPs who are vendors and customers
Hi We do business with a number of companies who are both vendors and customers and I am wondering if there is a better way of dealing with contra payments.. At the moment I would do the following: I want to pay a supplier's November AP Invoices but
-
Hi all, we have multiple select statements in one message. like this: <?xml version="1.0" encoding="UTF-8" ?> <ns1:SP10530T_MT xmlns:ns1="urn:lsv.de/TEST/SP10530T/SAPIDMS"> <ChangeCustomer> <TPLSVXI_SP10530T action="SELECT"> <table>TPLSVXI.SP1053
-
The procedure entry point RegEnumValueW could not be located in the...
The procedure entry point RegEnumValueW could not be located in the dynamic link library MPlugin.dll. I was trying to change the skin of my iTunes and googled it (first mistake)... Found this site and tried their method... http://www.aqua-soft.org/bo