PLS-00304: cannot compile body of package without its specification

Hi all,
While compiling the below pasted package , I got the following error msg.
PL/SQL: Compilation unit analysis terminated
PLS-00304: cannot compile body of 'EDR_RPT_CLASS_BY_TAWT_PACKAGE'
without its specification
PLS-00905: object HDOT.EDR_RPT_CLASS_BY_TAWT_PACKAGE is invalidBut I believe that have declared package and ppackage body specification correctly. Please could anyone help me to find out the error
CREATE OR REPLACE PACKAGE edr_rpt_class_by_tawt_package AS
PROCEDURE edr_rpt_gen_class_by_tawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
PROCEDURE edr_rpt_gen_class_by_fawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
PROCEDURE edr_rpt_gen_class_by_sawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
PROCEDURE edr_rpt_gen_class_by_triawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
PROCEDURE edr_rpt_gen_class_by_qawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
FUNCTION  class_count
  in_lane_id                  edr_rpt_by_ranges_output.lane_id%TYPE,
  in_direction_id             edr_rpt_by_ranges_output.direction_id%TYPE,
  in_interval_start_date_time edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
  in_interval_end_date_time   edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
  in_axle_wt_min              edr_cls_by_tawt_report_data.group_weight%TYPE,
  iin_axle_wt_max             edr_cls_by_tawt_report_data.group_weight%TYPE,
  in_class_min                edr_cls_by_tawt_report_data.vehicle_class%TYPE,
  in_class_max                edr_cls_by_tawt_report_data.vehicle_class%TYPE
RETURN VARCHAR2;
END edr_rpt_class_by_tawt_package;
CREATE OR REPLACE PACKAGE BODY edr_rpt_class_by_tawt_package AS
   c_front_axle_only         CONSTANT axle_class.group_type%TYPE := -1;
   c_axle_single_group_type  CONSTANT axle_class.group_type%TYPE := 1;
   c_axle_tandem_group_type  CONSTANT axle_class.group_type%TYPE := 2;
   c_axle_tridem_group_type  CONSTANT axle_class.group_type%TYPE := 3;
   c_axle_quadrem_group_type CONSTANT axle_class.group_type%TYPE := 4;
   c_kips_conversion_unit_id CONSTANT units.unit_id%TYPE         := 8;
   v_report_axle_group_type  axle_class.group_type%TYPE := 0;
FUNCTION  class_count
  in_lane_id                  edr_rpt_by_ranges_output.lane_id%TYPE,
  in_direction_id             edr_rpt_by_ranges_output.direction_id%TYPE,
  in_interval_start_date_time edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
  in_interval_end_date_time   edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
  in_axle_wt_min              edr_cls_by_tawt_report_data.group_weight%TYPE,
  in_axle_wt_max              edr_cls_by_tawt_report_data.group_weight%TYPE,
  in_class_min                edr_cls_by_tawt_report_data.vehicle_class%TYPE,
  in_class_max                edr_cls_by_tawt_report_data.vehicle_class%TYPE
RETURN NUMBER
IS
  my_count_result NUMBER(18);
BEGIN
   SELECT NVL(SUM(vehicle_count), 0 )
   INTO my_count_result
   FROM
        SELECT site_lane_id
        FROM   edr_rpt_tmp_report_lanes
        WHERE  edr_rpt_tmp_report_lanes.output_lane_id        = in_lane_id
          AND  edr_rpt_tmp_report_lanes.output_direction_id   = in_direction_id
       ) report_lanes
   JOIN edr_cls_by_tawt_report_data
     ON edr_cls_by_tawt_report_data.site_lane_id          = report_lanes.site_lane_id
   WHERE edr_cls_by_tawt_report_data.bin_start_date_time >= in_interval_start_date_time
     AND edr_cls_by_tawt_report_data.bin_start_date_time <  in_interval_end_date_time
     AND edr_cls_by_tawt_report_data.group_weight >= in_axle_wt_min
     AND edr_cls_by_tawt_report_data.group_weight  < in_axle_wt_max 
     AND edr_cls_by_tawt_report_data.vehicle_class >= in_class_min
     AND edr_cls_by_tawt_report_data.vehicle_class <= in_class_max
   RETURN my_count_result;
END;
FUNCTION get_row_class_counts_text
RETURN VARCHAR2
IS
   my_row_counts_text  VARCHAR2(10000);
   my_row_counts_entry  VARCHAR2(10000);
   CURSOR row_counts_text IS
     SELECT 'edr_rpt_class_by_tawt_package.class_count('
                       ||'lane_id, '
                       ||'direction_id, '
                       ||'interval_start_date_time, '
                       ||'interval_end_date_time, '
                       ||'range_low, '
                       ||'range_high, '
                       || class_id || ', '
                       || class_id || ') "'|| class_id || '"'
     FROM edr_rpt_tmp_report_classes
     ORDER BY class_id;
BEGIN
  my_row_counts_text   := '';
  my_row_counts_entry  := '';
  -- generate the speed ranges function calls
  OPEN row_counts_text;
  LOOP
    FETCH row_counts_text INTO my_row_counts_entry;
    EXIT WHEN row_counts_text%NOTFOUND;
    my_row_counts_text := my_row_counts_text || ', ' || my_row_counts_entry;
  END LOOP;
  CLOSE row_counts_text;
  RETURN my_row_counts_text;
END;
FUNCTION get_row_totals_text
RETURN VARCHAR2
IS
   my_row_count_total_text  VARCHAR2(10000);
BEGIN
  my_row_count_total_text := '';
  -- generate the 'total' column function call
  SELECT 'edr_rpt_class_by_tawt_package.class_count('
                       ||'lane_id, '
                       ||'direction_id, '
                       ||'interval_start_date_time, '
                       ||'interval_end_date_time, '
                       ||'range_low, '
                       ||'range_high, '
                       || MIN(class_id) || ', '
                       || MAX(class_id) || ') " "'
  INTO my_row_count_total_text
  FROM edr_rpt_tmp_report_classes;
  RETURN ', ' || my_row_count_total_text;
END;
PROCEDURE apply_default_awt_ranges(in_report_parameter_id   IN   NUMBER)
IS
  my_awt_ranges_count NUMBER(4);
BEGIN
SELECT nvl(count(1),0)
INTO my_awt_ranges_count
FROM report_range_parameters
WHERE REPORT_PARAMETER_ID = in_report_parameter_id
   AND REPORT_PARAMETER_GROUP = 'AXLE_GROUP'
   AND REPORT_PARAMETER_NAME = 'AXLE_NAME';
IF  ( my_awt_ranges_count = 0 )
THEN
  INSERT INTO report_range_parameters (REPORT_PARAMETER_ID, REPORT_PARAMETER_GROUP, REPORT_PARAMETER_NAME, REPORT_PARAMETER_MIN_VALUE, REPORT_PARAMETER_MAX_VALUE)
    VALUES (in_report_parameter_id, 'AXLE_GROUP', 'AXLE_NAME', '0', '2');
    VALUES (in_report_parameter_id, 'AXLE_GROUP', 'AXLE_NAME', '30', '32');
END IF;
END;
PROCEDURE edr_class_by_tawt_use_per_veh
   in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
   in_good_status_mask      IN      NUMBER
IS
max_axle_group_value NUMBER(12);
BEGIN
  DELETE FROM edr_cls_by_tawt_report_data;
  COMMIT;
  INSERT INTO edr_cls_by_tawt_report_data
                  site_id,
                  site_lane_id,
                  site_direction_id,
                  site_direction_name,
                  bin_start_date_time,
                  group_weight,
                  bin_id,
                  bin_value
  SELECT site_id,
         site_lane_id,
         site_direction_id,
         site_direction_name,
         date_time,
         group_weight,
         vehicle_class,
         COUNT(vehicle_class)
  FROM
           SELECT edr_cls_by_tawt_per_veh_data.*
             FROM edr_cls_by_tawt_per_veh_data          
     GROUP BY date_time,
           site_lane_id,
           group_weight,
           vehicle_class,
           site_id,
           site_direction_id,
           site_direction_name;
END edr_class_by_tawt_use_per_veh;
PROCEDURE edr_class_by_tawt_data_type
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  in_good_status_mask      IN      NUMBER,
  in_data_type             IN      VARCHAR2,
  out_data_type_used          OUT  VARCHAR2
IS
  my_bin_entry_count   NUMBER(12,0);
  my_veh_entry_count   NUMBER(12,0);
BEGIN
  IF(UPPER(in_data_type) = 'BINNED') THEN
    --  Axle information can only be read from Per Vehicle data records
    --   - using bins-only is not a supported option
    RAISE_APPLICATION_ERROR(-20101,'Binned data cannot be used for this report.');
  ELSIF    (UPPER(in_data_type) = 'PERVEHICLE')
        OR (UPPER(in_data_type) = 'COMBINED')
  THEN
    out_data_type_used := 'Per Vehicle (All Vehicles)';
    edr_class_by_tawt_use_per_veh( in_report_parameter_id, in_good_status_mask );
  ELSE
     RAISE_APPLICATION_ERROR(-20101,'The data type specified is not recognized.');
  END IF;
END edr_class_by_tawt_data_type;
PROCEDURE edr_class_by_tawt_get_veh_data
  in_report_parameter_id   IN   NUMBER,
  in_site_id               IN   NUMBER,
  in_start_date_time       IN   TIMESTAMP,
  in_end_date_time         IN   TIMESTAMP,
  in_report_level_min      IN   NUMBER,
  in_report_level_max      IN   NUMBER
IS
BEGIN
  DELETE FROM edr_cls_by_tawt_per_veh_data;
  INSERT INTO edr_cls_by_tawt_per_veh_data
          site_id,
          site_lane_id,
          site_direction_id,
          site_direction_name,
          record_id,
          date_time,
          group_weight,
          vehicle_class,
          group_number,
          vehicle_status,
          vehicle_error_count,
          axle_violations_count,
          group_type         
  SELECT axle_info.site_id,
         axle_info.site_lane_id,
         axle_info.site_direction_id,
         axle_info.site_direction_name,
         axle_info.record_id,
         axle_info.datetime,
         axle_info.group_weight,
         axle_info.v_class,
         axle_info.group_number,
         NVL((SELECT SUM(status_code)
                FROM traffic_status
               WHERE traffic_status.record_id = axle_info.record_id), 0) vehicle_status,
         NVL((SELECT COUNT(error_code)
                FROM traffic_error
               WHERE traffic_error.record_id = axle_info.record_id), 0) vehicle_error_count,
         NVL((SELECT COUNT(1)
                FROM axle_weight_violation
               WHERE axle_weight_violation.record_id = axle_info.record_id), 0) axle_violations_count,
         axle_info.group_type           
    FROM (SELECT site_to_data_source_lane_v.site_id,
                 site_to_data_source_lane_v.site_lane_id,
                 site_to_data_source_lane_v.site_direction_id,
                 site_to_data_source_lane_v.site_direction_name,
                 traffic_record.record_id,
                 traffic_record.datetime,
                 NVL(traffic_class.v_class, 0)   v_class,
                 NVL(axle_class.group_type, 0)   group_type,
                 NVL(axle_class.group_number, 0) group_number,               
                 NVL(TRUNC(sum(convert_units(axle.weight_unit_id,
                                         c_kips_conversion_unit_id,
                                         axle.axle_weight
                       0
                     ) group_weight
           FROM  traffic_record
           JOIN  site_to_data_source_lane_v
             ON  traffic_record.data_source_id = site_to_data_source_lane_v.data_source_id
            AND  traffic_record.lane = site_to_data_source_lane_v.data_source_lane_id                   
       GROUP BY site_to_data_source_lane_v.site_id,
                 site_to_data_source_lane_v.site_lane_id,
                 site_to_data_source_lane_v.site_direction_id,
                 site_to_data_source_lane_v.site_direction_name,
                 traffic_record.record_id,
                 traffic_record.datetime,
                 traffic_class.v_class,                
                 axle_class.group_type,
                 axle_class.group_number
        ) axle_info
END edr_class_by_tawt_get_veh_data;
PROCEDURE gen_class_by_axle_type
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
AS
BEGIN
  apply_default_awt_ranges(in_report_parameter_id);
  my_date_format_mask   := edr_rpt_generic_package.edr_rpt_get_date_format_mask(in_report_parameter_id);
  my_start_date_time    := edr_rpt_generic_package.edr_rpt_get_start_date_time(in_report_parameter_id, my_date_format_mask);
  my_end_date_time      := edr_rpt_generic_package.edr_rpt_get_end_date_time(in_report_parameter_id, my_date_format_mask);
  my_lane_grouping      := edr_rpt_generic_package.edr_rpt_get_lane_grouping(in_report_parameter_id);
  my_site_id            := edr_rpt_generic_package.edr_rpt_get_site_id(in_report_parameter_id);
  my_selected_data_type := edr_rpt_generic_package.edr_rpt_get_data_type(in_report_parameter_id);
  -- ensure selected classes and lanes temp tables have been populated
  edr_rpt_generic_package.edr_rpt_gen_tmp_lanes(in_report_parameter_id);
  edr_rpt_generic_package.edr_rpt_gen_tmp_classes(in_report_parameter_id);
  edr_rpt_generic_package.edr_rpt_gen_tmp_speed_ranges(in_report_parameter_id);
  my_good_weight_statuses_mask   := edr_rpt_generic_package.get_good_weight_status_mask(in_report_parameter_id);
  edr_rpt_generic_package.edr_rpt_gen_inclusion_table
    in_report_parameter_id,
    my_date_format_mask,
    my_start_date_time,
    my_end_date_time
  edr_rpt_generic_package.edr_rpt_gen_grouping_table
    in_report_parameter_id,
    my_date_format_mask,
    my_start_date_time,
    my_end_date_time
  edr_class_by_tawt_get_veh_data
    in_report_parameter_id,
    my_site_id,
    my_start_date_time,
    my_end_date_time,
    0,                          --Hardcoded until reclassification is supported.
    0                           --Hardcoded until reclassification is supported.
  edr_class_by_tawt_data_type
    in_report_parameter_id,
    my_good_weight_statuses_mask,
    my_selected_data_type,
    my_used_data_type
  edr_rpt_generic_package.gen_rpt_by_ranges_output_table
    in_report_parameter_id,
    'AXLE_GROUP',
    'AXLE_NAME'
  COMMIT;
  my_report_data_statement :=
      ' SELECT rank "Rank", '
    ||       ' row_type "Row Type", '
    ||       ' interval_start_date_time "Date", '
    ||       ' interval_start_date_time, '
    ||       ' range_label "Chart X-Axis", '
    ||       ' lane_id "Group Id" , '
    ||       ' ''None'' "Group Name", '
    ||       ' range_label "Speed (mph)" '
    ||         get_row_class_counts_text
    ||         get_row_totals_text
    ||       ' FROM edr_rpt_by_ranges_output '
    ||       ' ORDER BY lane_id, '
    ||                ' direction_id, '
    ||                ' interval_start_date_time, '
    ||                ' range_high, '
    ||                ' rank, '
    ||                ' range_low'
  dbms_output.put_line('SQL start------------------------');
  dbms_output.put_line(my_report_data_statement);
  dbms_output.put_line('SQL end--------------------------');
  my_chart_data_statement :=
       ' SELECT range_low "X Axis", '
    ||        ' lane_id "Group" '
    ||         get_row_class_counts_text
    || ' FROM '
    || ' ( '
    || ' SELECT lane_id, '
    ||        ' direction_id, '
    ||        ' range_low, '
    ||        ' range_high, '
    ||        ' min(interval_start_date_time) interval_start_date_time, '
    ||        ' max(interval_end_date_time) interval_end_date_time '
    || ' FROM edr_rpt_by_ranges_output '
    || ' WHERE rank = 1 '
    || ' GROUP BY lane_id, direction_id, range_low,  range_high '
    || ' ) '
    || ' order by "Group", range_low '
  dbms_output.put_line('SQL start------------------------');
  dbms_output.put_line(my_chart_data_statement);
  dbms_output.put_line('SQL end--------------------------');
  SELECT my_used_data_type
    INTO my_data_type_used
    FROM SYS.DUAL;
  SELECT NVL(COUNT(DISTINCT record_id), 0)
    INTO my_per_vehicle_total
    FROM edr_cls_by_tawt_per_veh_data;
  SELECT NVL(COUNT(DISTINCT record_id), 0)
    INTO my_status_vehicle_total
    FROM edr_cls_by_tawt_per_veh_data
   WHERE vehicle_status > 0
     AND vehicle_error_count = 0;
  SELECT NVL(COUNT(DISTINCT record_id), 0)
    INTO my_error_vehicle_total
    FROM edr_cls_by_tawt_per_veh_data
   WHERE vehicle_error_count > 0;
  SELECT NVL(COUNT(DISTINCT record_id), 0)
    INTO my_status_clear_total
    FROM edr_cls_by_tawt_per_veh_data
   WHERE vehicle_status = 0
     AND vehicle_error_count = 0;
  SELECT NVL(COUNT(1), 0)
    INTO my_binned_vehicle_total
    FROM edr_cls_by_tawt_per_veh_data;
  SELECT NVL(COUNT(1), 0)
    INTO my_good_weight_total
    FROM edr_cls_by_tawt_per_veh_data
   WHERE vehicle_error_count = 0
     AND BITAND(vehicle_status, my_good_weight_statuses_mask) = 0;
  -- insert vehicle totals into the temporary table
  DELETE FROM edr_rpt_tmp_veh_totals_table;
  INSERT INTO edr_rpt_tmp_veh_totals_table
  SELECT my_data_type_used,
         my_per_vehicle_total,
         my_binned_vehicle_total,
         my_error_vehicle_total,
         my_status_vehicle_total,
         my_good_weight_total,
         my_status_clear_total
    FROM SYS.DUAL;
  -- execute the query into the output refcursor
  OPEN report_data FOR
    my_report_data_statement;
  OPEN chart_data FOR
    my_chart_data_statement;
  OPEN footer_data FOR
    SELECT data_type_used,
           per_vehicle_total,
           binned_vehicle_total,
           error_vehicle_total,
           status_vehicle_total,
           good_weight_total,
           status_clear_total
      FROM edr_rpt_tmp_veh_totals_table;
END gen_class_by_axle_type;
PROCEDURE edr_rpt_gen_class_by_sawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
AS
BEGIN
  v_report_axle_group_type := c_axle_single_group_type;
  gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
END;
PROCEDURE edr_rpt_gen_class_by_fawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
AS
BEGIN
  v_report_axle_group_type := c_front_axle_only ;
  gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
END;
PROCEDURE edr_rpt_gen_class_by_tawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
AS
BEGIN
  v_report_axle_group_type := c_axle_tandem_group_type;
  gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
END;
PROCEDURE edr_rpt_gen_class_by_triawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
AS
BEGIN
  v_report_axle_group_type := c_axle_tridem_group_type;
  gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
END;
PROCEDURE edr_rpt_gen_class_by_qawt (
  in_report_parameter_id   IN      report_tasks.report_task_id%TYPE,
  report_data              OUT     SYS_REFCURSOR,
  chart_data               OUT     SYS_REFCURSOR,
  footer_data              OUT     SYS_REFCURSOR
AS
BEGIN
  v_report_axle_group_type :=  c_axle_quadrem_group_type;
  gen_class_by_axle_type(in_report_parameter_id, report_data, chart_data, footer_data);
END;
END edr_rpt_class_by_tawt_package;
LIST
SHOW ERROR

Hi,
PLS-00304: cannot compile body of 'EDR_RPT_CLASS_BY_TAWT_PACKAGE'
without its specificationThis error usually indicates an issue with used datatypes in a package spec. that differs from a package body.
Check your spec:
FUNCTION  class_count
  in_lane_id                  edr_rpt_by_ranges_output.lane_id%TYPE,
  in_direction_id             edr_rpt_by_ranges_output.direction_id%TYPE,
  in_interval_start_date_time edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
  in_interval_end_date_time   edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
  in_axle_wt_min              edr_cls_by_tawt_report_data.group_weight%TYPE,
  iin_axle_wt_max             edr_cls_by_tawt_report_data.group_weight%TYPE,
  in_class_min                edr_cls_by_tawt_report_data.vehicle_class%TYPE,
  in_class_max                edr_cls_by_tawt_report_data.vehicle_class%TYPE
RETURN VARCHAR2; However in your package body:
FUNCTION  class_count
  in_lane_id                  edr_rpt_by_ranges_output.lane_id%TYPE,
  in_direction_id             edr_rpt_by_ranges_output.direction_id%TYPE,
  in_interval_start_date_time edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
  in_interval_end_date_time   edr_rpt_by_ranges_output.interval_start_date_time%TYPE,
  in_axle_wt_min              edr_cls_by_tawt_report_data.group_weight%TYPE,
  in_axle_wt_max              edr_cls_by_tawt_report_data.group_weight%TYPE,
  in_class_min                edr_cls_by_tawt_report_data.vehicle_class%TYPE,
  in_class_max                edr_cls_by_tawt_report_data.vehicle_class%TYPE
RETURN NUMBERReturn number in spec. vs. return varchar2 in body..
That won't compile, either return a number or a varchar2 in both. (spec and body).

Similar Messages

  • PLS-00304: cannot compile body of 'PA_TIME_CLIENT_EXTN' without its specifi

    Hi expert,
    We are trying the validate the PA_TIME_CLIENT_EXTN package body. It is giving the below error.
    0/0 PL/SQL: Compilation unit analysis terminated
    1/14 PLS-00905: object APPS.PA_TIME_CLIENT_EXTN is invalid
    1/14 PLS-00304: cannot compile body of 'PA_TIME_CLIENT_EXTN' without
    its specification
    My environment details are as below.
    Oracle apps version: 11.5.10.2
    DB version : 11.2.0.1
    OS version : IBM AIX 6.1
    Please help me on this.
    Thanks

    This error is usually seen when you have a different datatype specification in your package specification and your package body. I think that is some thing you might want to check first.
    Regards,
    Johan Louwers

  • Cannot compile body of dbms_utility without its specification

    hi there!
    I just got this error on my 11g EE database
    yesterday had power problems, and the backup batery did not work(but it happens very often)
    today, trying to send email with a job, i realized through TOAD that sys has 304 invalid objects.
    Try to compile and it seems something missing.
    "cannot compile body of dbms_utility without its specification"
    I cant find that specification and no forums found related to this.
    need help from experts..
    S.O. Oracle enterprise linux 4.7
    D.B. Oracle Enterprise 11.2
    thanks!

    Virendra, thanks for your time, this is the output
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> ALTER PACKAGE SYS.DBMS_UTILITY COMPILE;
    show errors
    ALTER PACKAGE SYS.DBMS_UTILITY COMPILE BODY;
    show errors
    Warning: Package altered with compilation errors.
    SQL> Errors for PACKAGE SYS.DBMS_UTILITY:
    LINE/COL ERROR
    262/75     PLS-00103: Encountered the symbol "end-of-file" when expecting
         one of the following:
         end function pragma procedure subtype type <an identifier>
         <a double-quoted delimited-identifier> current cursor delete
         exists prior
    SQL>
    Warning: Package Body altered with compilation errors.
    SQL>

  • How to compile files in package and its subpackages at one time

    I have package A , under A there are files and subpackages B,C,D, How can I complie files in A,B,C D packages with javac at one time besides using make. Thank you very much!
    Qi

    Try something like:javac -d <destination directory> directory1/*.java directory2/*.java directory3/*.java

  • PLS-00304 Circular reference

    Hi all,
    thanks for helping me in resolving the follwoing error
    USER234@dev>Create or replace package a2
    2 is
    3
    4 TYPE a2_rectype is RECORD
    5 (drop_no varchar2(100));
    6
    7 TYPE a2_tabtype IS TABLE OF a2_rectype
    8 INDEX BY BINARY_INTEGER;
    9
    10 Procedure a2_proc1;
    11
    12 End;
    13 /
    Package created.
    Elapsed: 00:00:00.06
    USER234@dev>Create or replace package body a2
    2 is
    3 Procedure a2_proc1
    4 is
    5 begin
    6 null;
    7 end;
    8
    9 End;
    10 /
    Package body created.
    Elapsed: 00:00:00.04
    USER234@dev>Create or replace package a1
    2 is
    3 TYPE a1_rectype IS RECORD ( order_no varchar2(100));
    4 TYPE a1_tabtype IS TABLE OF a1_rectype INDEX BY BINARY_INTEGER;
    5
    6 Procedure a1_proc1;
    7 Procedure a1_proc2(r_cd a2.a2_tabtype);
    8
    9 End;
    10 /
    Package created.
    Elapsed: 00:00:00.07
    USER234@dev>Create or replace package body a1
    2 is
    3 Procedure a1_proc1
    4 is
    5 begin
    6 null;
    7 end;
    8
    9 Procedure a1_proc2(r_cd a2.a2_tabtype)
    10 is
    11 begin
    12 null;
    13 end;
    14 End;
    15 /
    Package body created.
    Elapsed: 00:00:00.07
    USER234@dev>Create or replace package a2
    2 is
    3
    4 TYPE a2_rectype is RECORD
    5 (drop_no varchar2(100));
    6
    7 TYPE a2_tabtype IS TABLE OF a2_rectype
    8 INDEX BY BINARY_INTEGER;
    9
    10 Procedure a2_proc1;
    11 Procedure a2_proc2(p_tabtype a1.a1_tabtype);
    12
    13 End;
    14 /
    Package created.
    Elapsed: 00:00:00.06
    USER234@dev>Create or replace package body a2
    2 is
    3 Procedure a2_proc1
    4 is
    5 begin
    6 null;
    7 end;
    8
    9
    10 Procedure a2_proc2(p_tabtype a1.a1_tabtype)
    11 is
    12 begin
    13 null;
    14 end;
    15
    16 End;
    17 /
    Warning: Package Body created with compilation errors.
    Elapsed: 00:00:00.09
    USER234@dev>show error
    Errors for PACKAGE BODY A2:
    LINE/COL ERROR
    0/0 PL/SQL: Compilation unit analysis terminated
    1/14 PLS-00304: cannot compile body of 'A2' without its specification
    1/14 PLS-00905: object USER234.A2 is invalid

    The correct approach is to instead do the following:
    create or replace package CustomTypes as
      type a1_rectype IS RECORD ( order_no varchar2(100) );
      type a1_tabtype IS TABLE OF a1_rectype INDEX BY BINARY_INTEGER;
      type a2_rectype is RECORD(drop_no varchar2(100) );
      type a2_tabtype IS TABLE OF a2_rectype INDEX BY BINARY_INTEGER;
    end;And then define packages A1 and A2 that refers to this CustomTypes package.
    Not only is circular referencing eliminating, but this provides a modular approach where custom types that are global (ito PL/SQL), are defined and maintained and referenced in/from a single place.
    Another approach, and one that I prefer, is to eliminate PL/SQL custom types as far as possible and use custom SQL data types instead. This is a lot more flexible as these types are object orientated (better feature set) and can be used in both SQL and PL/SQL languages. PL/SQL custom types are not object orientated (equivalent to C struct and Pacal record types) and are restricted to PL/SQL use only.
    For the above custom types, I would define a single SQL data type:
    create or replace type TStrings is table of varchar2(4000);This can be used for dealing with any collection of strings - instead of having a string collection type for order numbers and the same type definition with a different name for drop numbers.
    Of course if these are actual number data, then a collection of number() should be defined, e.g.
    create or replace type TNumbers is table of number;

  • How to compile HTMLDB_SITE_ADMIN_PRIVS invalid package body?

    Hi,
    I am trying to grant HTMLDB Administrator privilege to assign the other Oracle default schemas to workspaces by executing the following procedure.
    SQL> EXEC HTMLDB_SITE_ADMIN_PRIVS.UNRESTRICT_SCHEMA(p_schema => 'SYSTEM');
    However, the package body is corrupted. As the package body is wrapped, I cannot compile it manually.
    FLOWS_020000@PROD> ALTER PACKAGE HTMLDB_SITE_ADMIN_PRIVS COMPILE BODY;
    Warning: Package Body altered with compilation errors.
    FLOWS_020000@pPROD> SHOW ERRORS;
    Errors for PACKAGE BODY HTMLDB_SITE_ADMIN_PRIVS:
    LINE/COL ERROR
    0/0 PLS-00753: malformed or corrupted wrapped unit
    I'd greatly appreciate if you can provide any suggestion or advice for me to compile or reload this wrapped package body.
    Thanks,
    Deborah

    Hi,
    I am trying to grant HTMLDB Administrator privilege to assign the other Oracle default schemas to workspaces by executing the following procedure.
    SQL> EXEC HTMLDB_SITE_ADMIN_PRIVS.UNRESTRICT_SCHEMA(p_schema => 'SYSTEM');
    However, the package body is corrupted. As the package body is wrapped, I cannot compile it manually.
    FLOWS_020000@PROD> ALTER PACKAGE HTMLDB_SITE_ADMIN_PRIVS COMPILE BODY;
    Warning: Package Body altered with compilation errors.
    FLOWS_020000@pPROD> SHOW ERRORS;
    Errors for PACKAGE BODY HTMLDB_SITE_ADMIN_PRIVS:
    LINE/COL ERROR
    0/0 PLS-00753: malformed or corrupted wrapped unit
    I'd greatly appreciate if you can provide any suggestion or advice for me to compile or reload this wrapped package body.
    Thanks,
    Deborah

  • PLS-00907: cannot load library unit PREORDER.GLOBALS@PREORDER

    Hi all, I am getting below error while compiling the package in oracle 11g.
    SQL> select version from v$instance;
    VERSION
    11.2.0.3.0
    SQL> !uname -a
    SunOS ghb1s311 5.10 Generic_142900-13 sun4u sparc SUNW,Sun-Fire-V890
    SQL> SELECT owner,
           object_type,
           object_name,
           status
    FROM   dba_objects
    WHERE  status = 'INVALID'
    ORDER BY owner, object_type, object_name;
      2    3    4    5    6    7
    OWNER                OBJECT_TYPE   OBJECT_NAME                    STATUS
    KOMPIMP              PACKAGE BODY  IMPORT_NI_STAMMDATEN           INVALID
    SQL> alter package KOMPIMP.IMPORT_NI_STAMMDATEN compile body;
    Warning: Package Body altered with compilation errors.
    SQL> show error
    Errors for PACKAGE BODY KOMPIMP.IMPORT_NI_STAMMDATEN:
    LINE/COL ERROR
    0/0      PLS-00907: cannot load library unit PREORDER.GLOBALS@PREORDER
             (referenced by PREORDER.MANAGE_DATEN@PREORDER)
    1201/5   PL/SQL: Statement ignored
    SQL> select object_name,object_type,owner,status  from dba_objects where object_name like 'GLOBALS';
    OBJECT_NAME                         OBJECT_TYPE                         OWNER                          STATUS
    GLOBALS                             PACKAGE                             KOMPIMP                        VALID
    SQL> select object_name,object_type,owner,status  from dba_objects where object_name like 'PREORDER';
    OBJECT_NAME                         OBJECT_TYPE                         OWNER                          STATUS
    PREORDER                            DATABASE LINK                       KOMPIMP                        VALID
    These package(GLOBALS') is  valid then also this is not compiling.
    Please suggest to solve this problem.
    Thanks in Advance

    Hi
    Without commenting on the specific HR packages, it sounds like you are causing invalidations when you recompile.
    The first thing to do is to try to minimize the scope of each recompilation. So if the body of a package A is invalid, don't recompile the specification (which will invalidate any other package B that references a function, procedure, type or package variable in A). Just recompile the body (which afaik NEVER invalidates anything else).
    alter package A compile body;If you have invalid package specs (which you do now) try to recompile them in dependency order. So if package (spec) A depends on (eg references a package (header) variable or type definition in) package B, then be dure to compile B before A.
    In general, you should recompile invalid specifications first, then invalid package bodies.
    The tricky objects are Views - a view can depend on a package spec (if the view SQL includes a reference to a package function) and a package spec or body can of course depend on a view. Good developers try to avoid circular dependencies! So our compilation order becomes:
    * Views (unless dependent on packages)
    * Package specs
    * Views that depend on packages
    * Package bodies
    (Stand-alone stored procedures and functions are a pain in the neck, as they can depend on each other and on views, packages etc).
    You can try using utlrp.sql (in rdvms/admin) which calls utl_recomp.recomp_parallel - but I don't know how good this is at sorting out dependencies.
    HTH
    Regards Nigel

  • Cannot Compile. Pls. help!

    I cannot compile the following program which calls for another 6 class files from its code. Please note the main program (DiveLog.java)+the other 6 class files are stored in the same directory.
    And also as this involves "package" I tried to compile it as "javac -classpath DiveLog.jav". But I still get the 'cannot resolve symbol' error messages.
    DiveLog.java (Main Program)
    package DiveLog;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class DiveLog
    private JFrame dlframe; //Not assigned yet.
    private JTabbedPane tabbedPane; //Not assigned yet.
    //Begins Constructor
    public DiveLog()
    // Create a frame object to add the application GUI components to.
    dlframe = new JFrame("A Java(TM) Technology Dive Log");
    // Closes from title bar and from menu
    dlframe.addWindowListener(new WindowAdapter()
    public void windowClosing(WindowEvent e)
    System.exit(0);
    // Tabbed pane with panels for Jcomponents
    // Instantiate JTabbedPane with keyword new
    tabbedPane = new JTabbedPane(SwingConstants.LEFT);
    // Calls method to set color
    tabbedPane.setBackground(Color.blue);
    tabbedPane.setForeground(Color.white);
    populateTabbedPane();
    //Calls the method that builds the menu
    buildMenu();
    dlframe.getContentPane().add(tabbedPane);
    dlframe.pack();
    dlframe.setSize(765, 690);
    dlframe.setBackground(Color.white);
    dlframe.setVisible(true);
    }// Ends Constructor
    private void populateTabbedPane()
    // Create tabs with titles
    tabbedPane.addTab("Welcome", null, new Welcome(), "Welcome to the Dive Log");
    tabbedPane.addTab("Diver Data", null, new Diver(), "Click here to enter diver data");
    tabbedPane.addTab("Log Dives", null, new Dives(),
    "Click here to enter dives");
    tabbedPane.addTab("Statistics", null, new Statistics(),
    "Click here to calculate" + " dive statistics");
    tabbedPane.addTab("Favorite Web Site", null, new Website(),
    "Click here to see a web site");
    tabbedPane.addTab("Resources", null, new Resources(),
    "Click here to see a list of resources");
    } //Ends populateTabbedPane method
    // Method header
    private void buildMenu()
    // Instantiates JMenuBar, JMenu,
    // and JMenuItem.
    JMenuBar mb = new JMenuBar();
    JMenu menu = new JMenu("File");
    JMenuItem item = new JMenuItem("Exit");
    //Closes the application from the Exit menu item.
    item.addActionListener(new ActionListener()
    public void actionPerformed(ActionEvent e)
    System.exit(0);
    } // Closes actionPerformed method
    }); // Closes addActionListener method
    //Adds the item to the menu object
    menu.add(item);
    //Adds the menu object with item onto the menu bar
    mb.add(menu);
    //Sets the menu bar in the frame
    dlframe.setJMenuBar(mb);
    } //Ends buildMenu method
    public static void main(String[] args)
    DiveLog dl = new DiveLog();
    } //Ends Class
    ===========================================
    Welcome.class (one of the 6 class files.The other 5 are identical to this.)
    package divelog;
    * This class creates the content on the
    * Welcome tabbed pane in the Dive Log
    * application.
    * @version 1.0
    //import for buttons, labels, and images
    import javax.swing.*;
    //import for layout manager
    import java.awt.*;
    public class Welcome extends JPanel
    { //Opens class
    }//Closes class
    =========================================================

    Might be a typo when you posted, but your DiveLog class is in package DiveLog, whereas your Welcome class is in package divelog (note the capitalization differences).
    And even though they're in the same package, i'm always a fan of importing all the files you're going to need explicitly, such as
    import divelog.Welcome
    this applies to using the wildcard character too (as in, you shouldn't) to import files. Explicitly listing all imports allows you, and any other developer, to quickly see a list of all classes used.

  • Compiling an invalid packagebody without errormessage

    Hi,
    I have just altered a package and it became invalid without any notification during compilation.
    It took me quite some time to figure it out, but it seems that the number of warnings is limited. If there are too many compilation warnings, the errors get ignored.
    The message log states "TEST_ERROR_MESSAGE Body Compiled (with warnings)"
    If there are less warnings it states "TEST_ERROR_MESSAGE Body Compiled (with errors and warnings)".
    This is a serious problem, because now I can't trust the compiler messages anymore.
    I have created a small example. This packagebody can't be compiled without errors, because of the TestTabType_xxx (instead off TestTabType ). But because there are too many warning you don't see an errormessage. If you remove just one of the statements "AND substr(ename,1,2) = 'A'" the error will be shown.
    I'm using SQL Developer 1.1.0.21.97
    on Windows XP connected to
    Oracle 10.2.0.1.0 on Linux.
    I hope this will be resolved soon.
    Regards Arnoud
    CREATE OR REPLACE PACKAGE TEST_ERROR_MESSAGE AS
    PROCEDURE test;
    END TEST_ERROR_MESSAGE;
    CREATE OR REPLACE PACKAGE BODY TEST_ERROR_MESSAGE AS
    CURSOR c_test IS
    SELECT *
    FROM scott.emp
    WHERE substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    TYPE TestTabType IS TABLE OF NUMBER;
    TYPE TestRecType IS RECORD ( nr TestTabType_xxx );
    PROCEDURE test AS
    BEGIN
    htp.print('Hello world!');
    dbms_output.put_line('Hello world!');
    END test;
    END TEST_ERROR_MESSAGE;
    /

    There were 2 issues:
    1. Query from ALL_ERRORS were not ordering errors first.
    2. Highlight plugin (the one that does red and yellow squiggles) was issuing:
    ALTER SESSION SET PLSQL_WARNINGS = 'ENABLE:ALL'
    However, this statement manifested an RDBMS bug when the errors are suppressed and only warnings are present in ALL_ERRORS view. Here is SQL script evidencing the problem (assuming that package and body already created in the schema):
    ALTER SESSION SET PLSQL_WARNINGS = 'ENABLE:ALL';
    CREATE OR REPLACE PACKAGE BODY TEST_ERROR_MESSAGE AS
    CURSOR c_test IS
    SELECT *
    FROM scott.emp
    WHERE substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    AND substr(ename,1,2) = 'A'
    TYPE TestTabType IS TABLE OF NUMBER;
    TYPE TestRecType IS RECORD ( nr TestTabType_xxx );
    PROCEDURE test AS
    BEGIN
    htp.print('Hello world!');
    dbms_output.put_line('Hello world!');
    END test;
    END TEST_ERROR_MESSAGE;
    SELECT LINE, POSITION, text
    FROM SYS.ALL_ERRORS
    WHERE NAME = 'TEST_ERROR_MESSAGE'
    and text like 'PLS%';
    ALTER SESSION SET succeeded.
    PACKAGE BODY TEST_ERROR_MESSAGE Compiled.
    LINE POSITION TEXT
    0 rows selected
    Some other types of errors (for example not existing emp table) are not affected by this bug.
    Checked in fixes into 1.5.4 and 2.0.

  • Cannot build php-cgi package

    I need to build php-cgi with a certain compile option.
    After searching the Arch site, I decided that I needed to install ABS and modify the PKGBUILD file for php-cgi.
    I discovered that there is no php-cgi directory in /var/abs/..., so I looked in /var/abs/php/PKGBUILD. I found this at the beginning of PKGBUILD:
    pkgbase=php
    pkgname=('php'
             'php-cgi'
             [SNIP]...
             'php-xsl')
    So I tried: makepkg -d --pkg php-cgi
    (I had to add "-d" or the build would quit for dependencies that are not really necessary)
    I thought this would look the same as doing pacman -S php-cgi. But it was quite different.
    At first, makepkg tried to compile all the packages in the PKGBUILD file. It wanted me to install "dependencies" that I don't want. That's why I added the "-d" option.
    I got all kinds of messages that don't happen when I just run pacman. I had to install some packages that the simple pacman command didn't require (such as curl).
    Eventually it aborted with "cannot find enchant". I don't know where to go from here.
    So what am I doing wrong? How do I compile and install php-cgi without getting all the messages? Why do I have to turn off dependencies?

    oksofar wrote:
    I see that I should have posted this topic in the "PKGBUILDs & ABS Support" forum. I should probably remove it from this forum and repost.
    If so, how do I do that?
    thanks.
    Done

  • Ruby threads cannot be used in RubyCocoa without patches to the Ruby interp

    Hi,
    We are getting an error message while running the iTunes U work flow. We get this each time ithe work flow runs it seems. The error message is in the Podcast Producer error log. Here is the error message. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/ge ms/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run': Ruby threads cannot be used in RubyCocoa without patches to the Ruby interpreter
    How can I do this update or fix this problem please?
    Thank you,
    Chip

    Do this:
    http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard/
    You may have to compile ruby...(/usr/local/bin/*) like I did. This worked for me.
    If you already did this, everything will be groovy. Then if you are having trouble with mysql see this: http://hivelogic.com/articles/compiling-mysql-on-snow-leopard/

  • Pd0-ppu017 program unit source must define a  subprogram body  or package

    Hi
    Iam new to oracle l and trying to teach myself
    my problem is when I compile any function in program units of forms ,
    the following error message obtained:-
    pd0-ppu017 program unit source must define a subprogram body or package.
    for example this ready function that I have just copied ,pasted
    CREATE OR REPLACE FUNCTION TestTrig_body() RETURNS TRIGGER AS $$
    DECLARE
    v_TempRec temp_table%ROWTYPE;
    BEGIN
         INSERT INTO report_table(num_col, old_val, new_val)
              VALUES (NEW.num_col, OLD.char_col, NEW.char_col);
         RETURN NEW;
    END;
    what is the reason please?
    Windows OS
    Oracle 10g database
    oracle 6i developer
    regards

    VANPERSIE,
    It looks like you are mixing sytax. Some of the Syntax used in a Database trigger (such as Before Insert, After Insert, etc) is specific to database triggers. Referring to :NEW and :OLD are specific to database triggers and can't be used as you are using them, unless you have data blocks names NEW and OLD. Also, when you refer to a item in a block, you must prefix the block or item name with the colon ":". Also, as aweiden points out, you define your return data type as "TRIGGER". The return type of a Function must be a valid Oracle data type. Therefore, your function should return a BOOLEAN, NUMBER, VARCHAR, or even a Ref Cursor, just to name a few. From the looks of your code, your function would simply return a value to indicate that the INSERT was successful. Therefore, you could rewrite your function something like:
    CREATE OR REPLACE FUNCTION TESTTRIG_BODY() RETURNS BOOLEAN AS
    BEGIN
       /* This example assumes you have data blocks in your form called:  NEW_BLOCK and OLD_BLOCK. */
       INSERT INTO REPORT_TABLE
          (NUM_COL, OLD_VAL, NEW_VAL)
       VALUES
          (:NEW_BLOCK.NUM_COL, :OLD_BLOCK.CHAR_COL, :NEW_BLOCK.CHAR_COL);
       RETURN TRUE;
    EXCEPTION
       WHEN OTHERS THEN
          RETURN FALSE;
    END;Also, is there a particular reason you are manually INSERTing a record versus letting Oracle Forms handle this for you?
    Hope this helps.
    Craig...
    -- If my response or the response of another is helpful or answers your question please mark the response accordingly. Thanks!

  • [SOLVED] Cannot compile dvb drivers.

    Hi,
    I'm setting up a htpc media center based on arch with mythtv and xbmc. I've installed the base and base-devel packages and I need to compile the tbs-dvb-drivers to make my TBS 6280 DVB-T2 card work.
    Unfortunately I cannot compile the drivers as the compile process seems to enter in a loop, it continues to show the following output:
    TBS drivers configured for x86_64 platform.
    make -C /home/media/tbs-dvb-drivers/src/linux-tbs-drivers/v4l
    make[1]: ingresso nella directory "/home/media/tbs-dvb-drivers/src/linux-tbs-drivers/v4l"
    scripts/make_makefile.pl
    ./scripts/make_kconfig.pl /lib/modules/3.11.6-1-ARCH/build /lib/modules/3.11.6-1-ARCH/build
    Preparing to compile for kernel version 3.11.6
    ***WARNING:*** You do not have the full kernel sources installed.
    This does not prevent you from building the v4l-dvb tree if you have the
    kernel headers, but the full kernel source may be required in order to use
    make menuconfig / xconfig / qconfig.
    If you are experiencing problems building the v4l-dvb tree, please try
    building against a vanilla kernel before reporting a bug.
    Vanilla kernels are available at http://kernel.org.
    On most distros, this will compile a newly downloaded kernel:
    cp /boot/config-`uname -r` <your kernel dir>/.config
    cd <your kernel dir>
    make all modules_install install
    Please see your distro's web site for instructions to build a new kernel.
    ./scripts/make_myconfig.pl
    scripts/make_makefile.pl
    ./scripts/make_kconfig.pl /lib/modules/3.11.6-1-ARCH/build /lib/modules/3.11.6-1-ARCH/build
    Preparing to compile for kernel version 3.11.6
    ***WARNING:*** You do not have the full kernel sources installed.
    This does not prevent you from building the v4l-dvb tree if you have the
    kernel headers, but the full kernel source may be required in order to use
    make menuconfig / xconfig / qconfig.
    If you are experiencing problems building the v4l-dvb tree, please try
    building against a vanilla kernel before reporting a bug.
    Vanilla kernels are available at http://kernel.org.
    On most distros, this will compile a newly downloaded kernel:
    cp /boot/config-`uname -r` <your kernel dir>/.config
    cd <your kernel dir>
    make all modules_install install
    Please see your distro's web site for instructions to build a new kernel.
    ./scripts/make_myconfig.pl
    scripts/make_makefile.pl
    ./scripts/make_kconfig.pl /lib/modules/3.11.6-1-ARCH/build /lib/modules/3.11.6-1-ARCH/build
    Preparing to compile for kernel version 3.11.6
    ***WARNING:*** You do not have the full kernel sources installed.
    This does not prevent you from building the v4l-dvb tree if you have the
    kernel headers, but the full kernel source may be required in order to use
    make menuconfig / xconfig / qconfig.
    If you are experiencing problems building the v4l-dvb tree, please try
    building against a vanilla kernel before reporting a bug.
    Vanilla kernels are available at http://kernel.org.
    On most distros, this will compile a newly downloaded kernel:
    cp /boot/config-`uname -r` <your kernel dir>/.config
    cd <your kernel dir>
    make all modules_install install
    Please see your distro's web site for instructions to build a new kernel.
    ./scripts/make_myconfig.pl
    scripts/make_makefile.pl
    ./scripts/make_kconfig.pl /lib/modules/3.11.6-1-ARCH/build /lib/modules/3.11.6-1-ARCH/build
    Preparing to compile for kernel version 3.11.6
    I've waited up to 20 minutes, but the process seems stucked and the size of the folder doesn't grow up.
    It's true that I have just the kernel-headers installed. In addition make continues to warn me that the edit date of several files is newer than the actual. Initially the date of the system was wrong (but not older than the file's) but now I've fixed it with the correct date in UTC. The problem persists.
    I've also tried to compile from source directly but make enters into the same loop and gives me the same warnings.
    Thank you in advance for any kind of help.
    Regards.
    Last edited by fasigno (2013-11-03 21:40:00)

    First make sure you have the core-devel package group installed. This is required to build AUR package in general.
    Next, check to see if you have kernel-headers and v4l-utils installed? If not install them both and try again. I'm not sure if they are hard dependancies or not.
    EDIT: Sorry, I see you wrote that you installed core-devel and kernel-headers already. It looks like you may have a time zone and hardware clock sync problem. If you just installed arch, make sure the timezone and locale are correct and havn't been altered since you first installed your system. If that's all good, then install the AUR package cleanly from scratch again.
    Do you have NTP running?
    Last edited by wdirksen (2013-11-03 20:36:18)

  • Cannot compile arduino project

    Hi guys,
    I'm trying to work with arduino IDE, but I cannot compile even Blink example. I'm always seeing following error:
    /usr/share/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../avr/bin/ld: cannot find -lm
    Any ideas how I can fix it?

    Worked also for my Asus laptop!
    CoolGenie wrote:
    This works for me too. Thanks!
    kircul wrote:
    Solution was found in discussion in package arduino.
    In short words:
    You need to install package avr-gcc
    Replace build-in avr-gcc compiler by same from package installed on previous step:
    # cd /usr/share/arduino/hardware/tools/avr/bin
    # mv ./avr-gcc ./avr-gcc-backup
    # ln -s /usr/bin/avr-gcc ./
    It works for me.

  • Why we need specification and body in Packages

    Hi all
    Why we need specification and body in packages
    is Package body is not enough?
    It is an interview question asked
    How can I explain
    regds

    1. Package specification is the interface.
    Package body is the implementation or detail code.
    If one has built a package, he/she just need to publishs
    the interface without a need to publish the detail implementation, so it will simplify to end user by hiding the detail.
    2. Using only a Package body is identical to make separate subroutine. One pkg body will need one subroutine, if there are 10 pkgs body there will be 10 individual subroutine. Using package will give simplicity to manage the code, and also give speed in execution.

Maybe you are looking for