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
-
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.
ThanksThis 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!
QiTry something like:javac -d <destination directory> directory1/*.java directory2/*.java directory3/*.java
-
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 invalidThe 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,
DeborahHi,
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 AdvanceHi
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. -
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,
ChipDo 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
regardsVANPERSIE,
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
regds1. 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
-
SimCity 4 won't work with Parallels 4.0
I bought a new MacBook Pro (unibody construction) and installed Parallels 4.0 on it so I could play PC games like SimCity 4. After I successfully installed SM4, I tried to play it, and I kept getting an error message that said I don't have the right
-
Mp4/Mpeg videos not playing in Robohelp 9 preview
I have RH 9.02 installed on Windows 7 32bit. I'm able to embed captivate files without any problems. However, mp4 and mpeg files that I've inserted in preview won't play. They play perfectly fine outside of RH. When I try to play the mp4 file, it re
-
Someone else brought this up, and it made me investigate my harddrive further. I bought an 80 gig harddrive (though it's actual capacity is listed as 74.21 gigs ... I don't know enough to know if this is normal. I've been assuming it is). I'm using u
-
Does not shutdown, does not start up, wifi problems
Hi I've been unable to switch off my macbookpro by conventional means. when i press the power button, it doesnt give me the option to restart or shut off, and when i scroll down to shutdown and select it, nothing happens. the only way for me to switc
-
The apple id username and password is correct, just when i go to verify my account information it says the card number is wrong (set it up through itunes gift card)